Open RaKXeR opened 4 years ago
OK I don't understand what happened once again, but it seems to work now.
After trying a bunch of things, and checking the directory again, the output.jar was indeed missing. I copied the one from 1.15.1 to the 1.15.2 and it compiled. I found it weird so I deleted the 1.15.2 cache folder and ran it again. the folder wasn't recreated but the build was still successful. So yeah, I don't know what was broken or how it was fixed but somehow it is...
That is pretty odd... one thing to note is that processBasePatches
doesn't directly depend on that jar, but instead on a jar that's created from that jar later on. Once it creates the final jar, it doesn't need the patch jar. (I think it might actually delete the patch jar after completing everything that it depends on). Note that the patch jar is actually part of regular ForgeGradle (containing Minecraft code with compile errors fixed), though processBasePatches
is part of BEGradle (dealing with src/main/base
stuff).
The Hunk #1 Failed: Cannot find hunk target
message refers to it attempting to apply the patch (a hunk is one section of code changed in a patch, marked by the @@@
bits); by its position that's likely related to the ForgeGradle patch jar not being generated. You'd need to run with --info
to get more details on which one failed, though (and it's probably not going to happen consistently). BEGradle may still be at fault, though, since I make changes to the list of patches itself (due to some multi-version compatibility stuff breaking existing patches).
I've pushed a mapping update just now (no actual code changes from it, but I like to keep up-to-date and it requires going through some of the FG setup process again), so try building again and see if it builds successfully.
Thanks for the reply. As I mentioned after working once it seems to work flawlessly now, and I spent 5h trying to fix this ghost issue today, so I think I'll call it there xD. While trying to fix things I restarted my pc, that may have been involved (maybe some file had been locked for some reason).
The reason I was doing this in the first place was because I was having some issues with villagers like as was reported for 1.16, but it was on 1.15. Clearly I didn't try enough times because the 2nd time I tried saving the world the villagers were saved properly. Oh well... honestly I haven't looked at mod making since 2013 but this mod of yours is really impressive for me. Being able to support all of these versions together like this + the amount of features you have... awesome stuff! Thanks for making this mod happen.
This may be related , Poke , I wont open a separate issue . Here is the Gradle build log . I pulled the updates September 28 2020 . It wont build wdl gradle log.zip
That looks like it might be this same issue; can you try running gradlew build --info
so that I can see which patch file is failing?
here is a fresh log
OK, huh, this does seem to be an issue. For version compatibility, I rename Vec3d
to Vector3d
, which interferes with a patch to Particle
(which fixes some kind of decompile error with NaN
in the development environment). That patch exists in 1.14.3 and 1.14.4, and I have my own tweaked version of it. It looks like a 1.15.2 version of it was also added later on (MinecraftForge/MCPConfig@bf75bfb48d96a3e49f1dd4c31d5166703a05ac52) a few months after 1.15.2 was added. I guess I've been using the older version locally (and ForgeGradle didn't redownload it), while other people have been getting the new version with that patch.
I've added a replacement patch for that to 1.15.2, so this should be fixed now.
it compililed up to 1.12.2 . 1.13 and beyond failed the tests . trying again with , gradlew setupdecompworkspace build -x test
gradlew setupdecompworkspace build -x test , compile completed .
Based on those logs, the 1.13 base patches weren't applied (I don't see processBasePatches
for 1.13 in it). The tests caught that, but if you actually tried to run the 1.13 build with the skipped tests it wouldn't work since the missing base changes wouldn't load the mod.
Specifically it seems that the various compilation tasks didn't depend on processBasePatches
in 1.13.0, 1.13.1, 1.13.2, and 1.14.0. 1.14.0 was related to some kind of vanilla recompilation bug (now fixed) that always running processBasePatches
made worse, and I guess the 1.13 versions had the same issue since I based it on the 1.14.0 build file. That should now be fixed.
I probably didn't run into that issue myself since I often manually run generateBasePatches
and applyBasePatches
after updating mapping versions, so 1.13.x and 1.14.0 would already have the patched code when I did a normal build.
compile is fixed
While running
gradlew setupDecompWorkspace build
(After building begradle), I get the following error:Setting up MCP environment Initializing steps Executing steps
FAILURE: Build failed with an exception.
What went wrong: Could not determine the dependencies of task ':1.15.2:processBasePatches'.
Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/4.9/userguide/command_line_interface.html#sec:command_line_warnings
I don't really understand what's going on, I checked and the file they say is missing is actually there, but earlier in the log it says
Hunk #1 Failed: Cannot find hunk target
, no idea what a hunk is. Lots of people seem to have had hunk target issues with ForgeGradle overtime, but since your project uses BEGradle I have no idea how I could even look into something like that. Any ideas?