From 6b59f9cc59c1de975e8d0cb566b414936bbc9c7c Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Sun, 5 Aug 2018 21:45:54 +0100 Subject: [PATCH] Remove a bunch of stuff + update to support modlauncher --- build.gradle | 19 +- gradle/wrapper/gradle-wrapper.jar | Bin 54329 -> 54413 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- .../net/fabricmc/loom/AbstractPlugin.java | 37 +- .../fabricmc/loom/LoomGradleExtension.java | 1 - .../loom/mixin/MixinMappingProviderTiny.java | 144 -------- .../loom/mixin/MixinMappingWriterTiny.java | 75 ----- .../loom/mixin/MixinServiceGradle.java | 77 ----- .../mixin/ObfuscationEnvironmentFabric.java | 51 --- .../loom/mixin/ObfuscationServiceFabric.java | 75 ----- .../loom/task/GenIdeaProjectTask.java | 8 +- .../net/fabricmc/loom/task/MapJarsTask.java | 2 +- .../fabricmc/loom/task/ProcessModsTask.java | 6 +- .../net/fabricmc/loom/task/RunClientTask.java | 2 +- .../net/fabricmc/loom/task/RunServerTask.java | 4 +- .../net/fabricmc/loom/util/Constants.java | 1 - .../util/proccessing/MixinDevRemapper.java | 75 ----- .../loom/util/proccessing/MixinPrebaker.java | 317 ------------------ .../loom/util/proccessing/PreBakeMixins.java | 53 --- ...rg.spongepowered.asm.service.IMixinService | 1 - ...ls.obfuscation.service.IObfuscationService | 1 - 21 files changed, 16 insertions(+), 936 deletions(-) delete mode 100644 src/main/java/net/fabricmc/loom/mixin/MixinMappingProviderTiny.java delete mode 100644 src/main/java/net/fabricmc/loom/mixin/MixinMappingWriterTiny.java delete mode 100644 src/main/java/net/fabricmc/loom/mixin/MixinServiceGradle.java delete mode 100644 src/main/java/net/fabricmc/loom/mixin/ObfuscationEnvironmentFabric.java delete mode 100644 src/main/java/net/fabricmc/loom/mixin/ObfuscationServiceFabric.java delete mode 100644 src/main/java/net/fabricmc/loom/util/proccessing/MixinDevRemapper.java delete mode 100644 src/main/java/net/fabricmc/loom/util/proccessing/MixinPrebaker.java delete mode 100644 src/main/java/net/fabricmc/loom/util/proccessing/PreBakeMixins.java delete mode 100644 src/main/resources/META-INF/services/org.spongepowered.asm.service.IMixinService delete mode 100644 src/main/resources/META-INF/services/org.spongepowered.tools.obfuscation.service.IObfuscationService diff --git a/build.gradle b/build.gradle index dfdbfc4..9144bf4 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ targetCompatibility = 1.8 group = 'com.openmodloader' archivesBaseName = project.name -version = '0.0.9-SNAPSHOT' +version = '0.0.10-SNAPSHOT' repositories { mavenCentral() @@ -30,8 +30,8 @@ repositories { url = 'https://libraries.minecraft.net/' } maven { - name = 'SpongePowered' - url = 'http://repo.spongepowered.org/maven' + name = 'Forge' //For ModLauncher + url = 'http://files.minecraftforge.net/maven/' } } @@ -61,17 +61,8 @@ dependencies { shade 'org.apache.logging.log4j:log4j-core:2.11.0' - shade ('net.minecraft:launchwrapper:1.12') { - transitive = false - } + shade 'cpw.mods:modlauncher:0.1.0-rc.3' - //Always fun when your dep needs the tool to build, but the tool needs the dep. - //compile 'net.fabricmc:fabric-base:16w38a-0.0.4-SNAPSHOT' - - shade('org.spongepowered:mixin:0.7.8-SNAPSHOT') { - exclude module: 'launchwrapper' - exclude module: 'guava' - } shade 'org.apache.commons:commons-lang3:3.5' } @@ -93,7 +84,7 @@ jar { task wrapper(type: Wrapper) { - gradleVersion = '4.7' + gradleVersion = '4.9' } publishing { diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index f6b961fd5a86aa5fbfe90f707c3138408be7c718..91ca28c8b802289c3a438766657a5e98f20eff03 100644 GIT binary patch delta 7397 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 delta 7284 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 { configureIDEs(); configureCompile(); - Map> taskMap = project.getAllTasks(true); - for (Map.Entry> entry : taskMap.entrySet()) { - Project project = entry.getKey(); - Set taskSet = entry.getValue(); - for (Task task : taskSet) { - if (task instanceof JavaCompile - && !(task.getName().contains("Test")) && !(task.getName().contains("test"))) { - JavaCompile javaCompileTask = (JavaCompile) task; - javaCompileTask.doFirst(task1 -> { - project.getLogger().lifecycle(":setting java compiler args"); - try { - javaCompileTask.getClasspath().add(target.files(this.getClass().getProtectionDomain().getCodeSource().getLocation())); - - javaCompileTask.getOptions().getCompilerArgs().add("-AinMapFilePomfMojang=" + Constants.MAPPINGS_TINY.get(extension).getCanonicalPath()); - javaCompileTask.getOptions().getCompilerArgs().add("-AoutMapFilePomfMojang=" + Constants.MAPPINGS_MIXIN_EXPORT.get(extension).getCanonicalPath()); - if(extension.refmapName == null || extension.refmapName.isEmpty()){ - project.getLogger().error("Could not find refmap definition, will be using default name: " + project.getName() + "-refmap.json"); - extension.refmapName = project.getName() + "-refmap.json"; - } - javaCompileTask.getOptions().getCompilerArgs().add("-AoutRefMapFile=" + new File(javaCompileTask.getDestinationDir(), extension.refmapName).getCanonicalPath()); - javaCompileTask.getOptions().getCompilerArgs().add("-AdefaultObfuscationEnv=pomf:mojang"); - } catch (IOException e) { - e.printStackTrace(); - } - }); - } - } - - } - } /** @@ -217,11 +187,6 @@ public class AbstractPlugin implements Plugin { mavenArtifactRepository.setUrl("https://maven.modmuss50.me"); }); - project1.getRepositories().maven(mavenArtifactRepository -> { - mavenArtifactRepository.setName("SpongePowered"); - mavenArtifactRepository.setUrl("http://repo.spongepowered.org/maven"); - }); - project1.getRepositories().maven(mavenArtifactRepository -> { mavenArtifactRepository.setName("Mojang"); mavenArtifactRepository.setUrl("https://libraries.minecraft.net/"); @@ -250,7 +215,7 @@ public class AbstractPlugin implements Plugin { if (extension.omlVersion != null && !extension.omlVersion.isEmpty()) { //only add this when not in a fabric dev env - project1.getDependencies().add(Constants.COMPILE_MODS, "OpenModLoader:OpenModLoader:" + extension.version + "-" + extension.omlVersion); + project1.getDependencies().add(Constants.CONFIG_MC_DEPENDENCIES, "OpenModLoader:OpenModLoader:" + extension.version + "-" + extension.omlVersion); } }); diff --git a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java index fe42321..27be810 100644 --- a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java +++ b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java @@ -33,7 +33,6 @@ public class LoomGradleExtension { public String runDir = "run"; public String omlVersion; public String pomfVersion; - public String refmapName; public boolean skipPrebake = false; public boolean localMappings = false; diff --git a/src/main/java/net/fabricmc/loom/mixin/MixinMappingProviderTiny.java b/src/main/java/net/fabricmc/loom/mixin/MixinMappingProviderTiny.java deleted file mode 100644 index e63db8e..0000000 --- a/src/main/java/net/fabricmc/loom/mixin/MixinMappingProviderTiny.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * This file is part of fabric-loom, licensed under the MIT License (MIT). - * - * Copyright (c) 2016 FabricMC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package net.fabricmc.loom.mixin; - -import net.fabricmc.tinyremapper.TinyUtils; -import org.spongepowered.asm.obfuscation.mapping.common.MappingField; -import org.spongepowered.asm.obfuscation.mapping.common.MappingMethod; -import org.spongepowered.tools.obfuscation.mapping.common.MappingProvider; - -import javax.annotation.processing.Filer; -import javax.annotation.processing.Messager; -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; - -public class MixinMappingProviderTiny extends MappingProvider { - private final String from, to; - - public MixinMappingProviderTiny(Messager messager, Filer filer, String from, String to) { - super(messager, filer); - this.from = from; - this.to = to; - } - - private static final String[] removeFirst(String[] src, int count) { - if (count >= src.length) { - return new String[0]; - } else { - String[] out = new String[src.length - count]; - System.arraycopy(src, count, out, 0, out.length); - return out; - } - } - - @Override - public MappingMethod getMethodMapping(MappingMethod method) { - System.out.println("processing " + method.getName() + method.getDesc()); - - MappingMethod mapped = this.methodMap.get(method); - if (mapped != null) - return mapped; - - try { - Class c = this.getClass().getClassLoader().loadClass(method.getOwner().replace('/', '.')); - if (c == null || c == Object.class) { - return null; - } - - for (Class cc : c.getInterfaces()) { - mapped = getMethodMapping(method.move(cc.getName().replace('.', '/'))); - if (mapped != null) - return mapped; - } - - if (c.getSuperclass() != null) { - mapped = getMethodMapping(method.move(c.getSuperclass().getName().replace('.', '/'))); - if (mapped != null) - return mapped; - } - - return null; - } catch (Exception e) { - e.printStackTrace(); - return null; - } - } - - @Override - public MappingField getFieldMapping(MappingField field) { - System.out.println("processing " + field.getOwner() + "/" + field.getName() + field.getDesc()); - - MappingField mapped = this.fieldMap.get(field); - if (mapped != null) - return mapped; - - try { - Class c = this.getClass().getClassLoader().loadClass(field.getOwner().replace('/', '.')); - if (c == null || c == Object.class) { - return null; - } - - for (Class cc : c.getInterfaces()) { - mapped = getFieldMapping(field.move(cc.getName().replace('.', '/'))); - if (mapped != null) - return mapped; - } - - if (c.getSuperclass() != null) { - mapped = getFieldMapping(field.move(c.getSuperclass().getName().replace('.', '/'))); - if (mapped != null) - return mapped; - } - - return null; - } catch (Exception e) { - e.printStackTrace(); - return null; - } - } - - // TODO: Unify with tiny-remapper - - @Override - public void read(File input) throws IOException { - BufferedReader reader = Files.newBufferedReader(input.toPath()); - - TinyUtils.read(reader, from, to, (classFrom, classTo) -> { - classMap.put(classFrom, classTo); - }, (fieldFrom, fieldTo) -> { - fieldMap.put( - new MappingField(fieldFrom.owner, fieldFrom.name, fieldFrom.desc), - new MappingField(fieldTo.owner, fieldTo.name, fieldTo.desc) - ); - }, (methodFrom, methodTo) -> { - methodMap.put( - new MappingMethod(methodFrom.owner, methodFrom.name, methodFrom.desc), - new MappingMethod(methodTo.owner, methodTo.name, methodTo.desc) - ); - }); - } -} diff --git a/src/main/java/net/fabricmc/loom/mixin/MixinMappingWriterTiny.java b/src/main/java/net/fabricmc/loom/mixin/MixinMappingWriterTiny.java deleted file mode 100644 index 0ea4a47..0000000 --- a/src/main/java/net/fabricmc/loom/mixin/MixinMappingWriterTiny.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * This file is part of fabric-loom, licensed under the MIT License (MIT). - * - * Copyright (c) 2016 FabricMC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package net.fabricmc.loom.mixin; - -import org.spongepowered.asm.obfuscation.mapping.common.MappingField; -import org.spongepowered.asm.obfuscation.mapping.common.MappingMethod; -import org.spongepowered.tools.obfuscation.ObfuscationType; -import org.spongepowered.tools.obfuscation.mapping.IMappingConsumer; -import org.spongepowered.tools.obfuscation.mapping.common.MappingWriter; - -import javax.annotation.processing.Filer; -import javax.annotation.processing.Messager; -import java.io.IOException; -import java.io.PrintWriter; - -/** - * Created by asie on 10/9/16. - */ -public class MixinMappingWriterTiny extends MappingWriter { - public MixinMappingWriterTiny(Messager messager, Filer filer) { - super(messager, filer); - } - - @Override - public void write(String output, ObfuscationType type, IMappingConsumer.MappingSet fields, IMappingConsumer.MappingSet methods) { - if (output != null) { - PrintWriter writer = null; - - try { - String from = type.getKey().split(":")[0]; - String to = type.getKey().split(":")[1]; - - writer = this.openFileWriter(output, type + " output TinyMappings"); - writer.println(String.format("v1\t%s\t%s", from, to)); - for (IMappingConsumer.MappingSet.Pair pair : fields) { - writer.println(String.format("FIELD\t%s\t%s\t%s\t%s", pair.from.getOwner(), pair.from.getDesc(), pair.from.getSimpleName(), pair.to.getSimpleName())); - } - for (IMappingConsumer.MappingSet.Pair pair : methods) { - writer.println(String.format("METHOD\t%s\t%s\t%s\t%s", pair.from.getOwner(), pair.from.getDesc(), pair.from.getSimpleName(), pair.to.getSimpleName())); - } - } catch (IOException e) { - e.printStackTrace(); - } finally { - if (writer != null) { - try { - writer.close(); - } catch (Exception e) { - } - } - } - } - } -} diff --git a/src/main/java/net/fabricmc/loom/mixin/MixinServiceGradle.java b/src/main/java/net/fabricmc/loom/mixin/MixinServiceGradle.java deleted file mode 100644 index d38c8a5..0000000 --- a/src/main/java/net/fabricmc/loom/mixin/MixinServiceGradle.java +++ /dev/null @@ -1,77 +0,0 @@ -package net.fabricmc.loom.mixin; - -import com.google.common.io.ByteStreams; -import net.fabricmc.loom.task.ProcessModsTask; -import net.fabricmc.loom.util.proccessing.MixinPrebaker; -import org.spongepowered.asm.service.IClassBytecodeProvider; -import org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; -import java.util.jar.JarFile; -import java.util.zip.ZipEntry; - -public class MixinServiceGradle extends MixinServiceLaunchWrapper implements IClassBytecodeProvider { - - private static List jars = new ArrayList<>(); - - - @Override - public String getName() { - return "OpenModLoaderGradle"; - } - - @Override - public InputStream getResourceAsStream(String name) { - if(MixinPrebaker.jarFileCache.containsKey(name)){ - return MixinPrebaker.jarFileCache.get(name); - } - for(JarFile file : jars){ - ZipEntry entry = file.getEntry(name); - if(entry != null){ - try { - InputStream stream = file.getInputStream(entry); - return stream; - } catch (IOException e) { - throw new RuntimeException("Failed to read mod file", e); - } - } - } - return super.getResourceAsStream(name); - } - - public static void setupModFiles(Set mods, File minecraft) throws IOException { - jars.clear(); - for(File mod : mods){ - JarFile jarFile = new JarFile(mod); - jars.add(jarFile); - } - jars.add(new JarFile(minecraft)); - } - - public static void addMCDeps(Set deps, Object object) throws IOException { - for(File mod : deps){ - JarFile jarFile = new JarFile(mod); - jars.add(jarFile); - ProcessModsTask.addFile(mod, object); - } - } - - @Override - public IClassBytecodeProvider getBytecodeProvider() { - return this; - } - - public byte[] getClassBytes(String name, String transformedName) throws IOException { - InputStream inputStream = getResourceAsStream(name.replace(".", "/") + ".class"); - byte[] classBytes = ByteStreams.toByteArray(inputStream); - if(classBytes == null){ - return super.getClassBytes(name, transformedName); - } - return classBytes; - } -} diff --git a/src/main/java/net/fabricmc/loom/mixin/ObfuscationEnvironmentFabric.java b/src/main/java/net/fabricmc/loom/mixin/ObfuscationEnvironmentFabric.java deleted file mode 100644 index 70318e4..0000000 --- a/src/main/java/net/fabricmc/loom/mixin/ObfuscationEnvironmentFabric.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * This file is part of fabric-loom, licensed under the MIT License (MIT). - * - * Copyright (c) 2016 FabricMC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package net.fabricmc.loom.mixin; - -import org.spongepowered.tools.obfuscation.ObfuscationEnvironment; -import org.spongepowered.tools.obfuscation.ObfuscationType; -import org.spongepowered.tools.obfuscation.mapping.IMappingProvider; -import org.spongepowered.tools.obfuscation.mapping.IMappingWriter; - -import javax.annotation.processing.Filer; -import javax.annotation.processing.Messager; - -public class ObfuscationEnvironmentFabric extends ObfuscationEnvironment { - protected ObfuscationEnvironmentFabric(ObfuscationType type) { - super(type); - } - - @Override - protected IMappingProvider getMappingProvider(Messager messager, Filer filer) { - String from = type.getKey().split(":")[0]; - String to = type.getKey().split(":")[1]; - return new MixinMappingProviderTiny(messager, filer, from, to); - } - - @Override - protected IMappingWriter getMappingWriter(Messager messager, Filer filer) { - return new MixinMappingWriterTiny(messager, filer); - } -} diff --git a/src/main/java/net/fabricmc/loom/mixin/ObfuscationServiceFabric.java b/src/main/java/net/fabricmc/loom/mixin/ObfuscationServiceFabric.java deleted file mode 100644 index b95f719..0000000 --- a/src/main/java/net/fabricmc/loom/mixin/ObfuscationServiceFabric.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * This file is part of fabric-loom, licensed under the MIT License (MIT). - * - * Copyright (c) 2016 FabricMC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package net.fabricmc.loom.mixin; - -import com.google.common.collect.ImmutableSet; -import org.apache.commons.lang3.StringUtils; -import org.spongepowered.tools.obfuscation.service.IObfuscationService; -import org.spongepowered.tools.obfuscation.service.ObfuscationTypeDescriptor; - -import java.util.Collection; -import java.util.Set; - -public class ObfuscationServiceFabric implements IObfuscationService { - public static final String IN_MAP_FILE = "inMapFile"; - public static final String IN_MAP_EXTRA_FILES = "inMapExtraFiles"; - public static final String OUT_MAP_FILE = "outMapFile"; - - private String asSuffixed(String arg, String from, String to) { - return arg + StringUtils.capitalize(from) + StringUtils.capitalize(to); - } - - private ObfuscationTypeDescriptor createObfuscationType(String from, String to) { - return new ObfuscationTypeDescriptor( - from + ":" + to, - asSuffixed(ObfuscationServiceFabric.IN_MAP_FILE, from, to), - asSuffixed(ObfuscationServiceFabric.IN_MAP_EXTRA_FILES, from, to), - asSuffixed(ObfuscationServiceFabric.OUT_MAP_FILE, from, to), - ObfuscationEnvironmentFabric.class - ); - } - - private void addSupportedOptions(ImmutableSet.Builder builder, String from, String to) { - builder.add(asSuffixed(ObfuscationServiceFabric.IN_MAP_FILE, from, to)); - builder.add(asSuffixed(ObfuscationServiceFabric.IN_MAP_EXTRA_FILES, from, to)); - builder.add(asSuffixed(ObfuscationServiceFabric.OUT_MAP_FILE, from, to)); - } - - @Override - public Set getSupportedOptions() { - ImmutableSet.Builder builder = new ImmutableSet.Builder(); - addSupportedOptions(builder, "mojang", "pomf"); - addSupportedOptions(builder, "pomf", "mojang"); - return builder.build(); - } - - @Override - public Collection getObfuscationTypes() { - return ImmutableSet.of( - createObfuscationType("mojang", "pomf"), - createObfuscationType("pomf", "mojang") - ); - } -} diff --git a/src/main/java/net/fabricmc/loom/task/GenIdeaProjectTask.java b/src/main/java/net/fabricmc/loom/task/GenIdeaProjectTask.java index eb47cd5..ee13c7c 100644 --- a/src/main/java/net/fabricmc/loom/task/GenIdeaProjectTask.java +++ b/src/main/java/net/fabricmc/loom/task/GenIdeaProjectTask.java @@ -135,22 +135,22 @@ public class GenIdeaProjectTask extends DefaultTask { } IdeaRunConfig ideaClient = new IdeaRunConfig(); - ideaClient.mainClass = "net.minecraft.launchwrapper.Launch"; + ideaClient.mainClass = "cpw.mods.modlauncher.Launcher"; ideaClient.projectName = project.getName(); ideaClient.configName = "Minecraft Client"; ideaClient.runDir = "file://$PROJECT_DIR$/" + extension.runDir; ideaClient.vmArgs = "-Djava.library.path=" + Constants.MINECRAFT_NATIVES.get(extension).getAbsolutePath() + " -Doml.development=true"; - ideaClient.programArgs = "--tweakClass com.openmodloader.loader.launch.OpenClientTweaker --assetIndex " + version.assetIndex.id + " --assetsDir " + new File(extension.getUserCache(), "assets-" + extension.version).getAbsolutePath(); + ideaClient.programArgs = "--launchTarget oml --accessToken not_a_real_token --version " + extension.version + " --assetIndex " + version.assetIndex.id + " --assetsDir " + new File(extension.getUserCache(), "assets-" + extension.version).getAbsolutePath(); runManager.appendChild(ideaClient.genRuns(runManager)); IdeaRunConfig ideaServer = new IdeaRunConfig(); - ideaServer.mainClass = "net.minecraft.launchwrapper.Launch"; + ideaServer.mainClass = "com.openmodloader.loader.launch.ServerLauncher"; ideaServer.projectName = project.getName(); ideaServer.configName = "Minecraft Server"; ideaServer.runDir = "file://$PROJECT_DIR$/" + extension.runDir; ideaServer.vmArgs = "-Doml.development=true"; - ideaServer.programArgs = "--tweakClass com.openmodloader.loader.launch.OpenServerTweaker"; + ideaServer.programArgs = ""; runManager.appendChild(ideaServer.genRuns(runManager)); diff --git a/src/main/java/net/fabricmc/loom/task/MapJarsTask.java b/src/main/java/net/fabricmc/loom/task/MapJarsTask.java index 28ed3c3..c2451a8 100644 --- a/src/main/java/net/fabricmc/loom/task/MapJarsTask.java +++ b/src/main/java/net/fabricmc/loom/task/MapJarsTask.java @@ -49,7 +49,7 @@ public class MapJarsTask extends DefaultTask { @TaskAction public void mapJars() throws IOException, MappingParseException { LoomGradleExtension extension = this.getProject().getExtensions().getByType(LoomGradleExtension.class); - if (!Constants.MINECRAFT_MAPPED_JAR.get(extension).exists() || extension.localMappings || true) { + if (!Constants.MINECRAFT_MAPPED_JAR.get(extension).exists() || extension.localMappings) { if(extension.localMappings && Constants.MINECRAFT_MAPPED_JAR.get(extension).exists()){ //Always remap the jar when using local mappings. Constants.MINECRAFT_MAPPED_JAR.get(extension).delete(); diff --git a/src/main/java/net/fabricmc/loom/task/ProcessModsTask.java b/src/main/java/net/fabricmc/loom/task/ProcessModsTask.java index 697662f..b58e2eb 100644 --- a/src/main/java/net/fabricmc/loom/task/ProcessModsTask.java +++ b/src/main/java/net/fabricmc/loom/task/ProcessModsTask.java @@ -26,7 +26,6 @@ package net.fabricmc.loom.task; import net.fabricmc.loom.LoomGradleExtension; import net.fabricmc.loom.util.Constants; -import net.fabricmc.loom.util.proccessing.PreBakeMixins; import org.apache.commons.io.FileUtils; import org.gradle.api.DefaultTask; import org.gradle.api.artifacts.Configuration; @@ -57,11 +56,10 @@ public class ProcessModsTask extends DefaultTask { Constants.MINECRAFT_FINAL_JAR.get(extension).delete(); } if (mods.size() == 0 || extension.skipPrebake) { - getProject().getLogger().lifecycle(":skipping mixin prebake"); FileUtils.copyFile(Constants.MINECRAFT_MERGED_JAR.get(extension), Constants.MINECRAFT_MIXED_JAR.get(extension)); } else { - downloadRequiredDeps(extension); - new PreBakeMixins().proccess(getProject(), extension, mods); +// downloadRequiredDeps(extension); + throw new UnsupportedOperationException("Mixin prebake isnt done yet"); } } diff --git a/src/main/java/net/fabricmc/loom/task/RunClientTask.java b/src/main/java/net/fabricmc/loom/task/RunClientTask.java index 87e005f..e1de4d0 100644 --- a/src/main/java/net/fabricmc/loom/task/RunClientTask.java +++ b/src/main/java/net/fabricmc/loom/task/RunClientTask.java @@ -68,7 +68,7 @@ public class RunClientTask extends JavaExec { libs.add(Constants.MINECRAFT_CLIENT_JAR.get(extension).getAbsolutePath()); classpath(libs); - args("--tweakClass", "com.openmodloader.loader.launch.OpenClientTweaker", "--assetIndex", version.assetIndex.id, "--assetsDir", new File(extension.getUserCache(), "assets-" + extension.version).getAbsolutePath()); + args("--launchTarget", "oml", "--accessToken", "NOT_A_TOKEN", "--version", extension.version, "--assetIndex", version.assetIndex.id, "--assetsDir", new File(extension.getUserCache(), "assets-" + extension.version).getAbsolutePath()); setWorkingDir(new File(getProject().getRootDir(), "run")); diff --git a/src/main/java/net/fabricmc/loom/task/RunServerTask.java b/src/main/java/net/fabricmc/loom/task/RunServerTask.java index 115a5f4..a9a734d 100644 --- a/src/main/java/net/fabricmc/loom/task/RunServerTask.java +++ b/src/main/java/net/fabricmc/loom/task/RunServerTask.java @@ -65,8 +65,6 @@ public class RunServerTask extends JavaExec { libs.add(Constants.MINECRAFT_FINAL_JAR.get(extension).getAbsolutePath()); classpath(libs); - args("--tweakClass", "com.openmodloader.loader.launch.OpenServerTweaker"); - setWorkingDir(new File(getProject().getRootDir(), "run")); super.exec(); @@ -74,7 +72,7 @@ public class RunServerTask extends JavaExec { @Override public String getMain() { - return "net.minecraft.launchwrapper.Launch"; + return "com.openmodloader.loader.launch.ServerLauncher"; } @Override diff --git a/src/main/java/net/fabricmc/loom/util/Constants.java b/src/main/java/net/fabricmc/loom/util/Constants.java index baeff33..5591483 100644 --- a/src/main/java/net/fabricmc/loom/util/Constants.java +++ b/src/main/java/net/fabricmc/loom/util/Constants.java @@ -58,7 +58,6 @@ public class Constants { public static final IDelayed MINECRAFT_LIBS = new DelayedFile(extension -> new File(extension.getUserCache(), extension.version + "-libs")); public static final IDelayed MINECRAFT_NATIVES = new DelayedFile(extension -> new File(extension.getUserCache(), extension.version + "-natives")); public static final IDelayed MINECRAFT_JSON = new DelayedFile(extension -> new File(extension.getUserCache(), extension.version + "-info.json")); - public static final IDelayed REF_MAP = new DelayedFile(extension -> new File(CACHE_FILES, "mixin-refmap.json")); public static final IDelayed VERSION_MANIFEST = new DelayedFile(extension -> new File(extension.getUserCache(), "version_manifest.json")); diff --git a/src/main/java/net/fabricmc/loom/util/proccessing/MixinDevRemapper.java b/src/main/java/net/fabricmc/loom/util/proccessing/MixinDevRemapper.java deleted file mode 100644 index 4cde444..0000000 --- a/src/main/java/net/fabricmc/loom/util/proccessing/MixinDevRemapper.java +++ /dev/null @@ -1,75 +0,0 @@ -package net.fabricmc.loom.util.proccessing; - -import com.google.common.collect.BiMap; -import com.google.common.collect.HashBiMap; -import net.fabricmc.tinyremapper.TinyUtils; -import org.objectweb.asm.commons.Remapper; -import org.spongepowered.asm.mixin.extensibility.IRemapper; - -import java.io.BufferedReader; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -public class MixinDevRemapper implements IRemapper { - private final BiMap classMap = HashBiMap.create(); - private final Map fieldMap = new HashMap<>(); - private final Map methodMap = new HashMap<>(); - - private final SimpleClassMapper classMapper = new SimpleClassMapper(classMap); - private final SimpleClassMapper classUnmapper = new SimpleClassMapper(classMap.inverse()); - - private static class SimpleClassMapper extends Remapper { - final Map classMap; - - public SimpleClassMapper(Map map) { - this.classMap = map; - } - - public String map(String typeName) { - return this.classMap.getOrDefault(typeName, typeName); - } - } - - public void readMapping(BufferedReader reader, String fromM, String toM) throws IOException { - TinyUtils.read(reader, fromM, toM, classMap::put, fieldMap::put, methodMap::put); - } - - @Override - public String mapMethodName(String owner, String name, String desc) { - TinyUtils.Mapping mapping = methodMap.get(new TinyUtils.Mapping(owner, name, desc)); - return mapping != null ? mapping.name : name; - } - - @Override - public String mapFieldName(String owner, String name, String desc) { - TinyUtils.Mapping mapping = fieldMap.get(new TinyUtils.Mapping(owner, name, desc)); - if(mapping == null){ - //We try again using obfed names - owner = unmap(owner); - desc = unmapDesc(desc); - mapping = fieldMap.get(new TinyUtils.Mapping(owner, name, desc)); - } - return mapping != null ? mapping.name : name; - } - - @Override - public String map(String typeName) { - return classMap.getOrDefault(typeName, typeName); - } - - @Override - public String unmap(String typeName) { - return classMap.inverse().getOrDefault(typeName, typeName); - } - - @Override - public String mapDesc(String desc) { - return classMapper.mapDesc(desc); - } - - @Override - public String unmapDesc(String desc) { - return classUnmapper.mapDesc(desc); - } -} \ No newline at end of file diff --git a/src/main/java/net/fabricmc/loom/util/proccessing/MixinPrebaker.java b/src/main/java/net/fabricmc/loom/util/proccessing/MixinPrebaker.java deleted file mode 100644 index f08bbd4..0000000 --- a/src/main/java/net/fabricmc/loom/util/proccessing/MixinPrebaker.java +++ /dev/null @@ -1,317 +0,0 @@ -/* - * Copyright 2016 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package net.fabricmc.loom.util.proccessing; - -import com.google.common.base.Charsets; -import com.google.common.base.Predicate; -import com.google.common.io.ByteStreams; -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import net.fabricmc.loom.mixin.MixinServiceGradle; -import net.minecraft.launchwrapper.Launch; -import net.minecraft.launchwrapper.LaunchClassLoader; -import org.gradle.api.Project; -import org.objectweb.asm.*; -import org.spongepowered.asm.launch.GlobalProperties; -import org.spongepowered.asm.launch.MixinBootstrap; -import org.spongepowered.asm.mixin.EnvironmentStateTweaker; -import org.spongepowered.asm.mixin.MixinEnvironment; -import org.spongepowered.asm.mixin.Mixins; -import org.spongepowered.asm.mixin.transformer.MixinTransformer; -import org.spongepowered.asm.service.MixinService; -import org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper; - -import javax.annotation.Nonnull; -import java.io.*; -import java.net.URLClassLoader; -import java.nio.file.Files; -import java.nio.file.attribute.FileTime; -import java.time.Instant; -import java.util.*; -import java.util.jar.JarEntry; -import java.util.jar.JarFile; -import java.util.jar.JarInputStream; -import java.util.jar.JarOutputStream; -import java.util.stream.Collectors; -import java.util.zip.ZipEntry; - -/** - * The purpose of this class is to provide an utility for baking mixins from - * mods into a JAR file at compile time to make accessing APIs provided by them - * more intuitive in development environment. - */ -public class MixinPrebaker { - private static class DesprinklingFieldVisitor extends FieldVisitor { - public DesprinklingFieldVisitor(int api, FieldVisitor fv) { - super(api, fv); - } - - @Override - public AnnotationVisitor visitAnnotation(String desc, boolean visible) { - if (isSprinkledAnnotation(desc)) { - return null; - } - return super.visitAnnotation(desc, visible); - } - } - - private static class DesprinklingMethodVisitor extends MethodVisitor { - public DesprinklingMethodVisitor(int api, MethodVisitor mv) { - super(api, mv); - } - - @Override - public AnnotationVisitor visitAnnotation(String desc, boolean visible) { - if (isSprinkledAnnotation(desc)) { - return null; - } - return super.visitAnnotation(desc, visible); - } - } - - private static class DesprinklingClassVisitor extends ClassVisitor { - public DesprinklingClassVisitor(int api, ClassVisitor cv) { - super(api, cv); - } - - @Override - public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { - return new DesprinklingFieldVisitor(Opcodes.ASM5, super.visitField(access, name, desc, signature, value)); - } - - @Override - public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { - return new DesprinklingMethodVisitor(Opcodes.ASM5, super.visitMethod(access, name, desc, signature, exceptions)); - } - - @Override - public AnnotationVisitor visitAnnotation(String desc, boolean visible) { - if (isSprinkledAnnotation(desc)) { - return null; - } - return super.visitAnnotation(desc, visible); - } - } - - private static boolean isSprinkledAnnotation(String desc) { - //System.out.println(desc); - return desc.startsWith("Lorg/spongepowered/asm/mixin/transformer/meta"); - } - - // Term proposed by Mumfrey, don't blame me - public static byte[] desprinkle(byte[] cls) { - ClassReader reader = new ClassReader(cls); - ClassWriter writer = new ClassWriter(0); - - reader.accept(new DesprinklingClassVisitor(Opcodes.ASM5, writer), 0); - return writer.toByteArray(); - } - - public static final String APPLIED_MIXIN_CONFIGS_FILENAME = ".oml-applied-mixin-configs"; - public static final String MAPPINGS_FILENAME = ".oml-dev-mappings.tiny"; - - public static Map jarFileCache = new HashMap<>(); - - public static void main(String[] args, Project project) throws IOException { - boolean hasMappingsFile = false; - - if (args.length < 3) { - System.out.println("usage: MixinPrebaker [-m mapping-file] "); - return; - } - - File mappingsFile = null; - int argOffset; - for (argOffset = 0; argOffset < args.length; argOffset++) { - if ("-m".equals(args[argOffset])) { - hasMappingsFile = true; - mappingsFile = new File(args[++argOffset]); - //TODO this is prob what was handling the mixin remmapping, this may need to be added back - //FabricMixinBootstrap.setMappingFile(); - } else { - break; - } - } - - - - Set modFiles = new HashSet<>(); - for (int i = argOffset + 2; i < args.length; i++) { - modFiles.add(new File(args[i])); - } - - URLClassLoader ucl = (URLClassLoader) MixinPrebaker.class.getClassLoader(); - Launch.classLoader = new LaunchClassLoader(ucl.getURLs()); - Launch.blackboard = new HashMap<>(); - Launch.blackboard.put(MixinServiceLaunchWrapper.BLACKBOARD_KEY_TWEAKS, Collections.emptyList()); - - List mods = findModInfo(modFiles); - System.out.println("Found " + mods.size() + " mods"); - List mixins = new ArrayList<>(); - for(JsonObject modObject : mods){ - mixins.addAll(findMixins(modObject.getAsJsonArray("mixins"))); - mixins.addAll(findMixins(modObject.getAsJsonArray("clientMixins"))); - mixins.addAll(findMixins(modObject.getAsJsonArray("serverMixins"))); - } - System.out.println("Found " + mixins.size() + " mixins to pre bake"); - - List tweakers = new ArrayList<>(); - tweakers.add("com.openmodloader.loader.launch.OpenTweaker"); - GlobalProperties.put("TweakClasses", tweakers); - - MixinBootstrap.init(); - mixins.forEach(Mixins::addConfiguration); - - MixinServiceGradle.setupModFiles(modFiles, new File(args[argOffset + 0])); - - - EnvironmentStateTweaker tweaker = new EnvironmentStateTweaker(); - tweaker.getLaunchArguments(); - tweaker.injectIntoClassLoader(Launch.classLoader); - - //MixinServiceGradle.addMCDeps(project.getConfigurations().getByName(Constants.CONFIG_MC_DEPENDENCIES).getFiles(), tweaker); - - MixinEnvironment mixinEnvironment = MixinEnvironment.getDefaultEnvironment(); - - System.out.println("Loading mappings: " + mappingsFile); - InputStream mappingStream = new FileInputStream(mappingsFile); - MixinDevRemapper devRemapper = new MixinDevRemapper(); - devRemapper.readMapping(new BufferedReader(new InputStreamReader(mappingStream)), "pomf", "mojang"); - mappingStream.close(); - mixinEnvironment.getRemappers().add(devRemapper); - - mixinEnvironment.setSide(MixinEnvironment.Side.CLIENT); //TODO have an all side? - - - MixinTransformer mixinTransformer = GlobalProperties.get(GlobalProperties.Keys.TRANSFORMER); - if(mixinTransformer == null){ - MixinService.getService().beginPhase(); - mixinTransformer = GlobalProperties.get(GlobalProperties.Keys.TRANSFORMER); - } - mixinTransformer.audit(mixinEnvironment); - - - try { - JarInputStream input = new JarInputStream(new FileInputStream(new File(args[argOffset + 0]))); - JarOutputStream output = new JarOutputStream(new FileOutputStream(new File(args[argOffset + 1]))); - JarEntry entry; - while ((entry = input.getNextJarEntry()) != null) { - if (entry.getName().equals(APPLIED_MIXIN_CONFIGS_FILENAME)) { - continue; - } - - if (hasMappingsFile && entry.getName().equals(MAPPINGS_FILENAME)) { - continue; - } - - if (entry.getName().endsWith(".class")) { - byte[] classIn = ByteStreams.toByteArray(input); - String className = entry.getName().substring(0, entry.getName().length() - 6).replace('/', '.'); - byte[] classOut = mixinTransformer.transformClassBytes(className, className, classIn); - if (classIn != classOut) { - System.out.println("Transformed " + className); - classOut = desprinkle(classOut); - } - JarEntry newEntry = new JarEntry(entry.getName()); - newEntry.setComment(entry.getComment()); - newEntry.setSize(classOut.length); - newEntry.setLastModifiedTime(FileTime.from(Instant.now())); - output.putNextEntry(newEntry); - output.write(classOut); - } else { - output.putNextEntry(entry); - ByteStreams.copy(input, output); - } - } - - output.putNextEntry(new JarEntry(APPLIED_MIXIN_CONFIGS_FILENAME)); - output.write(String.join("\n", mixins).getBytes(Charsets.UTF_8)); - - if (hasMappingsFile) { - output.putNextEntry(new JarEntry(MAPPINGS_FILENAME)); - Files.copy(mappingsFile.toPath(), output); - } - - input.close(); - output.close(); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - - private static List findMixins(JsonArray jsonArray){ - if(jsonArray == null || jsonArray.size() == 0){ - return Collections.emptyList(); - } - List mixinList = new ArrayList<>(); - for (int i = 0; i < jsonArray.size(); i++) { - mixinList.add(jsonArray.get(i).getAsString()); - } - return mixinList; - } - - private static List findModInfo(Set mods){ - List modFiles = mods.stream().map(file -> { - try { - JarFile jar = new JarFile(file); - return readModInfoFromJar(jar); - } catch (IOException e) { - throw new RuntimeException("Failed to mod " + file.getName(), e); - } - }).filter((Predicate) Objects::nonNull).collect(Collectors.toList()); - - List containedMods = new ArrayList<>(); - for(JsonArray modFile : modFiles){ - for (int i = 0; i < modFile.size(); i++) { - containedMods.add(modFile.get(i).getAsJsonObject()); - } - } - return containedMods; - } - - private static JsonArray readModInfoFromJar(@Nonnull JarFile file) throws IOException { - Gson gson = new Gson(); - ZipEntry entry = file.getEntry("mod.json"); - if (entry == null) - return null; - - InputStreamReader stream = new InputStreamReader(file.getInputStream(entry)); - JsonArray jsonArray = gson.fromJson(stream, JsonArray.class); - stream.close(); - - List mixins = new ArrayList<>(); - for (int i = 0; i < jsonArray.size(); i++) { - JsonObject modObject = jsonArray.get(i).getAsJsonObject(); - mixins.addAll(findMixins(modObject.getAsJsonArray("mixins"))); - mixins.addAll(findMixins(modObject.getAsJsonArray("clientMixins"))); - mixins.addAll(findMixins(modObject.getAsJsonArray("serverMixins"))); - } - - System.out.println("Found: " + mixins.size() + " mixins in " + file.getName()); - - mixins.forEach(s -> { - ZipEntry entry1 = file.getEntry(s); - try { - jarFileCache.put(s, file.getInputStream(entry1)); - } catch (IOException e) { - throw new RuntimeException("Failed to load jar", e); - } - }); - return jsonArray; - } - -} \ No newline at end of file diff --git a/src/main/java/net/fabricmc/loom/util/proccessing/PreBakeMixins.java b/src/main/java/net/fabricmc/loom/util/proccessing/PreBakeMixins.java deleted file mode 100644 index accdc66..0000000 --- a/src/main/java/net/fabricmc/loom/util/proccessing/PreBakeMixins.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * This file is part of fabric-loom, licensed under the MIT License (MIT). - * - * Copyright (c) 2016 FabricMC - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package net.fabricmc.loom.util.proccessing; - -import net.fabricmc.loom.LoomGradleExtension; -import net.fabricmc.loom.task.ProcessModsTask; -import net.fabricmc.loom.util.Constants; -import org.gradle.api.Project; - -import java.io.File; -import java.io.IOException; -import java.util.List; - -public class PreBakeMixins { - - public void proccess(Project project, LoomGradleExtension extension, List mods) throws IOException { - project.getLogger().lifecycle(":Found " + mods.size() + " mods to prebake"); - String[] args = new String[mods.size() + 4]; - args[0] = "-m"; - args[1] = Constants.MAPPINGS_TINY.get(extension).getAbsolutePath(); - args[2] = Constants.MINECRAFT_MERGED_JAR.get(extension).getAbsolutePath(); - args[3] = Constants.MINECRAFT_MIXED_JAR.get(extension).getAbsolutePath(); - for (int i = 0; i < mods.size(); i++) { - args[i + 4] = mods.get(i).getAbsolutePath(); - } - project.getLogger().lifecycle(":preBaking mixins"); - ProcessModsTask.addFile(Constants.MINECRAFT_MIXED_JAR.get(extension), this); - MixinPrebaker.main(args, project); - } - -} diff --git a/src/main/resources/META-INF/services/org.spongepowered.asm.service.IMixinService b/src/main/resources/META-INF/services/org.spongepowered.asm.service.IMixinService deleted file mode 100644 index 75ed11a..0000000 --- a/src/main/resources/META-INF/services/org.spongepowered.asm.service.IMixinService +++ /dev/null @@ -1 +0,0 @@ -net.fabricmc.loom.mixin.MixinServiceGradle \ No newline at end of file diff --git a/src/main/resources/META-INF/services/org.spongepowered.tools.obfuscation.service.IObfuscationService b/src/main/resources/META-INF/services/org.spongepowered.tools.obfuscation.service.IObfuscationService deleted file mode 100644 index b3949cc..0000000 --- a/src/main/resources/META-INF/services/org.spongepowered.tools.obfuscation.service.IObfuscationService +++ /dev/null @@ -1 +0,0 @@ -net.fabricmc.loom.mixin.ObfuscationServiceFabric \ No newline at end of file