Skip to content
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

Support Legacy Forge versions for loom 1.2 #138

Draft
wants to merge 15 commits into
base: dev/1.2
Choose a base branch
from

Conversation

Jab125
Copy link
Member

@Jab125 Jab125 commented Jun 12, 2023

strongly based off of #70

@@ -128,7 +128,7 @@ protected LoomGradleExtensionApiImpl(Project project, LoomFiles directories) {
.convention(project.provider(() -> !isForge()));
this.modProvidedJavadoc.finalizeValueOnRead();
this.intermediary = project.getObjects().property(String.class)
.convention("https://maven.fabricmc.net/net/fabricmc/intermediary/%1$s/intermediary-%1$s-v2.jar");
.convention(true ? "https://maven.legacyfabric.net/net/legacyfabric/v2/intermediary/%1$s/intermediary-%1$s-v2.jar" : "https://maven.fabricmc.net/net/fabricmc/intermediary/%1$s/intermediary-%1$s-v2.jar");

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"true"??

Copy link
Member

@shedaniel shedaniel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some primitive reviews and lots of checkstyle violations (you don’t have to fix them)

i hope to work on this myself as there are a lot of things i wanted this to be done another way

does this enable support for even older versions like 1.8.9?

@@ -84,6 +84,8 @@ dependencies {
implementation ('org.ow2.asm:asm-tree:9.5')
implementation ('org.ow2.asm:asm-util:9.5')
implementation ('me.tongfei:progressbar:0.9.0')
implementation 'com.github.jponge:lzma-java:1.3'
runtimeOnly 'dev.architectury.architectury-pack200:dev.architectury.architectury-pack200.gradle.plugin:0.1.3'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would not want this to be applied by default, pack200 is GPL

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GPL with the classpath exception (same as OpenJDK), no? So it shouldn't be a problem to my knowledge.

@@ -173,4 +173,12 @@ default ForgeProvider getForgeProvider() {

ForgeRunsProvider getForgeRunsProvider();
void setForgeRunsProvider(ForgeRunsProvider forgeRunsProvider);

default boolean isLegacyForge() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would want to have old forge as a different platform all together, can’t believe there are much code to share anyways

@@ -168,6 +168,7 @@ public static void executeAt(Project project, Path input, Path output, AccessTra
args.add(output.toAbsolutePath().toString());

configuration.apply(args);
project.getLogger().info(args.toString());
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove

Files.delete(fs.get().getPath("binpatches.pack.lzma"));
}

// Older versions of Forge rely on utility classes from log4j-core 2.0-beta9 but we'll upgrade the runtime to a
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would need to revisit this

@@ -128,7 +128,7 @@ protected LoomGradleExtensionApiImpl(Project project, LoomFiles directories) {
.convention(project.provider(() -> !isForge()));
this.modProvidedJavadoc.finalizeValueOnRead();
this.intermediary = project.getObjects().property(String.class)
.convention("https://maven.fabricmc.net/net/fabricmc/intermediary/%1$s/intermediary-%1$s-v2.jar");
.convention(true ? "https://maven.legacyfabric.net/net/legacyfabric/v2/intermediary/%1$s/intermediary-%1$s-v2.jar" : "https://maven.fabricmc.net/net/fabricmc/intermediary/%1$s/intermediary-%1$s-v2.jar");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are not going to depend on legacy fabric. Loom has an option to not use intermediary at all

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if there is something else broken or I was just using it incorrectly but when I tried to use that one it just didn't remap the classes at all.
I ended up just using generated intermediate mappings again in my port attempt: dev/1.2...EssentialGG:architectury-loom:tmp/1.2#diff-20b5dff527819597ac32d1c18d1037df3b26e7c5efcd91c742c4875d217c2d86

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can confirm it's broken

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants