diff options
-rw-r--r-- | build.gradle | 231 | ||||
-rw-r--r-- | build.gradle.kts | 202 | ||||
-rw-r--r-- | gradle.properties (renamed from build.properties) | 15 | ||||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.properties | 2 |
4 files changed, 209 insertions, 241 deletions
diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 96e65157ca..0000000000 --- a/build.gradle +++ /dev/null @@ -1,231 +0,0 @@ -buildscript { - repositories { - mavenCentral() - maven { - name = "forge" - url = "http://files.minecraftforge.net/maven" - } - maven { - name = "sonatype" - url = "https://oss.sonatype.org/content/repositories/snapshots/" - } - } - dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' - classpath "de.undercouch:gradle-download-task:3.1.2" - } -} - -plugins { - id "org.sonarqube" version "2.2" -} - -apply plugin: 'forge' -apply plugin: 'signing' -apply plugin: 'idea' -idea{ - module { - downloadJavadoc = true - downloadSources = true - } -} - -/* - * Copyright (c) 2018-2020 bartimaeusnek - * - * 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. - */ -import de.undercouch.gradle.tasks.download.Download - -//noinspection GroovyUnusedAssignment -sourceCompatibility = JavaVersion.VERSION_1_8 -//noinspection GroovyUnusedAssignment -targetCompatibility = JavaVersion.VERSION_1_8 -//noinspection GroovyUnusedAssignment -sourceCompatibility = 1.8 -//noinspection GroovyUnusedAssignment -targetCompatibility = 1.8 - -compileJava.options.encoding = 'UTF-8' - -ext.configFile = file "build.properties" -configFile.withReader { - def prop = new Properties() - prop.load(it) - project.ext.config = new ConfigSlurper().parse prop -} - - -version = config.majorUpdate+"."+config.minorUpdate+"."+config.buildNumber -//noinspection GroovyUnusedAssignment -group= "com.github.bartimaeusnek.bartworks" // http://maven.apache.org/guides/mini/guide-naming-conventions.html -//noinspection GroovyUnusedAssignment -archivesBaseName = "bartworks"+ "[" + config.mc_version + "]" - -minecraft { - version = "1.7.10-10.13.4.1614-1.7.10" - replaceIn "MainMod.java" - replaceIn "API_REFERENCE.java" - replace "@version@", project.version - replace "@apiversion@", config.APIVersion - runDir = "run" -} - -repositories { - mavenLocal() - maven { - name = "ic2" - url = "http://maven.ic2.player.to/" - } - maven { // AppleCore - url "http://www.ryanliptak.com/maven/" - } - maven { // GalacticGreg, YAMCore,.. - name 'UsrvDE' - url "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/" - } - ivy { - name 'gtnh_download_source_stupid_underscore_typo' - artifactPattern "http://downloads.gtnewhorizons.com/Mods_for_Jenkins/[module]_[revision].[ext]" - } - ivy { - name 'gtnh_download_source' - artifactPattern "http://downloads.gtnewhorizons.com/Mods_for_Jenkins/[module]-[revision].[ext]" - } - maven { - name = "gt" - url = "https://gregtech.overminddl1.com/" - } - maven { - url = "http://maven.cil.li/" - } -} - -dependencies { - compile "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev" - compile "micdoodle8.mods:MicdoodleCore:${config.galacticraft.version}:Dev" - compile "micdoodle8.mods:GalacticraftCore:${config.galacticraft.version}:Dev" - compile "micdoodle8.mods:Galacticraft-Planets:${config.galacticraft.version}:Dev" - compile "li.cil.oc:OpenComputers:MC1.7.10-1.5.+:api" - compileOnly "applecore:AppleCore:${config.applecore.version}:api" - compileOnly "com.enderio.core:EnderCore:${config.enderiocore.version}:dev" - compileOnly "com.enderio:EnderIO:${config.enderio.version}:dev" - compileOnly "com.enderio:EnderIO:${config.enderio.version}:dev" -} - -task getRailCraft(type: Download) { - onlyIf { - !file("libs/Railcraft_1.7.10-9.12.2.0-dev.jar").exists() - } - src 'http://downloads.gtnewhorizons.com/Mods_for_Jenkins/Railcraft_1.7.10-9.12.2.0-dev.jar' - dest file("libs/Railcraft_1.7.10-9.12.2.0-dev.jar") - mustRunAfter "deobfBinJar" - mustRunAfter "repackMinecraft" -} - -//task getGregTech(type: Download) { -// onlyIf { -// !file("libs/gregtech-${config.gregtech.version}-dev.jar").exists() -// } -// src "http://jenkins.usrv.eu:8080/job/Gregtech-5-Unofficial/${config.gregtech.jenkinsbuild}/artifact/build/libs/gregtech-${config.gregtech.version}-dev.jar" -// dest file("libs/gregtech-${config.gregtech.version}-dev.jar") -// mustRunAfter "deobfBinJar" -// mustRunAfter "repackMinecraft" -//} - -tasks.setupCIWorkspace.dependsOn getRailCraft -tasks.setupDevWorkspace.dependsOn getRailCraft -tasks.setupDecompWorkspace.dependsOn getRailCraft -tasks.compileJava.dependsOn getRailCraft - -processResources -{ - // this will ensure that this task is redone when the versions change. - inputs.property "version", project.version - inputs.property "mcversion", project.minecraft.version - - // replace stuff in mcmod.info, nothing else - from(sourceSets.main.resources.srcDirs) { - include 'mcmod.info' - - // replace version and mcversion - expand 'version':project.version, 'mcversion':project.minecraft.version - } - - // copy everything else, thats not the mcmod.info - from(sourceSets.main.resources.srcDirs) { - exclude 'mcmod.info' - } -} - -jar { - exclude ("assets/gregtech/textures/items/materialicons/copy.bat") - exclude ("assets/gregtech/textures/blocks/materialicons/copy.bat") - manifest { - attributes 'FMLCorePlugin': 'com.github.bartimaeusnek.ASM.BWCorePlugin','FMLCorePluginContainsFMLMod': 'true' - } -} - -task apiJar(type: Jar){ - from(sourceSets.main.output) { - include 'com/github/bartimaeusnek/bartworks/API/**' - include 'com/github/bartimaeusnek/bartworks/util/**' - include 'com/github/bartimaeusnek/bartworks/system/material/Werkstoff.class' - include 'com/github/bartimaeusnek/crossmod/thaumcraft/util/**' - } - classifier = 'API' -} - -task sourceJar(type: Jar) { - from sourceSets.main.allSource - classifier = 'sources' -} - -task devJar(type: Jar) { - from sourceSets.main.output - classifier = 'dev' -} - -artifacts { - archives devJar - archives sourceJar - archives apiJar -} - -sonarqube { - properties { - property "sonar.projectName", "bartworks" - property "sonar.projectKey", "bartimaeusnek_bartworks" - } -} - -task signJar(dependsOn: 'reobf'){ - doLast { - ant.signjar( - destDir: jar.destinationDir, - jar: jar.getArchivePath(), - alias: findProperty('keyStoreAlias') ?: '', - keystore: findProperty('keyStore') ?: '', - storepass: findProperty('keyStorePass') ?: '', - digestalg: findProperty('signDigestAlg') ?: '', - tsaurl: findProperty('signTSAurl') ?: '', - verbose: true - ) - } -} diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000000..c5cb8b82db --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,202 @@ +/* + * Copyright (c) 2018-2020 bartimaeusnek + * + * 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. + */ + +import net.minecraftforge.gradle.user.UserExtension + +buildscript { + repositories { + mavenCentral() + maven("http://files.minecraftforge.net/maven") + maven("https://jitpack.io") + } + dependencies { + classpath("com.github.GTNH2:ForgeGradle:FG_1.2-SNAPSHOT") + } +} + +plugins { + idea + java +} + +apply(plugin = "forge") + +idea { + module { + this.isDownloadJavadoc = true + this.isDownloadSources = true + } +} + +java { + this.sourceCompatibility = JavaVersion.VERSION_1_8 + this.targetCompatibility = JavaVersion.VERSION_1_8 +} + +tasks.withType<JavaCompile> { + options.encoding = "UTF-8" +} + +val majorUpdate: String by project +val minorUpdate: String by project +val buildNumber: String by project + +version = "$majorUpdate.$minorUpdate.$buildNumber" +group = "com.github.bartimaeusnek.bartworks" + +//minecraft block +configure<UserExtension> { + this.version = "1.7.10-10.13.4.1614-1.7.10" + this.includes.addAll( + arrayOf( + "MainMod.java", + "API_REFERENCE.java" + ) + ) + val apiVersion: String by project + this.replacements.putAll( + mapOf( + Pair("@version@", project.version), + Pair("@apiversion@", apiVersion) + ) + ) + this.runDir = "run" +} + +repositories { + mavenLocal() + maven("https://gregtech.overminddl1.com/") { this.name = "GT6Maven" } + maven("http://maven.ic2.player.to/") { this.name = "ic2" } + maven("http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/") { this.name = "UsrvDE/GTNH" } + ivy { + this.name = "gtnh_download_source_stupid_underscore_typo" + this.artifactPattern("http://downloads.gtnewhorizons.com/Mods_for_Jenkins/[module]_[revision].[ext]") + } + ivy { + this.name = "gtnh_download_source" + this.artifactPattern("http://downloads.gtnewhorizons.com/Mods_for_Jenkins/[module]-[revision].[ext]") + } + ivy { + this.name = "BuildCraft" + this.artifactPattern("http://www.mod-buildcraft.com/releases/BuildCraft/[revision]/[module]-[revision](-[classifier]).[ext]") + } + maven("http://maven.cil.li/") { this.name = "OpenComputers" } + maven("http://default.mobiusstrip.eu/maven") { this.name = "Jabba" } + maven("http://chickenbones.net/maven/") { this.name = "CodeChicken" } + maven("http://www.ryanliptak.com/maven/") { this.name = "appleCore" } + maven("https://jitpack.io") +} + +dependencies { + //Needed properties + val ic2Version: String by project + val galacticraftVersion: String by project + val applecoreVersion: String by project + val enderCoreVersion: String by project + val enderioVersion: String by project + //hard deps + compile("net.industrial-craft:industrialcraft-2:$ic2Version:dev") + //compile("com.github.GTNH2:GT5-Unofficial:experimental-SNAPSHOT:dev") //broken jitpack.io dep + //soft deps + compileOnly("com.azanor.baubles:Baubles:1.7.10-1.0.1.10:deobf") + compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") + compileOnly("mods.railcraft:Railcraft_1.7.10:9.12.3.0:dev") + compileOnly("micdoodle8.mods:MicdoodleCore:$galacticraftVersion:Dev") + compileOnly("micdoodle8.mods:GalacticraftCore:$galacticraftVersion:Dev") + compileOnly("micdoodle8.mods:Galacticraft-Planets:$galacticraftVersion:Dev") + compileOnly("li.cil.oc:OpenComputers:MC1.7.10-1.5.+:api") + compileOnly("net.sengir.forestry:forestry_1.7.10:4.2.16.64:dev") + compileOnly("com.github.GTNewHorizons:GalacticGregGT5:master-SNAPSHOT") + compileOnly(fileTree("libs") { this.include("*.jar") }) + + //CoreLibs for compile-age + //compileOnly("com.github.GTNH2:Yamcl:master-SNAPSHOT") //broken jitpack.io dep + compileOnly("applecore:AppleCore:$applecoreVersion:api") + compileOnly("com.enderio.core:EnderCore:$enderCoreVersion:dev") + compileOnly("com.enderio:EnderIO:$enderioVersion:dev") + + //NEI + compile("codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev") + compile("codechicken:CodeChickenCore:1.7.10-1.0.7.47:dev") + compile("codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev") +} + +val Project.minecraft: UserExtension + get() = extensions.getByName<UserExtension>("minecraft") + +tasks.withType<Jar> { + // this will ensure that this task is redone when the versions change. + this.inputs.properties += "version" to project.version + this.inputs.properties += "mcversion" to project.minecraft.version + this.archiveBaseName.set("bartworks[${project.minecraft.version}]") + + // replace stuff in mcmod.info, nothing else + this.filesMatching("/mcmod.info") { + this.expand( + mapOf( + "version" to project.version, + "mcversion" to project.minecraft.version + ) + ) + } +} + +tasks.jar { + this.exclude( + "assets/gregtech/textures/items/materialicons/copy.bat", + "assets/gregtech/textures/blocks/materialicons/copy.bat" + ) + this.manifest.attributes( + mapOf( + Pair("FMLCorePlugin","com.github.bartimaeusnek.ASM.BWCorePlugin"), + Pair("FMLCorePluginContainsFMLMod","true") + ) + ) +} + +val apiJar by tasks.creating(Jar::class) { + this.from(sourceSets.main.get().output) { + this.include( + "com/github/bartimaeusnek/bartworks/API/**", + "com/github/bartimaeusnek/bartworks/util/**", + "com/github/bartimaeusnek/bartworks/system/material/Werkstoff.class", + "com/github/bartimaeusnek/crossmod/thaumcraft/util/**" + ) + } + this.archiveClassifier.set("API") +} + +val sourcesJar by tasks.creating(Jar::class) { + this.from(sourceSets.main.get().allSource) + this.archiveClassifier.set("sources") +} + +val devJar by tasks.creating(Jar::class) { + this.from(sourceSets.main.get().output) + this.archiveClassifier.set("dev") +} + +artifacts { + this.archives(apiJar) + this.archives(sourcesJar) + this.archives(devJar) +}
\ No newline at end of file diff --git a/build.properties b/gradle.properties index bfd657b23f..4fdf782092 100644 --- a/build.properties +++ b/gradle.properties @@ -19,15 +19,12 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. # -mc_version=1.7.10 majorUpdate=0 minorUpdate=5 buildNumber=13.1 -APIVersion=11 -ic2.version=2.2.828-experimental -gregtech.version=5.09.33.38 -gregtech.jenkinsbuild=454 -applecore.version=1.7.10-3.1.1 -galacticraft.version=1.7-3.0.12.504 -enderio.version=1.7.10-2.3.0.429_beta -enderiocore.version=1.7.10-0.2.0.39_beta
\ No newline at end of file +apiVersion=11 +ic2Version=2.2.828-experimental +applecoreVersion=1.7.10-3.1.1 +galacticraftVersion=1.7-3.0.12.504 +enderioVersion=1.7.10-2.3.0.429_beta +enderCoreVersion=1.7.10-0.2.0.39_beta
\ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index daad77681b..9cc785acbf 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
\ No newline at end of file |