Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Let's embed all non-package dependencies #499

Open
AnsisMalins opened this issue Oct 25, 2024 · 1 comment
Open

Let's embed all non-package dependencies #499

AnsisMalins opened this issue Oct 25, 2024 · 1 comment

Comments

@AnsisMalins
Copy link
Collaborator

Issue type: Development discussion

Problem or question to be solved

Currently, all dependencies that are not Unity packages are downloaded using a shell script. The developer has to remember to run this file manually. This is jank.

Suggested solution/s

Embed all such dependencies and add human readable instructions on how to update them, should the need ever arise. I do not believe we will update our dependencies often enough to warrant automation.

Your opinion on the topic

My mandate is to make it easy to contribute to the project. I think setting up the project should have just two steps: clone the repo, open the project in Unity Editor. I considered Git submodules, but they don't actually make things easier. Furthermore, the current shell script does more than just download the dependencies. I also do not like us depending on many repositories controlled by people we do not control. They could delete their repositories any time and then we would be screwed. I point to the npm drama in support of my case.

@achimmihca
Copy link
Collaborator

achimmihca commented Nov 1, 2024

I am happy with either solution:

or

  • Embed all dependencies in the repo, as you suggest
    • Just beware to not violate other projects licenses. For example, it might be needed to include a copy of their license text.

@basisbit what is your opinion on this?


FYI: I just found that the download-dependencies shell script is not working as intended on Linux (e.g. different line endings seems to make a difference).
But it's not worth to fix these, writing scripts in shell or bash is abhorrent to begin with.
These scritps were just a workaround for Unity's lack of proper dependency management.

Anyway, fixing the dependencies probably also fixes fix the CI pipeline.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants