aboutsummaryrefslogtreecommitdiff
path: root/build.gradle
diff options
context:
space:
mode:
authorBlueWeabo <76872108+BlueWeabo@users.noreply.github.com>2022-11-24 13:45:51 +0200
committerBlueWeabo <76872108+BlueWeabo@users.noreply.github.com>2022-11-24 13:45:51 +0200
commit650d8318549b373d7bc536c1528ca2f6f9548598 (patch)
treea58b69888e89259206780f57c299ee64c80fa520 /build.gradle
parent48012fc54c8f2623d95df54aa39b03498e1d864c (diff)
downloadGT5-Unofficial-650d8318549b373d7bc536c1528ca2f6f9548598.tar.gz
GT5-Unofficial-650d8318549b373d7bc536c1528ca2f6f9548598.tar.bz2
GT5-Unofficial-650d8318549b373d7bc536c1528ca2f6f9548598.zip
update bs
Diffstat (limited to 'build.gradle')
-rw-r--r--build.gradle459
1 files changed, 228 insertions, 231 deletions
diff --git a/build.gradle b/build.gradle
index f068c2e59b..54d259955f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,8 +1,8 @@
-//version: 1664372158
+//version: 1669171387
/*
DO NOT CHANGE THIS FILE!
Also, you may replace this file at any time if there is an update available.
- Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates.
+ Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/master/build.gradle for updates.
*/
@@ -45,7 +45,7 @@ buildscript {
}
}
dependencies {
- classpath 'net.minecraftforge.gradle:ForgeGradle:1.2.9'
+ classpath 'net.minecraftforge.gradle:ForgeGradle:1.2.11'
}
}
plugins {
@@ -147,17 +147,21 @@ String javaSourceDir = "src/main/java/"
String scalaSourceDir = "src/main/scala/"
String kotlinSourceDir = "src/main/kotlin/"
-String targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/")
-String targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/")
-String targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/")
+
+final String modGroupPath = modGroup.toString().replaceAll("\\.", "/")
+final String apiPackagePath = apiPackage.toString().replaceAll("\\.", "/")
+
+String targetPackageJava = javaSourceDir + modGroupPath
+String targetPackageScala = scalaSourceDir + modGroupPath
+String targetPackageKotlin = kotlinSourceDir + modGroupPath
if (!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) {
throw new GradleException("Could not resolve \"modGroup\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin)
}
if (apiPackage) {
- targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/")
- targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/")
- targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/")
+ targetPackageJava = javaSourceDir + modGroupPath + "/" + apiPackagePath
+ targetPackageScala = scalaSourceDir + modGroupPath + "/" + apiPackagePath
+ targetPackageKotlin = kotlinSourceDir + modGroupPath + "/" + apiPackagePath
if (!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) {
throw new GradleException("Could not resolve \"apiPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin)
}
@@ -171,31 +175,36 @@ if (accessTransformersFile) {
}
if (usesMixins.toBoolean()) {
- if (mixinsPackage.isEmpty() || mixinPlugin.isEmpty()) {
- throw new GradleException("\"mixinPlugin\" requires \"mixinsPackage\" and \"mixinPlugin\" to be set!")
+ if (mixinsPackage.isEmpty()) {
+ throw new GradleException("\"usesMixins\" requires \"mixinsPackage\" to be set!")
}
+ final String mixinPackagePath = mixinsPackage.toString().replaceAll("\\.", "/")
+ final String mixinPluginPath = mixinPlugin.toString().replaceAll("\\.", "/")
- targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/")
- targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/")
- targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/")
+ targetPackageJava = javaSourceDir + modGroupPath + "/" + mixinPackagePath
+ targetPackageScala = scalaSourceDir + modGroupPath + "/" + mixinPackagePath
+ targetPackageKotlin = kotlinSourceDir + modGroupPath + "/" + mixinPackagePath
if (!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) {
throw new GradleException("Could not resolve \"mixinsPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin)
}
- String targetFileJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".java"
- String targetFileScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".scala"
- String targetFileScalaJava = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".java"
- String targetFileKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".kt"
- if (!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) {
- throw new GradleException("Could not resolve \"mixinPlugin\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava + " or " + targetFileKotlin)
+ if (!mixinPlugin.isEmpty()) {
+ String targetFileJava = javaSourceDir + modGroupPath + "/" + mixinPluginPath + ".java"
+ String targetFileScala = scalaSourceDir + modGroupPath + "/" + mixinPluginPath + ".scala"
+ String targetFileScalaJava = scalaSourceDir + modGroupPath + "/" + mixinPluginPath + ".java"
+ String targetFileKotlin = kotlinSourceDir + modGroupPath + "/" + mixinPluginPath + ".kt"
+ if (!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) {
+ throw new GradleException("Could not resolve \"mixinPlugin\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava + " or " + targetFileKotlin)
+ }
}
}
if (coreModClass) {
- String targetFileJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".java"
- String targetFileScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".scala"
- String targetFileScalaJava = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".java"
- String targetFileKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".kt"
+ final String coreModPath = coreModClass.toString().replaceAll("\\.", "/")
+ String targetFileJava = javaSourceDir + modGroupPath + "/" + coreModPath + ".java"
+ String targetFileScala = scalaSourceDir + modGroupPath + "/" + coreModPath + ".scala"
+ String targetFileScalaJava = scalaSourceDir + modGroupPath + "/" + coreModPath + ".java"
+ String targetFileKotlin = kotlinSourceDir + modGroupPath + "/" + coreModPath + ".kt"
if (!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) {
throw new GradleException("Could not resolve \"coreModClass\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava + " or " + targetFileKotlin)
}
@@ -225,10 +234,10 @@ try {
}
catch (Exception ignored) {
out.style(Style.Failure).text(
- 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' +
+ 'This mod must be version controlled by Git AND the repository must provide at least one tag,\n' +
'or the VERSION override must be set! ').style(Style.SuccessHeader).text('(Do NOT download from GitHub using the ZIP option, instead\n' +
- 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)'
- )
+ 'clone the repository, see ').style(Style.Info).text('https://gtnh.miraheze.org/wiki/Development').style(Style.SuccessHeader).println(' for details.)'
+ )
versionOverride = 'NO-GIT-TAG-SET'
identifiedVersion = versionOverride
}
@@ -251,7 +260,7 @@ if (project.hasProperty("customArchiveBaseName") && customArchiveBaseName) {
def arguments = []
def jvmArguments = []
-if (usesMixins.toBoolean() || forceEnableMixins) {
+if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) {
arguments += [
"--tweakClass org.spongepowered.asm.launch.MixinTweaker"
]
@@ -316,13 +325,10 @@ repositories {
name 'Overmind forge repo mirror'
url 'https://gregtech.overminddl1.com/'
}
- if (usesMixins.toBoolean() || forceEnableMixins) {
+ if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) {
maven {
- name 'sponge'
- url 'https://repo.spongepowered.org/repository/maven-public'
- }
- maven {
- url 'https://jitpack.io'
+ name = "GTNH Maven"
+ url = "http://jenkins.usrv.eu:8081/nexus/content/groups/public/"
}
}
}
@@ -332,19 +338,10 @@ dependencies {
annotationProcessor('org.ow2.asm:asm-debug-all:5.0.3')
annotationProcessor('com.google.guava:guava:24.1.1-jre')
annotationProcessor('com.google.code.gson:gson:2.8.6')
- annotationProcessor('org.spongepowered:mixin:0.8-SNAPSHOT')
- }
- if (usesMixins.toBoolean() || forceEnableMixins) {
- // using 0.8 to workaround a issue in 0.7 which fails mixin application
- compile('com.github.GTNewHorizons:SpongePoweredMixin:0.7.12-GTNH') {
- // Mixin includes a lot of dependencies that are too up-to-date
- exclude module: 'launchwrapper'
- exclude module: 'guava'
- exclude module: 'gson'
- exclude module: 'commons-io'
- exclude module: 'log4j-core'
- }
- compile('com.github.GTNewHorizons:SpongeMixins:1.5.0')
+ annotationProcessor('com.gtnewhorizon:gtnhmixins:2.1.0:processor')
+ }
+ if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) {
+ compile('com.gtnewhorizon:gtnhmixins:2.1.0')
}
}
@@ -356,13 +353,18 @@ def mixinSrg = "${tasks.reobf.temporaryDir}" + File.separator + "mixins.srg"
task generateAssets {
if (usesMixins.toBoolean()) {
- def mixinConfigFile = getFile("/src/main/resources/mixins." + modId + ".json");
+ def mixinConfigFile = getFile("/src/main/resources/mixins." + modId + ".json")
if (!mixinConfigFile.exists()) {
+ def mixinPluginLine = ""
+ if(!mixinPlugin.isEmpty()) {
+ // We might not have a mixin plugin if we're using early/late mixins
+ mixinPluginLine += """\n "plugin": "${modGroup}.${mixinPlugin}", """
+ }
+
mixinConfigFile.text = """{
"required": true,
- "minVersion": "0.7.11",
- "package": "${modGroup}.${mixinsPackage}",
- "plugin": "${modGroup}.${mixinPlugin}",
+ "minVersion": "0.8.5-GTNH",
+ "package": "${modGroup}.${mixinsPackage}",${mixinPluginLine}
"refmap": "${mixingConfigRefMap}",
"target": "@env(DEFAULT)",
"compatibilityLevel": "JAVA_8",
@@ -456,10 +458,10 @@ runServer {
tasks.withType(JavaExec).configureEach {
javaLauncher.set(
- javaToolchains.launcherFor {
- languageVersion = projectJavaVersion
- }
- )
+ javaToolchains.launcherFor {
+ languageVersion = projectJavaVersion
+ }
+ )
}
processResources {
@@ -474,9 +476,9 @@ processResources {
// replace modVersion and minecraftVersion
expand "minecraftVersion": project.minecraft.version,
- "modVersion": modVersion,
- "modId": modId,
- "modName": modName
+ "modVersion": modVersion,
+ "modId": modId,
+ "modName": modName
}
if (usesMixins.toBoolean()) {
@@ -574,11 +576,11 @@ task devJar(type: Jar) {
task apiJar(type: Jar) {
from(sourceSets.main.allSource) {
- include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**'
+ include modGroupPath + "/" + apiPackagePath + '/**'
}
from(sourceSets.main.output) {
- include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**'
+ include modGroupPath + "/" + apiPackagePath + '/**'
}
from(sourceSets.main.resources.srcDirs) {
@@ -631,9 +633,9 @@ publishing {
pom.withXml {
def badArtifacts = [:].withDefault { [] as Set<String> }
for (configuration in [
- projectConfigs.minecraft,
- projectConfigs.minecraftDeps
- ]) {
+ projectConfigs.minecraft,
+ projectConfigs.minecraftDeps
+ ]) {
for (dependency in configuration.allDependencies) {
badArtifacts[dependency.group == null ? "" : dependency.group] += dependency.name
}
@@ -662,10 +664,10 @@ publishing {
}
}
-if (modrinthProjectId.size() != 0) {
+if (modrinthProjectId.size() != 0 && System.getenv("MODRINTH_TOKEN") != null) {
apply plugin: 'com.modrinth.minotaur'
- File changelogFile = new File("CHANGELOG.md")
+ File changelogFile = new File(System.getenv("CHANGELOG_FILE") ?: "CHANGELOG.md")
modrinth {
token = System.getenv("MODRINTH_TOKEN")
@@ -691,14 +693,17 @@ if (modrinthProjectId.size() != 0) {
addModrinthDep(qual[0], qual[1], parts[1])
}
}
+ if (usesMixins.toBoolean()) {
+ addModrinthDep("required", "version", "gtnhmixins")
+ }
tasks.modrinth.dependsOn(build)
tasks.publish.dependsOn(tasks.modrinth)
}
-if (curseForgeProjectId.size() != 0) {
+if (curseForgeProjectId.size() != 0 && System.getenv("CURSEFORGE_TOKEN") != null) {
apply plugin: 'com.matthewprenger.cursegradle'
- File changelogFile = new File("CHANGELOG.md")
+ File changelogFile = new File(System.getenv("CHANGELOG_FILE") ?: "CHANGELOG.md")
curseforge {
apiKey = System.getenv("CURSEFORGE_TOKEN")
@@ -732,18 +737,16 @@ if (curseForgeProjectId.size() != 0) {
addCurseForgeRelation(parts[0], parts[1])
}
}
+ if (usesMixins.toBoolean()) {
+ addCurseForgeRelation("requiredDependency", "gtnhmixins")
+ }
tasks.curseforge.dependsOn(build)
tasks.publish.dependsOn(tasks.curseforge)
}
def addModrinthDep(scope, type, name) {
com.modrinth.minotaur.dependencies.Dependency dep;
- if (!(scope in [
- "required",
- "optional",
- "incompatible",
- "embedded"
- ])) {
+ if (!(scope in ["required", "optional", "incompatible", "embedded"])) {
throw new Exception("Invalid modrinth dependency scope: " + scope)
}
switch (type) {
@@ -760,13 +763,7 @@ def addModrinthDep(scope, type, name) {
}
def addCurseForgeRelation(type, name) {
- if (!(type in [
- "requiredDependency",
- "embeddedLibrary",
- "optionalDependency",
- "tool",
- "incompatible"
- ])) {
+ if (!(type in ["requiredDependency", "embeddedLibrary", "optionalDependency", "tool", "incompatible"])) {
throw new Exception("Invalid CurseForge relation type: " + type)
}
CurseArtifact artifact = project.curseforge.curseProjects[0].mainArtifact
@@ -779,7 +776,7 @@ task updateBuildScript {
doLast {
if (performBuildScriptUpdate(projectDir.toString())) return
- print("Build script already up-to-date!")
+ print("Build script already up-to-date!")
}
}
@@ -897,210 +894,210 @@ task deobfParams {
}
out.style(Style.Success).println("Modified ${replaceParams(file("$projectDir/src/main/java"), params)} files!")
- out.style(Style.Failure).println("Don't forget to verify that the code still works as before!\n It could be broken due to duplicate variables existing now\n or parameters taking priority over other variables.")
-}
+ out.style(Style.Failure).println("Don't forget to verify that the code still works as before!\n It could be broken due to duplicate variables existing now\n or parameters taking priority over other variables.")
+ }
}
static int replaceParams(File file, Map<String, String> params) {
-int fileCount = 0
+ int fileCount = 0
-if (file.isDirectory()) {
- for (File f : file.listFiles()) {
- fileCount += replaceParams(f, params)
- }
- return fileCount
-}
-println("Visiting ${file.getName()} ...")
-try {
- String content = new String(Files.readAllBytes(file.toPath()))
- int hash = content.hashCode()
- params.forEach { key, value ->
- content = content.replaceAll(key, value)
- }
- if (hash != content.hashCode()) {
- Files.write(file.toPath(), content.getBytes("UTF-8"))
- return 1
+ if (file.isDirectory()) {
+ for (File f : file.listFiles()) {
+ fileCount += replaceParams(f, params)
+ }
+ return fileCount
+ }
+ println("Visiting ${file.getName()} ...")
+ try {
+ String content = new String(Files.readAllBytes(file.toPath()))
+ int hash = content.hashCode()
+ params.forEach { key, value ->
+ content = content.replaceAll(key, value)
+ }
+ if (hash != content.hashCode()) {
+ Files.write(file.toPath(), content.getBytes("UTF-8"))
+ return 1
+ }
+ } catch (Exception e) {
+ e.printStackTrace()
}
-} catch (Exception e) {
- e.printStackTrace()
-}
-return 0
+ return 0
}
// Credit: bitsnaps (https://gist.github.com/bitsnaps/00947f2dce66f4bbdabc67d7e7b33681)
static unzip(String zipFileName, String outputDir) {
-byte[] buffer = new byte[16384]
-ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFileName))
-ZipEntry zipEntry = zis.getNextEntry()
-while (zipEntry != null) {
- File newFile = new File(outputDir + File.separator, zipEntry.name)
- if (zipEntry.isDirectory()) {
- if (!newFile.isDirectory() && !newFile.mkdirs()) {
- throw new IOException("Failed to create directory $newFile")
- }
- } else {
- // fix for Windows-created archives
- File parent = newFile.parentFile
- if (!parent.isDirectory() && !parent.mkdirs()) {
- throw new IOException("Failed to create directory $parent")
- }
- // write file content
- FileOutputStream fos = new FileOutputStream(newFile)
- int len = 0
- while ((len = zis.read(buffer)) > 0) {
- fos.write(buffer, 0, len)
+ byte[] buffer = new byte[16384]
+ ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFileName))
+ ZipEntry zipEntry = zis.getNextEntry()
+ while (zipEntry != null) {
+ File newFile = new File(outputDir + File.separator, zipEntry.name)
+ if (zipEntry.isDirectory()) {
+ if (!newFile.isDirectory() && !newFile.mkdirs()) {
+ throw new IOException("Failed to create directory $newFile")
+ }
+ } else {
+ // fix for Windows-created archives
+ File parent = newFile.parentFile
+ if (!parent.isDirectory() && !parent.mkdirs()) {
+ throw new IOException("Failed to create directory $parent")
+ }
+ // write file content
+ FileOutputStream fos = new FileOutputStream(newFile)
+ int len = 0
+ while ((len = zis.read(buffer)) > 0) {
+ fos.write(buffer, 0, len)
+ }
+ fos.close()
}
- fos.close()
+ zipEntry = zis.getNextEntry()
}
- zipEntry = zis.getNextEntry()
-}
-zis.closeEntry()
-zis.close()
+ zis.closeEntry()
+ zis.close()
}
configure(deobfParams) {
-group = 'forgegradle'
-description = 'Rename all obfuscated parameter names inherited from Minecraft classes'
+ group = 'forgegradle'
+ description = 'Rename all obfuscated parameter names inherited from Minecraft classes'
}
// Dependency Deobfuscation
def deobf(String sourceURL) {
-try {
- URL url = new URL(sourceURL)
- String fileName = url.getFile()
+ try {
+ URL url = new URL(sourceURL)
+ String fileName = url.getFile()
+
+ //get rid of directories:
+ int lastSlash = fileName.lastIndexOf("/")
+ if (lastSlash > 0) {
+ fileName = fileName.substring(lastSlash + 1)
+ }
+ //get rid of extension:
+ if (fileName.endsWith(".jar") || fileName.endsWith(".litemod")) {
+ fileName = fileName.substring(0, fileName.lastIndexOf("."))
+ }
- //get rid of directories:
- int lastSlash = fileName.lastIndexOf("/")
- if (lastSlash > 0) {
- fileName = fileName.substring(lastSlash + 1)
- }
- //get rid of extension:
- if (fileName.endsWith(".jar") || fileName.endsWith(".litemod")) {
- fileName = fileName.substring(0, fileName.lastIndexOf("."))
- }
+ String hostName = url.getHost()
+ if (hostName.startsWith("www.")) {
+ hostName = hostName.substring(4)
+ }
+ List parts = Arrays.asList(hostName.split("\\."))
+ Collections.reverse(parts)
+ hostName = String.join(".", parts)
- String hostName = url.getHost()
- if (hostName.startsWith("www.")) {
- hostName = hostName.substring(4)
+ return deobf(sourceURL, "$hostName/$fileName")
+ } catch (Exception e) {
+ return deobf(sourceURL, "deobf/${sourceURL.hashCode()}")
}
- List parts = Arrays.asList(hostName.split("\\."))
- Collections.reverse(parts)
- hostName = String.join(".", parts)
-
- return deobf(sourceURL, "$hostName/$fileName")
-} catch (Exception e) {
- return deobf(sourceURL, "deobf/${sourceURL.hashCode()}")
-}
}
// The method above is to be preferred. Use this method if the filename is not at the end of the URL.
def deobf(String sourceURL, String rawFileName) {
-String bon2Version = "2.5.1"
-String fileName = URLDecoder.decode(rawFileName, "UTF-8")
-String cacheDir = "$project.gradle.gradleUserHomeDir/caches"
-String bon2Dir = "$cacheDir/forge_gradle/deobf"
-String bon2File = "$bon2Dir/BON2-${bon2Version}.jar"
-String obfFile = "$cacheDir/modules-2/files-2.1/${fileName}.jar"
-String deobfFile = "$cacheDir/modules-2/files-2.1/${fileName}-deobf.jar"
-
-if (file(deobfFile).exists()) {
- return files(deobfFile)
-}
+ String bon2Version = "2.5.1"
+ String fileName = URLDecoder.decode(rawFileName, "UTF-8")
+ String cacheDir = "$project.gradle.gradleUserHomeDir/caches"
+ String bon2Dir = "$cacheDir/forge_gradle/deobf"
+ String bon2File = "$bon2Dir/BON2-${bon2Version}.jar"
+ String obfFile = "$cacheDir/modules-2/files-2.1/${fileName}.jar"
+ String deobfFile = "$cacheDir/modules-2/files-2.1/${fileName}-deobf.jar"
-String mappingsVer
-String remoteMappings = project.hasProperty('remoteMappings') ? project.remoteMappings : 'https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/'
-if (remoteMappings) {
- String id = "${forgeVersion.split("\\.")[3]}-$minecraftVersion"
- String mappingsZIP = "$cacheDir/forge_gradle/maven_downloader/de/oceanlabs/mcp/mcp_snapshot_nodoc/$id/mcp_snapshot_nodoc-${id}.zip"
+ if (file(deobfFile).exists()) {
+ return files(deobfFile)
+ }
- zipMappings(mappingsZIP, remoteMappings, bon2Dir)
+ String mappingsVer
+ String remoteMappings = project.hasProperty('remoteMappings') ? project.remoteMappings : 'https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/'
+ if (remoteMappings) {
+ String id = "${forgeVersion.split("\\.")[3]}-$minecraftVersion"
+ String mappingsZIP = "$cacheDir/forge_gradle/maven_downloader/de/oceanlabs/mcp/mcp_snapshot_nodoc/$id/mcp_snapshot_nodoc-${id}.zip"
- mappingsVer = "snapshot_$id"
-} else {
- mappingsVer = "${channel}_$mappingsVersion"
-}
+ zipMappings(mappingsZIP, remoteMappings, bon2Dir)
-download.run {
- src "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/com/github/parker8283/BON2/$bon2Version-CUSTOM/BON2-$bon2Version-CUSTOM-all.jar"
- dest bon2File
- quiet true
- overwrite false
-}
+ mappingsVer = "snapshot_$id"
+ } else {
+ mappingsVer = "${channel}_$mappingsVersion"
+ }
-download.run {
- src sourceURL
- dest obfFile
- quiet true
- overwrite false
-}
+ download.run {
+ src "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/com/github/parker8283/BON2/$bon2Version-CUSTOM/BON2-$bon2Version-CUSTOM-all.jar"
+ dest bon2File
+ quiet true
+ overwrite false
+ }
-exec {
- commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', minecraftVersion, '--mappingsVer', mappingsVer, '--notch'
- workingDir bon2Dir
- standardOutput = new FileOutputStream("${deobfFile}.log")
-}
+ download.run {
+ src sourceURL
+ dest obfFile
+ quiet true
+ overwrite false
+ }
-return files(deobfFile)
+ exec {
+ commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', minecraftVersion, '--mappingsVer', mappingsVer, '--notch'
+ workingDir bon2Dir
+ standardOutput = new FileOutputStream("${deobfFile}.log")
+ }
+
+ return files(deobfFile)
}
def zipMappings(String zipPath, String url, String bon2Dir) {
-File zipFile = new File(zipPath)
-if (zipFile.exists()) {
- return
-}
+ File zipFile = new File(zipPath)
+ if (zipFile.exists()) {
+ return
+ }
-String fieldsCache = "$bon2Dir/data/fields.csv"
-String methodsCache = "$bon2Dir/data/methods.csv"
+ String fieldsCache = "$bon2Dir/data/fields.csv"
+ String methodsCache = "$bon2Dir/data/methods.csv"
-download.run {
- src "${url}fields.csv"
- dest fieldsCache
- quiet true
-}
-download.run {
- src "${url}methods.csv"
- dest methodsCache
- quiet true
-}
+ download.run {
+ src "${url}fields.csv"
+ dest fieldsCache
+ quiet true
+ }
+ download.run {
+ src "${url}methods.csv"
+ dest methodsCache
+ quiet true
+ }
-zipFile.getParentFile().mkdirs()
-ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile))
+ zipFile.getParentFile().mkdirs()
+ ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile))
-zos.putNextEntry(new ZipEntry("fields.csv"))
-Files.copy(Paths.get(fieldsCache), zos)
-zos.closeEntry()
+ zos.putNextEntry(new ZipEntry("fields.csv"))
+ Files.copy(Paths.get(fieldsCache), zos)
+ zos.closeEntry()
-zos.putNextEntry(new ZipEntry("methods.csv"))
-Files.copy(Paths.get(methodsCache), zos)
-zos.closeEntry()
+ zos.putNextEntry(new ZipEntry("methods.csv"))
+ Files.copy(Paths.get(methodsCache), zos)
+ zos.closeEntry()
-zos.close()
+ zos.close()
}
// Helper methods
def checkPropertyExists(String propertyName) {
-if (!project.hasProperty(propertyName)) {
- throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties")
-}
+ if (!project.hasProperty(propertyName)) {
+ throw new GradleException("This project requires a property \"" + propertyName + "\"! Please add it your \"gradle.properties\". You can find all properties and their description here: https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/gradle.properties")
+ }
}
def propertyDefaultIfUnset(String propertyName, defaultValue) {
-if (!project.hasProperty(propertyName) || project.property(propertyName) == "") {
- project.ext.setProperty(propertyName, defaultValue)
-}
+ if (!project.hasProperty(propertyName) || project.property(propertyName) == "") {
+ project.ext.setProperty(propertyName, defaultValue)
+ }
}
def getFile(String relativePath) {
-return new File(projectDir, relativePath)
+ return new File(projectDir, relativePath)
}
def getSecondaryArtifacts() {
-// Because noPublishedSources from the beginning of the script is somehow not visible here...
-boolean noPublishedSources = project.hasProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false
-def secondaryArtifacts = [devJar]
-if (!noPublishedSources) secondaryArtifacts += [sourcesJar]
-if (apiPackage) secondaryArtifacts += [apiJar]
-return secondaryArtifacts
+ // Because noPublishedSources from the beginning of the script is somehow not visible here...
+ boolean noPublishedSources = project.hasProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false
+ def secondaryArtifacts = [devJar]
+ if (!noPublishedSources) secondaryArtifacts += [sourcesJar]
+ if (apiPackage) secondaryArtifacts += [apiJar]
+ return secondaryArtifacts
}