-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Gradlew desktop:run failing due to invalid code in same place regardless of version #648
Comments
Mindustry automatically pulls the latest version of Arc for convenience, which may not be compatible with the version you are trying to build. For reliable compilation, you must clone the version of Arc used at release time (this one) and place it in the same subfolder that Mindustry is in. |
do i have to rename arc from "Arc-a26c5e32ec3be31001e7a9e9756046e89d2b5a8b" to "Arc"? i would assume i have to but not sure |
The folder? No, it should always be Arc. |
ok, just making sure, downloading the commit gives me Arc with the commit id on the end, so i was wondering if i should leave it like that or rename it to just Arc Edit: does arc go in /mindustry/core/src/io/anuke/mindustry/ or just /mindustry/ |
testing in both locations still yields the same error |
Place it in the same subfolder that Mindustry is in. Not inside Mindustry. |
ok |
That's not the correct folder. You put it inside the Mindustry folder, instead of next to it. |
So In the core folder? |
No, you put Arc in the same folder that Mindustry is. Not in the Mindustry folder, but next to it. So if Mindustry is in Documents, you would put Arc in Documents as well. |
Isn't the real issue here that Mindustry's build system is pulling the latest version of a dependency, instead of specifying which version / commit it works with, and pulling only that? What is the process of finding the appropriate Arc commit that Mindustry is able to compile with? Say, if you wanted to build old releases of the game to find out how it has changed over the years. Or in some rare cases just want to build the latest release from source. |
Ok, now I know where to put it. Will test tonight |
@copygirl Initially, I manually specified the version of Arc that was used for each version of Mindustry, but that was quite annoying and lead to a lot of unnecessary errors. Arc is updated very often; every new commit, I would have to change its dependency in Mindustry. Sometimes I would forget, which lead to unpredictable build errors for others. This is why the current system is in place. To specify the right version of Arc to use, generally you would look for the last commit made before the Mindustry commit, then either specify the commit hash in Gradle or clone the repo and put it next to Mindustry. I haven't put much thought into this yet, but a possible alternative to fetching the latest version would be to run a local script each commit to update the Arc dependency. |
one way to solve this problem is to have a script checking when arc updates then find that commit hash, and use it to update a file with the hash, and make mindustry read the has inside of that file, then download that commit, preventing breaking and allowing you to continue updating arc, and because when you do a release, the hash for that release of mindustry would stay the same, you would have no problems . |
Implemented a commit hook as part of b1edaa1. |
i am attempting to build my own version of the game (testing for modded versions, this happened during my initial run before i mod stuff, however i receive this error, regardless of build.:
Anybody know what could be causing this? i have tried re downloading, tried most 4.0 builds to no avail. this was not a problem and suddenly became one, it started when i tested a build with invalid block code, when i fixed it the problem persisted.
The text was updated successfully, but these errors were encountered: