From 8023dd4db68e9720478a91fea792192a92dec473 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sat, 8 Mar 2014 18:33:00 +0100 Subject: [PATCH] cleaning up gradle scripts a little, adding maven repo generation for publishing --- build.gradle | 59 +++++++----------------------------------- build.properties | 6 +++++ gradle/artifact.gradle | 16 ++++++++++++ gradle/forge.gradle | 26 +++++++++++++++++++ gradle/release.gradle | 16 ++++++++++++ settings.gradle | 1 + 6 files changed, 75 insertions(+), 49 deletions(-) create mode 100644 build.properties create mode 100644 gradle/artifact.gradle create mode 100644 gradle/forge.gradle create mode 100644 gradle/release.gradle create mode 100644 settings.gradle diff --git a/build.gradle b/build.gradle index 151967e63..fc2e9916f 100644 --- a/build.gradle +++ b/build.gradle @@ -14,58 +14,19 @@ buildscript { apply plugin: 'forge' apply plugin: 'scala' -compileScala { - repositories { - ivy { - name "forge-cb" - artifactPattern "http://files.minecraftforge.net/[module]/[module]-dev-[revision].[ext]" - } - } - dependencies { - compile name: 'CodeChickenLib', version: "1.6.4-1.0.0.62", ext: 'jar' - compile name: 'ForgeMultipart', version: "1.6.4-1.0.0.250", ext: 'jar' - } +file "build.properties" withReader { + def prop = new Properties() + prop.load(it) + ext.config = new ConfigSlurper().parse prop } -version = "1.2.2" -group= "li.cil.oc" // http://maven.apache.org/guides/mini/guide-naming-conventions.html -archivesBaseName = "OpenComputers-MC1.6.4" +version = "${config.oc.version}" +group = "li.cil.oc" +archivesBaseName = "OpenComputers-MC${config.minecraft.version}" if (System.getenv("BUILD_NUMBER") != null) version += ".${System.getenv("BUILD_NUMBER")}" -minecraft { - version = "1.6.4-9.11.1.964" -} - -processResources { - // 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' - } -} - -// because the normal default jar task has been modified to be obfuscated -task deobfJar(type: Jar) { - from sourceSets.main.output - classifier = 'deobf' -} - -task apiJar(type: Jar) { - from sourceSets.main.output - classifier = 'api' - include 'li/cil/oc/api/**' -} - -artifacts { - archives deobfJar - archives apiJar -} +apply from: 'gradle/forge.gradle' +apply from: 'gradle/artifact.gradle' +apply from: 'gradle/release.gradle' diff --git a/build.properties b/build.properties new file mode 100644 index 000000000..ca1beeeea --- /dev/null +++ b/build.properties @@ -0,0 +1,6 @@ +minecraft.version=1.6.4 +forge.version=9.11.1.964 +oc.version=1.2.2 +ccl.version=1.0.0.62 +fmp.version=1.0.0.250 +maven.url=file:///var/www/users/fnuecke/maven.cil.li \ No newline at end of file diff --git a/gradle/artifact.gradle b/gradle/artifact.gradle new file mode 100644 index 000000000..481714759 --- /dev/null +++ b/gradle/artifact.gradle @@ -0,0 +1,16 @@ +// because the normal default jar task has been modified to be obfuscated +task deobfJar(type: Jar) { + from sourceSets.main.output + classifier = 'deobf' +} + +task apiJar(type: Jar) { + from sourceSets.main.output + classifier = 'api' + include 'li/cil/oc/api/**' +} + +artifacts { + archives deobfJar + archives apiJar +} diff --git a/gradle/forge.gradle b/gradle/forge.gradle new file mode 100644 index 000000000..5dfc3cc5a --- /dev/null +++ b/gradle/forge.gradle @@ -0,0 +1,26 @@ +compileScala { + repositories { + ivy { + name "forge-ext" + artifactPattern "http://files.minecraftforge.net/[module]/[module]-dev-[revision].[ext]" + } + } + dependencies { + compile name: 'CodeChickenLib', version: "${config.minecraft.version}-${config.ccl.version}", ext: 'jar' + compile name: 'ForgeMultipart', version: "${config.minecraft.version}-${config.fmp.version}", ext: 'jar' + } +} + +minecraft { + version = "${config.minecraft.version}-${config.forge.version}" +} + +processResources { + from(sourceSets.main.resources.srcDirs) { + include 'mcmod/info' + expand 'version':project.version, 'mcversion':config.minecraft.version + } + from(sourceSets.main.resources.srcDirs) { + exclude 'mcmod.info' + } +} diff --git a/gradle/release.gradle b/gradle/release.gradle new file mode 100644 index 000000000..08b82d859 --- /dev/null +++ b/gradle/release.gradle @@ -0,0 +1,16 @@ +apply plugin: 'maven-publish' + +publishing { + publications { + mavenJava(MavenPublication) { + version "MC${minecraft.version}-${project.version}" + artifact apiJar + artifact deobfJar + } + } + repositories { + maven { + url "${config.maven.url}" + } + } +} diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 000000000..09934984c --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +rootProject.name = "OpenComputers" \ No newline at end of file