From f0130c71992093f009a0b578b3c81c7ed7f7c737 Mon Sep 17 00:00:00 2001 From: wagyourtail Date: Wed, 23 Jun 2021 11:24:22 -0600 Subject: [PATCH] move to j16/gradle7 --- .vscode/launch.json | 31 ++++++++++ build.gradle | 54 ++++-------------- buildSrc/build.gradle | 4 +- .../gradle/task/BaritoneGradleTask.java | 4 +- .../baritone/gradle/task/CreateDistTask.java | 16 +++++- .../baritone/gradle/task/ProguardTask.java | 44 +++++++------- gradle/wrapper/gradle-wrapper.jar | Bin 54706 -> 54413 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- settings.gradle | 26 ++++++++- 9 files changed, 108 insertions(+), 74 deletions(-) create mode 100644 .vscode/launch.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..f1102ccf1 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,31 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "java", + "name": "Minecraft Client", + "request": "launch", + "cwd": "${workspaceFolder}/run", + "console": "internalConsole", + "stopOnEntry": false, + "mainClass": "net.fabricmc.devlaunchinjector.Main", + "vmArgs": "-Dfabric.dli.config\u003dC:\\Users\\ruwag\\Documents\\Baritone\\.gradle\\loom-cache\\launch.cfg -Dfabric.dli.env\u003dclient -Dfabric.dli.main\u003dnet.fabricmc.loader.launch.knot.KnotClient", + "args": "", + "env": {}, + "projectName": "" + }, + { + "type": "java", + "name": "Minecraft Server", + "request": "launch", + "cwd": "${workspaceFolder}/run", + "console": "internalConsole", + "stopOnEntry": false, + "mainClass": "net.fabricmc.devlaunchinjector.Main", + "vmArgs": "-Dfabric.dli.config\u003dC:\\Users\\ruwag\\Documents\\Baritone\\.gradle\\loom-cache\\launch.cfg -Dfabric.dli.env\u003dserver -Dfabric.dli.main\u003dnet.fabricmc.loader.launch.knot.KnotServer", + "args": "nogui", + "env": {}, + "projectName": "" + } + ] +} \ No newline at end of file diff --git a/build.gradle b/build.gradle index 7ff4ec2a7..27ad8fbb6 100755 --- a/build.gradle +++ b/build.gradle @@ -14,46 +14,24 @@ * You should have received a copy of the GNU Lesser General Public License * along with Baritone. If not, see . */ -buildscript { - repositories { - mavenCentral() - maven { url "https://maven.architectury.dev/" } - maven { - name = 'forge' - url = 'http://files.minecraftforge.net/maven' - } - maven { - name = 'impactdevelopment-repo' - url = 'https://impactdevelopment.github.io/maven/' - } - maven { - url = 'https://www.dogforce-games.com/maven/' - } - maven { - url = 'https://maven.fabricmc.net/' - } - maven { - url = 'https://libraries.minecraft.net/' - } - } - dependencies { - classpath group: 'me.shedaniel', name: 'forgified-fabric-loom', version: '0.7.0-SNAPSHOT' - } + +plugins { + id 'java' + id 'dev.architectury.loom' version '0.8.0-SNAPSHOT' + id 'maven-publish' } -group 'baritone' -version '1.6.3' +group 'baritone' +version '1.7.0' import baritone.gradle.task.CreateDistTask import baritone.gradle.task.ProguardTask def compileType = project.hasProperty("baritone.fabric_build") ? "FABRIC" : project.hasProperty("baritone.forge_build") ? "FORGE" : "OFFICIAL" -apply plugin: 'java' -apply plugin: 'forgified-fabric-loom' +sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8 -sourceCompatibility = targetCompatibility = '1.8' compileJava { sourceCompatibility = targetCompatibility = '1.8' options.encoding = "UTF-8" // allow emoji in comments :^) @@ -74,11 +52,9 @@ sourceSets { compileClasspath += main.compileClasspath + main.runtimeClasspath + main.output runtimeClasspath += main.compileClasspath + main.runtimeClasspath + main.output } - schematica_api { compileClasspath += main.compileClasspath } - main { compileClasspath += schematica_api.output } @@ -88,20 +64,11 @@ loom { mixinConfig 'mixins.baritone.json' } -task sourceJar(type: Jar, dependsOn: classes) { - classifier = 'sources' - from sourceSets.api.allSource -} +minecraft {} minecraft.refmapName = "mixins.baritone.refmap.json" repositories { - mavenCentral() - - maven { - name = 'SpongePowered' - url = 'https://repo.spongepowered.org/repository/maven-public/' - } maven { name = 'impactdevelopment-repo' url = 'https://impactdevelopment.github.io/maven/' @@ -109,6 +76,7 @@ repositories { maven { url = 'https://www.dogforce-games.com/maven/' } + mavenCentral() } dependencies { @@ -116,7 +84,7 @@ dependencies { forge "net.minecraftforge:forge:1.16.5-36.1.0" } minecraft "com.mojang:minecraft:1.16.5" - mappings "de.oceanlabs.mcp:mcp_snapshot:20201028-1.16.3" + mappings minecraft.officialMojangMappings() if (!compileType.equals("FORGE")) { modImplementation "net.fabricmc:fabric-loader:0.9.1+build.205" } diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 2ac49af0f..8ab0f7014 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -20,6 +20,6 @@ repositories { } dependencies { - compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5' - compile group: 'commons-io', name: 'commons-io', version: '2.6' + implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5' + implementation group: 'commons-io', name: 'commons-io', version: '2.6' } \ No newline at end of file diff --git a/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java b/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java index c86a51e79..89d066619 100644 --- a/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java +++ b/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java @@ -99,7 +99,7 @@ class BaritoneGradleTask extends DefaultTask { } protected Path getRelativeFile(String file) { - return Paths.get(new File(file).getAbsolutePath()); + return Paths.get(new File(getProject().getBuildDir(), file).getAbsolutePath()); } protected Path getTemporaryFile(String file) { @@ -107,6 +107,6 @@ class BaritoneGradleTask extends DefaultTask { } protected Path getBuildFile(String file) { - return getRelativeFile("build/libs/" + file); + return getRelativeFile("libs/" + file); } } diff --git a/buildSrc/src/main/java/baritone/gradle/task/CreateDistTask.java b/buildSrc/src/main/java/baritone/gradle/task/CreateDistTask.java index 70c852ef0..e55e84acd 100644 --- a/buildSrc/src/main/java/baritone/gradle/task/CreateDistTask.java +++ b/buildSrc/src/main/java/baritone/gradle/task/CreateDistTask.java @@ -19,7 +19,7 @@ package baritone.gradle.task; import org.gradle.api.tasks.TaskAction; -import javax.xml.bind.DatatypeConverter; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.security.MessageDigest; @@ -93,10 +93,22 @@ public class CreateDistTask extends BaritoneGradleTask { if (SHA1_DIGEST == null) { SHA1_DIGEST = MessageDigest.getInstance("SHA-1"); } - return DatatypeConverter.printHexBinary(SHA1_DIGEST.digest(Files.readAllBytes(path))).toLowerCase(); + return bytesToHex(SHA1_DIGEST.digest(Files.readAllBytes(path))).toLowerCase(); } catch (Exception e) { // haha no thanks throw new IllegalStateException(e); } } + + private static final byte[] HEX_ARRAY = "0123456789ABCDEF".getBytes(StandardCharsets.US_ASCII); + + public static String bytesToHex(byte[] bytes) { + byte[] hexChars = new byte[bytes.length * 2]; + for (int j = 0; j < bytes.length; j++) { + int v = bytes[j] & 0xFF; + hexChars[j * 2] = HEX_ARRAY[v >>> 4]; + hexChars[j * 2 + 1] = HEX_ARRAY[v & 0x0F]; + } + return new String(hexChars, StandardCharsets.UTF_8); + } } diff --git a/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java b/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java index 68387fc00..ce41f3c2b 100644 --- a/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java +++ b/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java @@ -22,28 +22,15 @@ import org.apache.commons.io.IOUtils; import org.gradle.api.plugins.JavaPluginConvention; import org.gradle.api.tasks.Input; import org.gradle.api.tasks.TaskAction; -import org.gradle.api.JavaVersion; -import org.gradle.api.NamedDomainObjectContainer; -import org.gradle.api.artifacts.Configuration; -import org.gradle.api.artifacts.Dependency; -import org.gradle.api.internal.file.IdentityFileResolver; -import org.gradle.api.internal.plugins.DefaultConvention; -import org.gradle.api.tasks.Input; -import org.gradle.api.tasks.TaskAction; import org.gradle.api.tasks.TaskCollection; import org.gradle.api.tasks.compile.ForkOptions; import org.gradle.api.tasks.compile.JavaCompile; -import org.gradle.internal.Pair; import org.gradle.internal.jvm.Jvm; -import org.gradle.internal.jvm.inspection.DefaultJvmVersionDetector; -import org.gradle.process.internal.DefaultExecActionFactory; import java.io.*; import java.net.URL; -import java.nio.file.CopyOption; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.StandardCopyOption; import java.util.ArrayList; import java.util.List; import java.util.stream.Stream; @@ -61,12 +48,24 @@ public class ProguardTask extends BaritoneGradleTask { @Input private String url; + public String getUrl() { + return url; + } + @Input private String extract; + public String getExtract() { + return extract; + } + @Input private String compType; + public String getCompType() { + return compType; + } + private final File copyMcTargetDir = new File("./build/createMcIntermediaryJar").getAbsoluteFile(); private final File copyMcTargetJar = new File(copyMcTargetDir, "client.jar"); @@ -216,15 +215,16 @@ public class ProguardTask extends BaritoneGradleTask { } private boolean validateJavaVersion(String java) { - final JavaVersion javaVersion = new DefaultJvmVersionDetector(new DefaultExecActionFactory(new IdentityFileResolver())).getJavaVersion(java); - - if (!javaVersion.getMajorVersion().equals("8")) { - System.out.println("Failed to validate Java version " + javaVersion.toString() + " [" + java + "] for ProGuard libraryjars"); - // throw new RuntimeException("Java version incorrect: " + javaVersion.getMajorVersion() + " for " + java); - return false; - } - - System.out.println("Validated Java version " + javaVersion.toString() + " [" + java + "] for ProGuard libraryjars"); + //TODO: fix for j16 +// final JavaVersion javaVersion = new DefaultJvmVersionDetector(new DefaultExecActionFactory(new IdentityFileResolver())).getJavaVersion(java); +// +// if (!javaVersion.getMajorVersion().equals("8")) { +// System.out.println("Failed to validate Java version " + javaVersion.toString() + " [" + java + "] for ProGuard libraryjars"); +// // throw new RuntimeException("Java version incorrect: " + javaVersion.getMajorVersion() + " for " + java); +// return false; +// } +// +// System.out.println("Validated Java version " + javaVersion.toString() + " [" + java + "] for ProGuard libraryjars"); return true; } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 4c5670a158b8953b61fd441194873cac2c99930d..0d4a9516871afd710a9d84d89e31ba77745607bd 100755 GIT binary patch delta 23122 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 t;PwunWZVV}AOYeDUZy`^@Sm^trei0F. */ -rootProject.name = 'baritone' +pluginManagement { + repositories { + maven { url "https://maven.architectury.dev/" } + maven { + url = 'https://maven.fabricmc.net/' + } + maven { + name = 'forge' + url = 'https://files.minecraftforge.net/maven' + } + maven { + name = 'impactdevelopment-repo' + url = 'https://impactdevelopment.github.io/maven/' + } + maven { + url = 'https://www.dogforce-games.com/maven/' + } + maven { + url = 'https://libraries.minecraft.net/' + } + mavenCentral() + } +} + +rootProject.name = 'baritone'