From f8e83dc1e1107749a8b9ae6c506f403bf8a62b2e Mon Sep 17 00:00:00 2001 From: Thog Date: Mon, 14 Sep 2015 16:20:48 +0200 Subject: [PATCH] Simplify artifacts deployement This commit contain : - New modules tasks - A new wrapper (Update to 2.6) - A new SCP upload task --- build.gradle | 176 +++++++++++++++++++++++ gradle/wrapper/gradle-wrapper.jar | Bin 51348 -> 53636 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- misc/dist.sh | 30 ---- private.properties.example | 5 + 5 files changed, 183 insertions(+), 32 deletions(-) delete mode 100755 misc/dist.sh create mode 100644 private.properties.example diff --git a/build.gradle b/build.gradle index 5152e6c6..2e7146b9 100755 --- a/build.gradle +++ b/build.gradle @@ -26,6 +26,10 @@ version = "7.2.0" group= "com.mod-buildcraft" archivesBaseName = "buildcraft" // the name that all artifacts will use as a base. artifacts names follow this pattern: [baseName]-[appendix]-[version]-[classifier].[extension] +ext.mcModInfo = new groovy.json.JsonSlurper().parse(file("buildcraft_resources/mcmod.info")) +ext.priv = parseConfig(file('private.properties')) + + minecraft { version = "1.7.10-10.13.4.1490-1.7.10" // McVersion-ForgeVersion this variable is later changed to contain only the MC version, while the apiVersion variable is used for the forge version. Yeah its stupid, and will be changed eentually. @@ -61,6 +65,12 @@ sourceSets { } } +// Obfuscated Jar location +ext.jarFile = zipTree(jar.archivePath) + +// Add API dir to the IDEA module +idea.module.sourceDirs += sourceSets.api.java.srcDirs + processResources { // replace stuff in mcmod.info, nothing else @@ -82,6 +92,30 @@ processResources // extra jar section // ------------------- + + +def createMCModInfo(def id, def taskName) +{ + File temp = new File("build/processing/" + taskName + "/mcmod.info") + temp.parentFile.mkdirs() + if (temp.exists()) + temp.delete() + temp.createNewFile() + temp.write(groovy.json.JsonOutput.toJson([ext.mcModInfo[id]])) + temp.deleteOnExit() + return temp +} + +def parseConfig(File config) { + if (!config.exists()) + return null; + config.withReader { + def prop = new Properties() + prop.load(it) + return (new ConfigSlurper().parse(prop)) + } +} + // add a source jar task sourceJar(type: Jar) { from sourceSets.main.allSource @@ -112,6 +146,98 @@ task apiJar(type: Jar) { classifier = 'api' } +task coreJar(type: Jar, dependsOn: reobf) { + + destinationDir = file("modules") + classifier = 'core' + + doFirst { + from(createMCModInfo(0, name).parentFile) + from(project.ext.jarFile) { + includes.addAll(["assets/buildcraft/**", "assets/buildcraftcore/**", "buildcraft/BuildCraftCore**", "buildcraft/BuildCraftMod**", "buildcraft/core/**", "buildcraft/api/**", "cofh/**", "changelog/**", "LICENSE**", "versions.txt"]) + } + } +} + +task buildersJar(type: Jar, dependsOn: reobf) { + + destinationDir = file("modules") + classifier = 'builders' + + doFirst { + from(createMCModInfo(1, name).parentFile) + from(project.ext.jarFile) { + includes.addAll(["assets/buildcraftbuilders/**", "buildcraft/builders/**", "buildcraft/BuildCraftBuilders**", "LICENSE"]) + } + } +} + +task energyJar(type: Jar, dependsOn: reobf) { + + destinationDir = file("modules") + classifier = 'energy' + + doFirst { + from(createMCModInfo(2, name).parentFile) + from(project.ext.jarFile) { + includes.addAll(["assets/buildcraftenergy/**", "buildcraft/energy/**", "buildcraft/BuildCraftEnergy**", "LICENSE"]) + } + } +} + +task factoryJar(type: Jar, dependsOn: reobf) { + + destinationDir = file("modules") + classifier = 'factory' + + doFirst { + from(createMCModInfo(3, name).parentFile) + from(project.ext.jarFile) { + includes.addAll(["assets/buildcraftfactory/**", "buildcraft/factory/**", "buildcraft/BuildCraftFactory**", "LICENSE"]) + } + } +} + +task siliconJar(type: Jar, dependsOn: reobf) { + + destinationDir = file("modules") + classifier = 'silicon' + + doFirst { + from(createMCModInfo(4, name).parentFile) + from(project.ext.jarFile) { + includes.addAll(["assets/buildcraftsilicon/**", "buildcraft/silicon/**", "buildcraft/BuildCraftSilicon**", "LICENSE"]) + } + } +} + +task transportJar(type: Jar, dependsOn: reobf) { + + destinationDir = file("modules") + classifier = 'transport' + + doFirst { + from(createMCModInfo(5, name).parentFile) + from(project.ext.jarFile) { + includes.addAll(["assets/buildcrafttransport/**", "buildcraft/transport/**", "buildcraft/BuildCraftTransport**", "LICENSE"]) + } + } +} + +task roboticsJar(type: Jar, dependsOn: reobf) { + + destinationDir = file("modules") + classifier = 'robotics' + + doFirst { + from(createMCModInfo(6, name).parentFile) + from(project.ext.jarFile) { + includes.addAll(["assets/buildcraftrobotics/**", "buildcraft/robotics/**", "buildcraft/BuildCraftRobotics**", "LICENSE"]) + } + } +} + + // add api classes to main package jar { from sourceSets.api.output @@ -133,11 +259,17 @@ build.dependsOn sourceJar, javadocJar, deobfJar, apiJar // create the deployerJars dependency configuration configurations { deployerJars + sshAntTask } dependencies { // dependency in deployerJars, for maven deployment. see definition in mavenDeployer{} below deployerJars "org.apache.maven.wagon:wagon-ssh:2.2" + sshAntTask 'org.apache.ant:ant-jsch:1.9.6', 'com.jcraft:jsch:0.1.53' +} + +clean{ + delete "modules" } // specify artifacts to be uploaded @@ -147,8 +279,52 @@ artifacts { archives javadocJar archives deobfJar archives apiJar + + // Modules + archives coreJar + archives buildersJar + archives energyJar + archives factoryJar + archives siliconJar + archives transportJar + archives roboticsJar } +def sftp(String subPath, Closure antFileset = {}) { + ant { + taskdef(name: 'scp', classname: 'org.apache.tools.ant.taskdefs.optional.ssh.Scp', + classpath: configurations.sshAntTask.asPath) + Map sftpArgs = [ + verbose : 'yes', + todir : priv.username + "@" + priv.host + ":" + priv.remotedir + version + "/" + subPath, + port: priv.port, + password: priv.password, + sftp: true, + trust: 'yes' + ] + delegate.scp(sftpArgs) { + antFileset.delegate = delegate + antFileset() + } + } +} + +task upload(dependsOn: build) { + description = 'Update files on remote server.' + doFirst { + sftp("") { + fileset(dir: libsDir) + } + sftp("modules") { + fileset(dir: 'modules') + } + } +} + + +if (ext.priv == null) + upload.enabled = false; + uploadArchives { // make sure this happens after reobfuscation dependsOn 'reobf' diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 0087cd3b18659b5577cf6ad3ef61f8eb9416ebba..fd7e590e5154e82211909581e71018372134fb27 100644 GIT binary patch delta 31518 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%0AidC0W48oaW0j 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 S$gH5jjfw^arr-6?fBzpr3ieL` delta 29341 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 662430a8..5cec17b9 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue May 06 21:57:37 CEST 2014 +#Mon Sep 14 16:20:35 CEST 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-1.12-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.6-bin.zip diff --git a/misc/dist.sh b/misc/dist.sh deleted file mode 100755 index 327b0a5c..00000000 --- a/misc/dist.sh +++ /dev/null @@ -1,30 +0,0 @@ -# This script requires a copy of pngout and kzip. -# THIS SCRIPT IS HIGHLY TEMPORARY - SHOULD BE REPLACED WITH A GRADLE VERSION - -#!/bin/sh -rm -rf dist -mkdir -p dist/tmp -mkdir -p dist/misc -mkdir -p dist/modules -cd dist -cp ../build/libs/buildcraft-$1* . -cd tmp -unzip ../../build/libs/buildcraft-$1.jar -rm ../buildcraft-$1.jar - -for i in `find -name *.png`; do ../../tools/pngout "$i"; done -../../tools/kzip -r -y ../buildcraft-$1.jar * - -../../tools/kzip -r -y ../modules/buildcraft-$1-core.jar assets/buildcraft assets/buildcraftcore buildcraft/BuildCraftCore* buildcraft/core \ - buildcraft/BuildCraftMod* buildcraft/api \ - cofh LICENSE* changelog mcmod.info versions.txt -../../tools/kzip -r -y ../modules/buildcraft-$1-builders.jar assets/buildcraftbuilders buildcraft/BuildCraftBuilders* buildcraft/builders LICENSE -../../tools/kzip -r -y ../modules/buildcraft-$1-energy.jar assets/buildcraftenergy buildcraft/BuildCraftEnergy* buildcraft/energy LICENSE -../../tools/kzip -r -y ../modules/buildcraft-$1-factory.jar assets/buildcraftfactory buildcraft/BuildCraftFactory* buildcraft/factory LICENSE -../../tools/kzip -r -y ../modules/buildcraft-$1-robotics.jar assets/buildcraftrobotics buildcraft/BuildCraftRobotics* buildcraft/robotics LICENSE -../../tools/kzip -r -y ../modules/buildcraft-$1-silicon.jar assets/buildcraftsilicon buildcraft/BuildCraftSilicon* buildcraft/silicon LICENSE -../../tools/kzip -r -y ../modules/buildcraft-$1-transport.jar assets/buildcrafttransport buildcraft/BuildCraftTransport* buildcraft/transport LICENSE - -cd .. -rm -rf tmp -cd .. diff --git a/private.properties.example b/private.properties.example new file mode 100644 index 00000000..8bf1c653 --- /dev/null +++ b/private.properties.example @@ -0,0 +1,5 @@ +remotedir = /home/exemple/ +host = thehost +port = 22 +username = **** +password = ****** \ No newline at end of file