Maven no longer work for 1.12.2?
LemADEC opened this issue ยท 5 comments
Since a few days, I can no longer compile with dependencies on EnderCore with gradle as Maven can't find the deobf for EnderCore.
Gradle 4.10.2
ForgeGradle 2.3
gradlew build
> Configure project :
This mapping 'stable_39' was designed for MC 1.12! Use at your own peril.
> Task :compileJava
...
> Task :extractRangemapReplacedMain
C:\_mcdev\_sandbox\_mods\Cyberware\build\sources\main\java
> Task :retromapReplacedMain
remapping source...
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.10.2/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 36s
17 actionable tasks: 14 executed, 3 up-to-date
C:\_mcdev\_sandbox\_mods\Cyberware>gradlew build
Starting a Gradle Daemon, 4 incompatible Daemons could not be reused, use --status for details
> Configure project :
This mapping 'stable_39' was designed for MC 1.12! Use at your own peril.
#################################################
ForgeGradle 2.3-SNAPSHOT-7764e3e
https://github.com/MinecraftForge/ForgeGradle
#################################################
Powered by MCP
http://modcoderpack.com
by: Searge, ProfMobius, R4wk, ZeuX
Fesh0r, IngisKahn, bspkrs, LexManos
#################################################
> Task :compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all files for configuration ':compileClasspath'.
> Could not find deobf.com.enderio.core:EnderCore:1.12.2-0.5.65.
Searched in the following locations:
...
- https://jitpack.io/deobf/com/enderio/core/EnderCore/1.12.2-0.5.65/EnderCore-1.12.2-0.5.65.pom
- https://jitpack.io/deobf/com/enderio/core/EnderCore/1.12.2-0.5.65/EnderCore-1.12.2-0.5.65.jar
...
- https://minecraft.curseforge.com/api/maven/deobf/com/enderio/core/EnderCore/1.12.2-0.5.65/EnderCore-1.12.2-0.5.65.pom
- https://minecraft.curseforge.com/api/maven/deobf/com/enderio/core/EnderCore/1.12.2-0.5.65/EnderCore-1.12.2-0.5.65.jar
- http://maven.tterrag.com/deobf/com/enderio/core/EnderCore/1.12.2-0.5.65/EnderCore-1.12.2-0.5.65.pom
- http://maven.tterrag.com/deobf/com/enderio/core/EnderCore/1.12.2-0.5.65/EnderCore-1.12.2-0.5.65.jar
- http://maven2.tterrag.com/deobf/com/enderio/core/EnderCore/1.12.2-0.5.65/EnderCore-1.12.2-0.5.65.pom
- http://maven2.tterrag.com/deobf/com/enderio/core/EnderCore/1.12.2-0.5.65/EnderCore-1.12.2-0.5.65.jar
Required by:
project : > com.enderio:EnderIO:1.12.2-5.0.49
...
BUILD FAILED in 30s
5 actionable tasks: 4 executed, 1 up-to-date
The "deobf." one is the one that setupDecompWorkspace creates. You need to run it again every time a "deobfCompile" dependency changes.
gradlew setupDecompWorkspace
executes successfully, but the build still fails.
I've tried the clean
task and purging the temporary build folders, but it still fails to find those files.
I've found a workaround by removing the reference to EnderIO, then running setupDecompWorkspace
to fill my local cache with EnderCore, then adding back the EnderIO reference, then running another setupDecompWorkspace
, then I can build my project...
Depending on both EC and EIO should fix the problem. Set EIO to transitive = false
too.
They were both declared as dependency, with EnderCore first, like so:
provided "com.enderio.core:EnderCore:${mc_version}-${endercore_version}:core"
provided "com.enderio:EnderIO:${mc_version}-${enderio_version}"
provided "info.loenwind.autoconfig:AutoConfig:${mc_version}-1.0.2"
//Given we are only compiling EnderCore we also need a reference to auto save
provided "info.loenwind.autosave:AutoSave:${mc_version}-1.0.10"
It decided to go deobf for some reason, so I've changed it to deobCompile which fails without setting transitive to false on EnderIO.
I've removed the apparently useless references to AutoConfig and AutoSave.
This give this updated version which still works after clearing repository and gradle caches:
deobfCompile "com.enderio.core:EnderCore:${mc_version}-${endercore_version}:core"
deobfCompile("com.enderio:EnderIO:${mc_version}-${enderio_version}") {
transitive = false
}
Thanks for the help!