Skip to content
This repository has been archived by the owner on May 26, 2018. It is now read-only.

Update to ASM5 for Java 8 support #595

Merged
merged 1 commit into from Jan 31, 2015
Merged

Update to ASM5 for Java 8 support #595

merged 1 commit into from Jan 31, 2015

Conversation

Grinch
Copy link
Contributor

@Grinch Grinch commented Jan 29, 2015

SpecialSource updated ASM5 and ForgeGradle supports ASM5 as well but neither FML or Forge were actually updated to support ASM5 opcodes. This commit resolves this.

Signed-off-by: Steven Downer grinch@outlook.com

SpecialSource updated ASM5 and ForgeGradle supports ASM5 as well but
neither FML or Forge were actually updated to support ASM5 opcodes. This
commit resolves this.

Signed-off-by: Steven Downer <grinch@outlook.com>
@diesieben07
Copy link
Contributor

#550 :(

@immibis
Copy link
Contributor

immibis commented Jan 30, 2015

Because using Java 1.8 is stupid, apparently.

@asiekierka
Copy link

Minecraft doesn't target it. Except the new launcher does. Except it's not out yet.

@diesieben07
Copy link
Contributor

It is out. And Mojang is starting to push people.

@TechStack
Copy link

Also this on java 8 today from Dinnerbone: https://twitter.com/Dinnerbone/status/561096484981334016.

@LexManos
Copy link
Member

My reasoning still stands, it would require them a new Minecraft version to FORCE java 8 requirement. As such I do not want to ACTIVELY ENCOURAGE modders to preemptively REQUIRE java 8 by doing this.
Once java 8 is required by Vanilla itself I fully intend on pulling this. (Or something similar).

Unless someone wants to go through and write an additional transformer here that prevents loading of mods that use java8 bytecode and throws a giant warning saying that they are using java 8 to early. Which I can remove in MC 1.9/1.10 when java 8 is the standard.

At this point in time, any mod that is affected by this is considered a bug in the mod itself, not in Forge.
We have a very strict platform and compatibility level set forth to us by Mojang. We as modders must follow it.

To sumup:
Is Java 8 Awesome? Yes
Do I wish I could use Java 8 in Forge? Yes
Can we FORCE people to use JRE 8? No
Should we encourage modders to FORCE JRE 8? No.

@Kubuxu
Copy link

Kubuxu commented Jan 30, 2015

Should we allow modders to use Java 8? Yes??

@LexManos
Copy link
Member

No, allowing them to use java 8 forces me to actively support their end users who are having crashes because they are targeting java 8. There is nothing in java 8 that can not be emulated by java 6/7. It just provides a bit of cleaner interface.

@HybridEidolon
Copy link

You can use Java 8 lambdas in Java 7 using RetroLambda, if that suits your fancy. You won't have access to JDK8 API, obviously.

@immibis
Copy link
Contributor

immibis commented Jan 31, 2015

I'm guessing the difference between allowing mods to require Java 8, and allowing mods to require Scala, is that the Scala libraries are redistributable and can be automatically downloaded.

@matthewprenger
Copy link
Contributor

I agree with everyone else. Modders should have the ability to target Java 8 if they wish to.

@asiekierka
Copy link

I disagree. Lex has a point here. (However, the Java 7 dependency issue was solved by mods like Java7Checker, which HEE and a few other Java 7 dependants relied on - why not make it so that if a Java 8-using mod is detected, it makes a warning message telling the user to either upgrade or use Mojang's new launcher, which is exactly what Mojang is doing?)

However, this makes modders who are making mods with a long-term plan somewhat limited. But we're an edge case, and we have solved that edge case for private development.

(Also, RetroLambda doesn't solve defaults in interfaces.)

@LexManos
Copy link
Member

You know what i'm sick of it. New rule anyone who asks for java 8 help is instantly banned from EVERY FUCKING THING related to Forge.
Asiekaerka you're bullshit 'lets transform Forge because I want to be a special little snowflake and screw people over' is getting really god damn annoying.

LexManos added a commit that referenced this pull request Jan 31, 2015
Update to ASM5 for Java 8 support, IF ANYONE MAKES A MOD THAT REQUIRES JAVA8 BEFORE MINECRAFT FORCES IT ALL USERS REQUESTING SUPPORT WILL BE BANNED FROM ALL FORGE RELATED SERVICES.
@LexManos LexManos merged commit 1112c45 into MinecraftForge:master Jan 31, 2015
@asiekierka
Copy link

@LexManos - No. It's for private development.

NOVA is slated for release in Summer 2015. We want to develop it SOMEHOW until then. I think this was a much better way to do so than forking Forge into a private repository to fix it.

@LexManos
Copy link
Member

Private development my ass, public repo advocating fucking around in Forge internals IS NOT PRIVATE.
Seriously if there was a feasible way to prevent you guys from having that ability then I would do it, sadly Its not worth the futile effort and cat/mouse game to try and prevent you guys from doing it. Only recourse I have is to show how fuckling pissed off I am when you do it.

Now I have to spend more time porting this to the 1.8 branch, and then dealing with anything else that pulls in that api.
As well as the countless hours this introduces of modders who think its okay to FORCE java 8 and require me to support their damn users.

@asiekierka
Copy link

@LexManos - It's only public because I can't shell out the money for a big enough GitHub private repo, and I like GitHub.

I planned to remove it for the far off public release, this was only so we could actually test the Java 8-dependent API before release. We did not want to release it publicly with this hack in, this was PURELY for development reasons.

Otherwise, we wouldn't be able to prepare for the day Forge DOES allow Java 8, and that's not good at all - it would introduce a very long delay in development.

@LexManos
Copy link
Member

No actually it wouldn't There are plenty of ways to emulate the systems you want from java 8 without forcing java 8. So you could easily develop whatever the hell you want targeting java 6/7.
But no you guys have to fucking take it upon yourself to hack into FML because you feel like being special instead of putting forward the effort to work within the constraints of the current Minecraft platform.

I still can't understand how people find it so hard, LESS than 1/2 of the users of Minecraft use java 8, Forcing java 8 means you alienate OVER 1/2 of the users... seriously how is this a good idea?

I would LOVE to re-write a lot of the shit in Forge to take advantage of some of the Java 8 features such as default implementations but I can't Because Minecraft doesn't target 8. Its a simple concept, how am I the only one who see it...

As for these damn PRs bitching about it, at least do the PRs correctly and target the current branches but no, I have to go in and do all that shit. I just hate the fact that nobody seems to understand that doing this crap right now just means tons of hours spent on support that could be saved by waiting for the next minecraft version -.-

Seriously this PR was against the main branch which is LEGACY CODE 1.8 is the current version you're wanting to FORCE java 8 on 1.7.10.... How do you think that is gunna work out for you?

@MinecraftForge MinecraftForge locked and limited conversation to collaborators Jan 31, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants