MinecraftForge / ForgeGradle

Minecraft mod development framework used by Forge and FML for the gradle build system
GNU Lesser General Public License v2.1
522 stars 444 forks source link

setupDecompWorkspace :recompileMc FAILED #459

Closed wjg999 closed 4 years ago

wjg999 commented 6 years ago

Unsure whether this is due to personal error or built in code but when running setupDecompWorkspace the task :recompileMc will fail.

java version "1.8.0" Java(TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)

Latest version 1.12.2 - 14.23.0.2551 still has this problem for me.

Pastebin for log with --info --debug and --stacktrace: https://pastebin.com/w8fewsKK edit: ( Tried with what is now the latest 1.12.2 build and with the earliest 1.12 build both of which gave the same error, using the lastest 1.11.2 build successfully finishes the tasks. ) During recompileMc the following showed up as errors:

(all paths are an extension of build\tmp\recompileMc\sources\net\minecraftforge)

fml\common\Loader.java:249: error: no suitable method found for uniqueIndex(Set<ArtifactVersion>,ArtifactVe[...]Label)

fml\common\Loader.java:249: error: invalid method reference Map<String,ArtifactVersion> names = Maps.uniqueIndex(mod.getRequirements(), ArtifactVersion::getLabel); non-static method getLabel() cannot be referenced from a static context

fml\common\Loader.java:405: error: no suitable method found for uniqueIndex(List<ModContainer>,ModContain[...]ModId)

fml\common\Loader.java:405: error: invalid method reference namedMods = Maps.uniqueIndex(mods, ModContainer::getModId); non-static method getModId() cannot be referenced from a static context

fml\common\Loader.java:522: error: no suitable method found for uniqueIndex(List<ModContainer>,ModContain[...]ModId)

fml\common\Loader.java:522: error: invalid method reference namedMods = Maps.uniqueIndex(mods, ModContainer::getModId); non-static method getModId() cannot be referenced from a static context

Loader.java:642: error: no suitable method found for transformValues(Map<String,String>,Boolean::p[...]olean)

client\model\b3d\B3DModel.java:479: error: in compatible types: inference variable K has incompatible bounds

client\model\b3d\B3DModel.java:480: error: in compatible types: inference variable K has incompatible bounds

common\model\animation\AnimationStateMachine.java:96: error: incompatible types: no instance(s) of type variable(s) E exist so that HashSet<E> conforms to ? extends Set<V> this(parameters, clips, states, ImmutableMultimap.copyOf(Multimaps.newSetMultimap(Maps.transformValues(transitions, ImmutableSet::of), Sets::newHashSet)), startState);

common\model\animation\AnimationStateMachine.java:94: error: recursive constructor invocation

registries\GameData.java:539: error: incompatible types: inferred type does not conform to upper bound(s)

registries\GameData.java:573: error: incompatible types: inferred type does not conform to upper bound(s)

registries\GameData.java:644: error: incompatible types: inferred type does not conform to upper bound(s)

There are also many warnings for a missing annotation method value() in com/go ogle/common/collect/ classes.

For more details see pastebin.

pau101 commented 6 years ago

Do you still experience this issue @wjg999? I've just observed it myself.

wjg999 commented 6 years ago

@pau101 Still experiencing the same issue with version 1.12.2 - 14.23.1.2604

LexManos commented 6 years ago

Interesting, everything you've put as a error is valid java. Try updating your JDK 135 is kinda old. Also your line numbers don't match up with what they should be. (249 should be 247) So, not quite sure whats going on there.

wjg999 commented 6 years ago

@LexManos Thanks to that comment I updated java once again, had the same issue, checked the --info output, noticed it was still linked to an older version of java. aka. I am an idiot for forgetting to set JAVA_HOME to the latest version. Thanks for the help and sorry for the troubles.

Barteks2x commented 6 years ago

Is JAVA_HOME actually a thing people have to set? I've never did, I always relied on the right java being in PATH.

wjg999 commented 6 years ago

I had bothCLASSPATHand PATH set to the newest 1.8.0_161 but it seemed to still be referring to the JAVA_HOME 1.8.0 when I used gradlew SetupDecompWorkspace --info

Barteks2x commented 6 years ago

I usually don't have JAVA_HOME set at all. Despite all automated tools asking you to set JAVA_HOME, usually the right thing to do is fixing your PATH

DaemonUmbra commented 4 years ago

Closing this issue as it does not appear to be applicable to the currently supported ForgeGradle branch (FG_3.0).

If I am incorrect in this regard, please create a new issue prefixed with [FG_3.0] and containing:

Note that an ongoing effort to update legacy MinecraftForge branches to utilize FG_3.0 is ongoing and accepting informed contributions. (For more information join the Discord and read through the #mcpconfig channel)