| defaultTasks 'fullBuild' |
| |
| 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' |
| } |
| } |
| |
| repositories { |
| maven { |
| name 'CB Maven FS' |
| url "http://chickenbones.net/maven/" |
| } |
| maven { |
| name 'ForgeFS' |
| url 'http://files.minecraftforge.net/maven' |
| } |
| } |
| |
| apply plugin: 'forge' |
| |
| // Define properties file |
| ext.configFile = file "build.properties" |
| |
| configFile.withReader { |
| // Load config. It shall from now be referenced as simply config or project.config |
| def prop = new Properties() |
| prop.load(it) |
| project.ext.config = new ConfigSlurper().parse prop |
| } |
| |
| dependencies { |
| compile "codechicken:CodeChickenLib:${config.minecraft_version}-${config.CCLIB_version}:dev" |
| compile "codechicken:ForgeMultipart:${config.minecraft_version}-${config.FMP_version}:dev" |
| compile "codechicken:NotEnoughItems:${config.minecraft_version}-${config.NEI_version}:dev" |
| } |
| |
| version = "${config.minecraft_version}-${config.mod_version}." + (System.env.BUILD_NUMBER ?: "homebaked") |
| archivesBaseName = "MekanismAll" |
| libsDirName = "../output" |
| distsDirName = "../output" |
| |
| minecraft { |
| version = config.minecraft_version + "-" + config.forge_version |
| } |
| |
| 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' |
| exclude '**/*.blend*' |
| } |
| } |
| |
| task coreJar(type: Jar) { |
| baseName = 'Mekanism' |
| |
| manifest { |
| attributes 'FMLCorePlugin': 'mekanism.common.asm.LoadingHook' |
| attributes 'FMLCorePluginContainsFMLMod': 'true' |
| } |
| |
| from('etc/core') { |
| include '*.info' |
| expand 'version':config.mod_version,'mc_version':config.minecraft_version,'fmp_version':config.FMP_version |
| } |
| |
| from zipTree(reobf.outputs.getFiles().getSingleFile()).matching { |
| exclude 'mekanism/tools/**', 'mekanism/generators/**' |
| } |
| } |
| |
| task toolsJar(type: Jar) { |
| baseName = 'MekanismTools' |
| |
| from('etc/tools') { |
| include '*.info' |
| expand 'version':config.mod_version,'mc_version':config.minecraft_version,'fmp_version':config.FMP_version |
| } |
| |
| from zipTree(reobf.outputs.getFiles().getSingleFile()).matching { |
| include 'mekanism/tools/**' |
| } |
| } |
| |
| task generatorsJar(type: Jar) { |
| baseName = 'MekanismGenerators' |
| |
| from('etc/generators') { |
| include '*.info' |
| expand 'version':config.mod_version,'mc_version':config.minecraft_version,'fmp_version':config.FMP_version |
| } |
| |
| from zipTree(reobf.outputs.getFiles().getSingleFile()).matching { |
| include 'mekanism/generators/**' |
| } |
| } |
| |
| coreJar.dependsOn('reobf') |
| toolsJar.dependsOn('reobf') |
| generatorsJar.dependsOn('reobf') |
| |
| task MDKZip(type: Zip) { |
| baseName = 'MDK' |
| from sourceSets.main.java.srcDirs |
| include 'mekanism/api/**' |
| } |
| |
| task releaseJars(type: Copy) { |
| from coreJar |
| from toolsJar |
| from generatorsJar |
| from MDKZip |
| rename '-(.*)jar', '.jar' |
| rename '-(.*)zip', '.zip' |
| into '.' |
| } |
| |
| task fullBuild(type: Delete) { |
| delete reobf |
| } |
| fullBuild.dependsOn('releaseJars') |