diff --git a/legacytest/build.gradle b/legacytest/build.gradle index b537b4b9..36199b44 100644 --- a/legacytest/build.gradle +++ b/legacytest/build.gradle @@ -3,6 +3,10 @@ plugins { id 'net.neoforged.moddev.legacyforge' } +repositories { + maven {url = "https://maven.minecraftforge.net"} +} + group = 'com.example.legacy' version = '1.0.0' @@ -13,7 +17,11 @@ java { } legacyForge { - mcpVersion = '1.19.2' + //mcpVersion = '1.20.6' + enable { + mcpVersion = "1.20.6" + disableRecompilation = true + } } publishing { diff --git a/legacytest/froge12005/build.gradle b/legacytest/froge12005/build.gradle new file mode 100644 index 00000000..e6e322dc --- /dev/null +++ b/legacytest/froge12005/build.gradle @@ -0,0 +1,65 @@ +plugins { + id 'net.neoforged.moddev.legacyforge' + id 'maven-publish' +} + +repositories { + maven { + name = "Jared's maven" + url = "https://maven.blamejared.com/" + } + maven { + name 'cursemaven' + url 'https://cursemaven.com' + content { + includeGroup "curse.maven" + } + } +} + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } +} + +dependencies { + // modCompileOnly('mezz.jei:jei-1.20.1-forge:15.17.0.76') + // modRuntimeOnly('curse.maven:mekanism-268560:5662583') + // modImplementation('curse.maven:applied-energistics-2-223794:5641282') + // jarJar('curse.maven:applied-energistics-2-223794:5641282') + jarJar(project(':nonmc')) +} + +legacyForge { + enable { + forgeVersion = "1.20.6-50.2.8" + disableRecompilation = true + } + runs { + client { + client() + } + data { + data() + } + } + mods { + myMod { + sourceSet(sourceSets.main) + } + } +} + +publishing { + publications { + maven(MavenPublication) { + from components.java + } + } + repositories { + maven { + url rootProject.file('repo') + } + } +} diff --git a/legacytest/froge12005/src/main/java/help/Test.java b/legacytest/froge12005/src/main/java/help/Test.java new file mode 100644 index 00000000..c1f43200 --- /dev/null +++ b/legacytest/froge12005/src/main/java/help/Test.java @@ -0,0 +1,5 @@ +package help; + +public class Test { + public static void main(String [] args) {} +} diff --git a/legacytest/settings.gradle b/legacytest/settings.gradle index 912cdaf9..3c38dc62 100644 --- a/legacytest/settings.gradle +++ b/legacytest/settings.gradle @@ -5,6 +5,6 @@ plugins { includeBuild '..' -include 'forge' -include 'forgedownstream' +include 'froge12005' +//include 'forgedownstream' include 'nonmc' diff --git a/src/legacy/java/net/neoforged/moddevgradle/legacyforge/internal/LegacyForgeModDevPlugin.java b/src/legacy/java/net/neoforged/moddevgradle/legacyforge/internal/LegacyForgeModDevPlugin.java index a3f7ef17..bbedd5df 100644 --- a/src/legacy/java/net/neoforged/moddevgradle/legacyforge/internal/LegacyForgeModDevPlugin.java +++ b/src/legacy/java/net/neoforged/moddevgradle/legacyforge/internal/LegacyForgeModDevPlugin.java @@ -167,19 +167,19 @@ public void enable(Project project, LegacyForgeModdingSettings settings, LegacyF var obf = ExtensionUtils.getExtension(project, OBFUSCATION_EXTENSION, ObfuscationExtension.class); // We use this directory to store intermediate files used during moddev - var namedToIntermediate = artifacts.requestAdditionalMinecraftArtifact("namedToIntermediaryMapping", "namedToIntermediate.tsrg"); - obf.getNamedToSrgMappings().set(namedToIntermediate); - var intermediateToNamed = artifacts.requestAdditionalMinecraftArtifact("intermediaryToNamedMapping", "intermediateToNamed.srg"); - var mappingsCsv = artifacts.requestAdditionalMinecraftArtifact("csvMapping", "intermediateToNamed.zip"); - obf.getSrgToNamedMappings().set(mappingsCsv); + // var namedToIntermediate = artifacts.requestAdditionalMinecraftArtifact("namedToIntermediaryMapping", "namedToIntermediate.tsrg"); + // obf.getNamedToSrgMappings().set(namedToIntermediate); + //var intermediateToNamed = artifacts.requestAdditionalMinecraftArtifact("intermediaryToNamedMapping", "intermediateToNamed.srg"); + //var mappingsCsv = artifacts.requestAdditionalMinecraftArtifact("csvMapping", "intermediateToNamed.zip"); + //obf.getSrgToNamedMappings().set(mappingsCsv); extension.getRuns().configureEach(run -> { // Old BSL versions before 2022 (i.e. on 1.18.2) did not export any packages, causing DevLaunch to be unable to access the main method run.getJvmArguments().addAll("--add-exports", "cpw.mods.bootstraplauncher/cpw.mods.bootstraplauncher=ALL-UNNAMED"); // Mixin needs the intermediate (SRG) -> named (Mojang, MCP) mapping file in SRG (TSRG is not supported) to be able to ignore the refmaps of dependencies - run.getSystemProperties().put("mixin.env.remapRefMap", "true"); - run.getSystemProperties().put("mixin.env.refMapRemappingFile", intermediateToNamed.map(f -> f.getAsFile().getAbsolutePath())); + //run.getSystemProperties().put("mixin.env.remapRefMap", "true"); + //run.getSystemProperties().put("mixin.env.refMapRemappingFile", intermediateToNamed.map(f -> f.getAsFile().getAbsolutePath())); run.getProgramArguments().addAll(mixin.getConfigs().map(cfgs -> cfgs.stream().flatMap(config -> Stream.of("--mixin.config", config)).toList())); }); @@ -193,8 +193,8 @@ public void enable(Project project, LegacyForgeModdingSettings settings, LegacyF } // Forge expects the mapping csv files on the root classpath - artifacts.runtimeDependencies() - .getDependencies().add(project.getDependencyFactory().create(project.files(mappingsCsv))); + // artifacts.runtimeDependencies() + // .getDependencies().add(project.getDependencyFactory().create(project.files(mappingsCsv))); var remapDeps = project.getConfigurations().create("remappingDependencies", spec -> { spec.setDescription("An internal configuration that contains the Minecraft dependencies, used for remapping mods"); diff --git a/src/main/java/net/neoforged/moddevgradle/internal/PrepareRunOrTest.java b/src/main/java/net/neoforged/moddevgradle/internal/PrepareRunOrTest.java index 116bb72f..9215c9cb 100644 --- a/src/main/java/net/neoforged/moddevgradle/internal/PrepareRunOrTest.java +++ b/src/main/java/net/neoforged/moddevgradle/internal/PrepareRunOrTest.java @@ -260,14 +260,14 @@ private void writeJvmArguments(UserDevRunType runConfig, Map add lines.add(RunUtils.escapeJvmArg("-Dlog4j2.configurationFile=" + log4jConfigFile.getAbsolutePath())); } - for (var prop : runConfig.props().entrySet()) { - var propValue = prop.getValue(); - if (propValue.equals("{minecraft_classpath_file}")) { - propValue = getLegacyClasspathFile().getAsFile().get().getAbsolutePath(); - } - - addSystemProp(prop.getKey(), propValue, lines); - } +// for (var prop : runConfig.props().entrySet()) { +// var propValue = prop.getValue(); +// if (propValue.equals("{minecraft_classpath_file}")) { +// propValue = getLegacyClasspathFile().getAsFile().get().getAbsolutePath(); +// } +// +// addSystemProp(prop.getKey(), propValue, lines); +// } additionalProperties.putAll(getSystemProperties().get()); diff --git a/src/main/java/net/neoforged/nfrtgradle/CreateMinecraftArtifacts.java b/src/main/java/net/neoforged/nfrtgradle/CreateMinecraftArtifacts.java index d9f9eb54..4ebd56a8 100644 --- a/src/main/java/net/neoforged/nfrtgradle/CreateMinecraftArtifacts.java +++ b/src/main/java/net/neoforged/nfrtgradle/CreateMinecraftArtifacts.java @@ -2,6 +2,7 @@ import java.io.File; import java.io.IOException; +import java.net.URI; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; @@ -393,7 +394,11 @@ public void createArtifacts() { args.add("--problems-report"); args.add(problemsReport.getAbsolutePath()); + args.add("--add-repository"); + args.add("https://maven.minecraftforge.net/"); + try { + getLogger().error("{}", args); run(args); } finally { reportProblems(problemsReport);