diff options
| author | Prometheus0000 <prometheus0000000@gmail.com> | 2021-04-13 07:06:06 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-13 07:06:06 -0400 |
| commit | f9241e9c29a0abcecdcc58a1da956b79e6507714 (patch) | |
| tree | 100a5a1f6cc815a1229f05fc4124626c61b3c566 | |
| parent | 67d69bea466aed1de605e10fda01b84a892a7c9a (diff) | |
| parent | d35bc08e43142f661163f04b28d3d19e3bffc0c5 (diff) | |
| download | GT5-Unofficial-f9241e9c29a0abcecdcc58a1da956b79e6507714.tar.gz GT5-Unofficial-f9241e9c29a0abcecdcc58a1da956b79e6507714.tar.bz2 GT5-Unofficial-f9241e9c29a0abcecdcc58a1da956b79e6507714.zip | |
Merge pull request #5 from Technus/master
update
50 files changed, 2046 insertions, 1058 deletions
diff --git a/.gitignore b/.gitignore index 02507f643c..3d66b81105 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ .gradle/ -eclipse/ +run/ .settings/ .classpath .project @@ -41,3 +41,4 @@ libs/Galacticraft-API-1.7-3.0.12.504.jar libs/GTNewHorizonsCoreMod-1.7.10-1.6.10.jar libs/MicdoodleCore-1.7-3.0.12.504.jar libs/worldedit-forge-mc1.7.10-6.1.1-dist.jar +eclipse/ diff --git a/build.gradle b/build.gradle deleted file mode 100644 index d9b1d23bb2..0000000000 --- a/build.gradle +++ /dev/null @@ -1,225 +0,0 @@ -buildscript { - repositories { - maven { - name = "mavenLocal" - url = "mavenLocal" - } - 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.2-SNAPSHOT' - classpath "de.undercouch:gradle-download-task:3.1.2" - } -} - -plugins { - id 'org.ajoberstar.grgit' version '3.1.1' -} - -file "build.properties" withReader { - def prop = new Properties() - prop.load(it) - ext.config = new ConfigSlurper().parse prop -} - -def getVersionAppendage() { - def proc = "git rev-parse --short HEAD".execute() - proc.waitFor() - return "DEV." + proc.exitValue() ? proc.text.trim() : "GITBORK" -} - -ext.set("minecraftVersion","${config.minecraft.version}-${config.forge.version}-${config.minecraft.version}") - -import de.undercouch.gradle.tasks.download.Download -apply plugin: 'forge' -apply plugin: 'signing' - -allprojects { - apply plugin: 'java' - sourceCompatibility = 1.8 - targetCompatibility = 1.8 -} - -sourceSets { - main { - java { - srcDir 'src/main/java' - srcDir 'AVRcore/src' - } - } -} - -version = "${config.minecraft.version}-${config.tectech.version}-"+getVersionAppendage() -group = "com.github.technus" -archivesBaseName = "TecTech" - -minecraft.version = ext.get("minecraftVersion") -minecraft.runDir = "eclipse" -minecraft.replaceIn "src/main/java/com/github/technus/tectech/Reference.java" -minecraft.replace "GRADLETOKEN_VERSION", "${config.tectech.version}" - -configurations { - provided - embedded - compile.extendsFrom provided, embedded -} - -repositories { - maven { //Computercraft, NEI, chicken core and lib - name = "GregTech maven" - url = "https://gregtech.overminddl1.com/" - } - maven { //YAMCore - name 'UsrvDE maven' - url "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/" - } - maven { //IC2 - name = "IC2 maven" - url = "http://maven.ic2.player.to/" - } - maven { // Baubles and Thaumcraft - name 'MC Mod Dev maven' - url 'https://maven.mcmoddev.com/' - } - maven { // OpenComputers - name "OpenComputers maven" - url "http://maven.cil.li/" - } - maven { // EnderIO - name "Tterrag maven" - url "https://maven.tterrag.com/" - } - maven { - name = "Curse Maven" - url = "https://www.cursemaven.com" - } - //ivy { //CoFHCore - // name 'gtnh_download_source' - // artifactPattern "http://downloads.gtnewhorizons.com/Mods_for_Jenkins/[module]-[revision].[ext]" - //} -} - -dependencies { - compile "eu.usrv:YAMCore:${config.minecraft.version}-${config.yamcore.version}:deobf" - compile "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev" - compile "net.sengir.forestry:forestry_${config.minecraft.version}:${config.forestry.version}:api" - compile "codechicken:CodeChickenLib:${config.minecraft.version}-${config.codechickenlib.version}:dev" - compile "codechicken:CodeChickenCore:${config.minecraft.version}-${config.codechickencore.version}:dev" - compile "codechicken:NotEnoughItems:${config.minecraft.version}-${config.nei.version}:dev" - compile "com.azanor:Baubles:${config.minecraft.version}-${config.baubles.version}" - compile "com.azanor:Thaumcraft:${config.minecraft.version}-${config.thaumcraft.version}:deobf" - compile "li.cil.oc:OpenComputers:MC${config.minecraft.version}-${config.opencomputers.version}:dev" - compile "com.enderio.core:EnderCore:${config.minecraft.version}-${config.endercore.version}" - compile ("com.enderio:EnderIO:${config.minecraft.version}-${config.enderio.version}"){ - exclude module: 'Waila' - exclude module: 'EnderCore' - } - compile "mcp.mobius.waila:Waila:${config.waila.version}_${config.minecraft.version}" - //Greg - compile "dan200.computercraft:ComputerCraft:${config.computercraft.version}" - 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 "micdoodle8.mods:Galacticraft:${config.galacticraft.version}:API" - compile "com.mod-buildcraft:buildcraft:${config.buildcraft.version}:dev" - - //TODO Re-work the formatting and add documentation - runtime "curse.maven:cofh-core:${config.cofh_core_version}" - //Ivy - //compile name: 'CoFHCore', version: config.cofhcore.version, ext: 'jar' - -} - -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" - delete fileTree("$projectDir/libs/") { - include 'gregtech-*-dev.jar' - exclude "gregtech-${config.gregtech.version}-dev.jar" - } -} - -task submodulesUpdate(type: Exec) { - description 'Updates (and inits) git submodules' - commandLine 'git', 'submodule', 'update', '--init', '--recursive','--remote' - group 'Build Setup' -} - -tasks.setupCIWorkspace.dependsOn submodulesUpdate -tasks.setupDevWorkspace.dependsOn submodulesUpdate -tasks.setupDecompWorkspace.dependsOn submodulesUpdate -tasks.compileJava.dependsOn submodulesUpdate -tasks.sourceMainJava.dependsOn submodulesUpdate - -tasks.setupCIWorkspace.dependsOn getGregTech -tasks.setupDevWorkspace.dependsOn getGregTech -tasks.setupDecompWorkspace.dependsOn getGregTech -tasks.compileJava.dependsOn getGregTech - -processResources - { - def cleanVersion = project.version.split('-')[1] - // this will ensure that this task is redone when the versions change. - inputs.property "version", cleanVersion - 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': cleanVersion, 'mcversion': project.minecraft.version - } - - // copy everything else, thats not the mcmod.info - from(sourceSets.main.resources.srcDirs) { - exclude 'mcmod.info' - } - } - -task devJar(type: Jar) { - from sourceSets.main.output - classifier = 'dev' -} - -artifacts { - archives devJar -} - -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 - ) - } -} - -jar { - manifest - { - attributes "FMLAT": "tectech_at.cfg" - } -} - -//Fixes Intellij Runs not loading textures -sourceSets { main { output.resourcesDir = output.classesDir } }
\ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000000..04935c1158 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,280 @@ +import net.minecraftforge.gradle.user.UserExtension +import java.io.FileInputStream +import java.util.* +import java.io.* + +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 + signing +} + +apply(plugin = "forge") + +//Downloads Javadocs and sources by default +idea { + module { + this.isDownloadJavadoc = true + this.isDownloadSources = true + } +} + +//Set Java to version 1.8 +java { + this.sourceCompatibility = JavaVersion.VERSION_1_8 + this.targetCompatibility = JavaVersion.VERSION_1_8 +} + +//Set standard encoding +tasks.withType<JavaCompile> { + options.encoding = "UTF-8" +} + +//Add extra sources here +sourceSets.getByName("main") { + java.srcDir("src/main/java") + java.srcDir("AVRcore/src") +} + +//Load Minecraft Version +val Project.minecraft: UserExtension + get() = extensions.getByName<UserExtension>("minecraft") + +//TODO Delete this! This exists to load the configs from the real properties file, which is needed for Jenkins to build +//Gradle will load gradle.properties from it's home, it's install, and the project folder. Clearly whoever setup the +//Jenkins jar signing needs to be reminded of this! +val prop = Properties() +prop.load(FileInputStream("real.gradle.properties")) +val propSign = Properties() +propSign.load(FileInputStream("gradle.properties")) + +//TODO Delete +val projectVersion: String = prop.getProperty("projectVersion") +//TODO Uncomment +//val projectVersion: String by project + +//Generates a hash for each new commit to differentiate versions +var commitHash = Runtime + .getRuntime() + .exec("git rev-parse --short HEAD") + .let { process -> + process.waitFor() + val output = process.inputStream.use { + it.bufferedReader().use(BufferedReader::readText) + } + process.destroy() + output.trim() + } + +minecraft.version = "1.7.10-10.13.4.1614-1.7.10" +version = "$projectVersion-$commitHash" +group = "com.github.technus" + +//Minecraft Block +configure<UserExtension> { + //Replaces version inside the mod + this.includes.addAll( + arrayOf( + "Reference.java" + ) + ) + this.replacements.putAll( + mapOf( + Pair("GRADLETOKEN_VERSION", project.version) + ) + ) + + //This is sometimes called 'eclipse' instead + 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_underscores" + 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 { + //Local Libraries + compile(fileTree("libs") { this.include("*.jar") }) + + //TODO Uncomment + //Versions from properties + //val ic2Version: String by project + //val gt5uVersion: String by project + //val yamcoreVersion: String by project + //val opencomputersVersion: String by project + //val computercraftVersion: String by project + //val baublesVersion: String by project + //val thaumcraftVersion: String by project + //val codechickenlibVersion: String by project + //val codechickencoreVersion: String by project + //val neiVersion: String by project + //val wailaVersion: String by project + //val galacticraftVersion: String by project + //val galacticGregVersion: String by project + //val buildcraftVersion: String by project + //val forestryVersion: String by project + //val enderioVersion: String by project + //val enderCoreVersion: String by project + + //TODO Delete + val ic2Version: String = prop.getProperty("ic2Version") + val gt5uVersion: String = prop.getProperty("gt5uVersion") + val yamcoreVersion: String = prop.getProperty("yamcoreVersion") + val opencomputersVersion: String = prop.getProperty("opencomputersVersion") + val computercraftVersion: String = prop.getProperty("computercraftVersion") + val baublesVersion: String = prop.getProperty("baublesVersion") + val thaumcraftVersion: String = prop.getProperty("thaumcraftVersion") + val codechickenlibVersion: String = prop.getProperty("codechickenlibVersion") + val codechickencoreVersion: String = prop.getProperty("codechickencoreVersion") + val neiVersion: String = prop.getProperty("neiVersion") + val wailaVersion: String = prop.getProperty("wailaVersion") + val galacticraftVersion: String = prop.getProperty("galacticraftVersion") + val galacticGregVersion: String = prop.getProperty("galacticGregVersion") + val buildcraftVersion: String = prop.getProperty("buildcraftVersion") + val forestryVersion: String = prop.getProperty("forestryVersion") + val enderioVersion: String = prop.getProperty("enderioVersion") + val enderCoreVersion: String = prop.getProperty("enderCoreVersion") + + //Hard Dependencies + compile("net.industrial-craft:industrialcraft-2:$ic2Version:dev") + compile("com.github.GTNewHorizons:GT5-Unofficial:$gt5uVersion:dev"){ + exclude("net.industrial-craft", "industrialcraft-2") + } + compile("eu.usrv:YAMCore:$yamcoreVersion:deobf") + + //Compile Dependencies + compileOnly("li.cil.oc:OpenComputers:$opencomputersVersion:dev") + compileOnly("dan200.computercraft:ComputerCraft:$computercraftVersion") + compile("com.azanor.baubles:Baubles:$baublesVersion:deobf") + compile("thaumcraft:Thaumcraft:$thaumcraftVersion:dev") + compile("codechicken:CodeChickenLib:$codechickenlibVersion:dev") + compile("codechicken:CodeChickenCore:$codechickencoreVersion:dev") + compile("codechicken:NotEnoughItems:$neiVersion:dev") + + //Optional Libraries for Testing + runtimeOnly("mcp.mobius.waila:Waila:$wailaVersion") + + //runtimeOnly("micdoodle8.mods:MicdoodleCore:$galacticraftVersion:Dev") + //runtimeOnly("micdoodle8.mods:GalacticraftCore:$galacticraftVersion:Dev") + //runtimeOnly("micdoodle8.mods:Galacticraft-Planets:$galacticraftVersion:Dev") + //runtimeOnly("com.github.GTNewHorizons:GalacticGregGT5:$galacticGregVersion") + //runtimeOnly("com.mod-buildcraft:buildcraft:$buildcraftVersion:dev") + //runtimeOnly("net.sengir.forestry:forestry_1.7.10:$forestryVersion:dev") + //runtimeOnly("com.enderio.core:EnderCore:$enderCoreVersion:dev") + //runtimeOnly("com.enderio:EnderIO:$enderioVersion:dev"){ + // exclude("com.enderio.core", "EnderCore") + // exclude("mcp.mobius.waila", "Waila") + //} +} + +tasks.withType<Jar> { + //Mark as outdated if versions change + this.inputs.properties += "version" to project.version + this.inputs.properties += "mcversion" to project.minecraft.version + this.archiveBaseName.set("TecTech-${project.minecraft.version}") + + //Replace versions in mcmod.info + this.filesMatching("/mcmod.info") { + this.expand( + mapOf( + "version" to project.version, + "mcversion" to project.minecraft.version + ) + ) + } +} + +//Load AVRcore +val submodulesUpdate by tasks.creating(Exec::class) { + this.description = "Updates (and inits) git submodules" + this.group = "Build Setup" + this.commandLine("git", "submodule", "update", "--init", "--recursive", "--remote") +} +tasks.named("setupCIWorkspace") { + dependsOn(":submodulesUpdate") +} +tasks.named("setupDevWorkspace") { + dependsOn(":submodulesUpdate") +} +tasks.named("setupDecompWorkspace") { + dependsOn(":submodulesUpdate") +} +tasks.named("compileJava") { + dependsOn(":submodulesUpdate") +} +tasks.named("sourceMainJava") { + dependsOn(":submodulesUpdate") +} + +tasks.jar { + //Needed for access transformer which allows nerfing hardness of blocks + this.manifest.attributes( + mapOf( + Pair("FMLAT", "tectech_at.cfg") + ) + ) +} + +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(sourcesJar) + this.archives(devJar) +} + +tasks.register("signJar") { + dependsOn("reobf") +} + +//TODO Fix, but technically it was never fully implemented +//signing { +// sign(tasks["jar"]) +//} +// +//tasks.named("signJar") { +// allprojects { +// extra["signing.keyId"] = propSign.getProperty("keyStoreAlias") +// extra["signing.secretKeyRingFile"] = propSign.getProperty("keyStore") +// extra["signing.password"] = propSign.getProperty("keyStorePass") +// } +// dependsOn(":reobf") +//}
\ No newline at end of file diff --git a/build.properties b/build.properties deleted file mode 100644 index bcb286a8e0..0000000000 --- a/build.properties +++ /dev/null @@ -1,23 +0,0 @@ -minecraft.version=1.7.10 -forge.version=10.13.4.1614 -tectech.version=4.10.0 - -ic2.version=2.2.790-experimental -codechickenlib.version=1.1.3.140 -codechickencore.version=1.0.7.47 -nei.version=1.0.5.120 -gregtech.jenkinsbuild=813 -gregtech.version=5.09.34.01 -#cofhcore.version=[1.7.10]3.1.4-329-dev -cofh_core_version=2388751 -yamcore.version=0.5.79 -baubles.version=1.0.1.10 -thaumcraft.version=4.2.3.5 -opencomputers.version=1.7.5.1291 -galacticraft.version=1.7-3.0.12.504 -computercraft.version=1.75 -forestry.version=4.2.16.64 -enderio.version=2.3.0.429_beta -endercore.version=0.2.0.39_beta -waila.version=1.5.10 -buildcraft.version=7.1.23 diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000000..83dd93b556 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,4 @@ +#Dummy File, replaced in Jenkins +keyStoreAlias=w +keyStore=w +keyStorePass=w
\ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar Binary files differindex 3baa851b28..758de960ec 100644 --- a/gradle/wrapper/gradle-wrapper.jar +++ b/gradle/wrapper/gradle-wrapper.jar diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 7b33d51c2f..5028f28f8e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Sun Apr 19 08:14:01 CEST 2020 -distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-all.zip distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip zipStoreBase=GRADLE_USER_HOME +zipStor |
