| buildscript { |
| repositories { |
| jcenter() |
| maven { |
| name = "forge" |
| url = "https://files.minecraftforge.net/maven" |
| } |
| maven { |
| name = "sonatype" |
| url = "https://oss.sonatype.org/content/repositories/snapshots/" |
| } |
| maven { |
| url "https://plugins.gradle.org/m2/" |
| } |
| } |
| dependencies { |
| classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' |
| } |
| } |
| |
| apply plugin: 'idea' |
| |
| defaultTasks 'fullBuild' |
| |
| idea { |
| module { |
| // For some reason this is necessary for IDEA 2014 workspaces to recognize assets |
| inheritOutputDirs = true |
| } |
| } |
| |
| apply plugin: 'net.minecraftforge.gradle.forge' |
| |
| repositories { |
| maven { |
| name 'ForgeFS' |
| url 'https://files.minecraftforge.net/maven' |
| } |
| maven { |
| name 'amadornes' |
| url 'https://maven.amadornes.com/' |
| } |
| maven { |
| name 'prog' |
| url 'http://dvs1.progwml6.com/files/maven' |
| } |
| maven { |
| name 'tesla' |
| url 'https://maven.mcmoddev.com' |
| } |
| maven { |
| name 'curseforge' |
| url 'https://minecraft.curseforge.com/api/maven/' |
| } |
| maven { |
| name 'opencomputers' |
| url 'http://maven.cil.li/' |
| } |
| maven { |
| name 'hwyla' |
| url 'https://tehnut.info/maven' |
| } |
| maven { |
| name 'CoFH Maven' |
| url 'https://maven.covers1624.net' |
| } |
| maven { |
| name 'buildcraft' |
| url 'https://mod-buildcraft.com/maven/' |
| } |
| maven { |
| name 'tterrag' |
| url 'https://maven.tterrag.com/' |
| } |
| maven { |
| name 'ic2' |
| url 'http://maven.ic2.player.to' |
| } |
| maven { |
| name 'BlameJared - Crafttweaker' |
| url 'https://maven.blamejared.com/' |
| } |
| maven { |
| name 'thiakil' |
| url 'https://maven.thiakil.com' |
| } |
| } |
| |
| group = "mekanism" |
| version = "${minecraft_version}-${version}" |
| archivesBaseName = "mekanism-all" |
| sourceCompatibility = '1.8' |
| targetCompatibility = '1.8' |
| |
| minecraft { |
| version = "${minecraft_version}-${forge_version}" |
| mappings = "${mappings_version}" |
| runDir = "run" |
| useDepAts = true |
| |
| replace '${version}', project.version |
| replaceIn "Mekanism.java" |
| } |
| |
| dependencies { |
| deobfCompile "MCMultiPart2:MCMultiPart:${mcmp_version}" |
| compileOnly "mezz.jei:jei_${minecraft_version}:${jei_version}:api" |
| runtime "mezz.jei:jei_${minecraft_version}:${jei_version}" |
| compileOnly "net.darkhax.tesla:Tesla-${minecraft_version}:${tesla_version}" |
| compileOnly "inventory-tweaks:InventoryTweaks:${invtweak_version}:api" |
| compileOnly "li.cil.oc:OpenComputers:MC${minecraft_version}-${opencomputers_version}:api" |
| // Not updated yet |
| compileOnly "mcp.mobius.waila:Hwyla:${hwyla_version}:api" |
| deobfCompile "cofh:RedstoneFlux:1.12-${redstoneflux_version}:universal" |
| compileOnly "com.mod-buildcraft:buildcraft-api:${buildcraft_version}" |
| compileOnly "team.chisel.ctm:CTM:MC${minecraft_version}-${ctm_version}:api" |
| runtime "team.chisel.ctm:CTM:MC${minecraft_version}-${ctm_version}" |
| compileOnly "net.industrial-craft:industrialcraft-2:${ic2_version}:api" |
| compileOnly("CraftTweaker2:CraftTweaker2-API:${crafttweaker_version}") { |
| exclude module: "asm-debug-all" |
| } |
| deobfCompile("CraftTweaker2:CraftTweaker2-MC1120-Main:1.12-${crafttweaker_version}") { |
| exclude module: "asm-debug-all" |
| } |
| compileOnly "dan200.computercraft:ComputerCraft:${computercraft_version}:api" |
| compileOnly "mcjty.theoneprobe:TheOneProbe-1.12:${top_version}:api" |
| compileOnly("appeng:appliedenergistics2:${ae2_version}:api") { |
| exclude module: "jei_1.12.2" |
| } |
| } |
| |
| processResources { |
| inputs.property "version", project.version |
| inputs.property "mc_version", "${minecraft_version}" |
| |
| from(sourceSets.main.resources.srcDirs) { |
| include "mcmod.info" |
| |
| // replace version and mcversion |
| expand "version": project.version, "mc_version": "${minecraft_version}" |
| } |
| |
| // copy everything else, thats not the mcmod.info |
| from(sourceSets.main.resources.srcDirs) { |
| exclude 'mcmod.info' |
| exclude '**/*.blend*' |
| } |
| rename '(.+_at.cfg)', 'META-INF/$1' |
| } |
| |
| jar { |
| manifest { |
| attributes 'FMLAT': 'mekanism_at.cfg' |
| } |
| } |
| |
| task coreJar(type: Jar) { |
| archiveName = "mekanism-${project.version}.jar" |
| dependsOn 'reobfJar' |
| classifier "core" |
| |
| from('etc/core') { |
| include '*.info' |
| expand 'version': project.version, 'mc_version': "${minecraft_version}", 'mcmp_version': "${mcmp_version}" |
| } |
| |
| from zipTree(jar.outputs.getFiles().getSingleFile()).matching { |
| exclude 'mekanism/tools/**', 'mekanism/generators/**', 'assets/mekanismtools/**', 'assets/mekanismgenerators/**', 'mcmod.info' |
| } |
| |
| manifest { |
| attributes 'FMLAT': 'mekanism_at.cfg' |
| } |
| } |
| |
| task toolsJar(type: Jar) { |
| archiveName = "mekanism-tools-${project.version}.jar" |
| dependsOn 'reobfJar' |
| classifier "tools" |
| |
| from('etc/tools') { |
| include '*.info' |
| expand 'version': project.version, 'mc_version': "${minecraft_version}", 'mcmp_version': "${mcmp_version}" |
| } |
| |
| from zipTree(jar.outputs.getFiles().getSingleFile()).matching { |
| include 'mekanism/tools/**', 'assets/mekanismtools/**' |
| } |
| } |
| |
| task generatorsJar(type: Jar) { |
| archiveName = "mekanism-generators-${project.version}.jar" |
| dependsOn 'reobfJar' |
| classifier "generators" |
| |
| from('etc/generators') { |
| include '*.info' |
| expand 'version': project.version, 'mc_version': "${minecraft_version}", 'mcmp_version': "${mcmp_version}" |
| } |
| |
| from zipTree(jar.outputs.getFiles().getSingleFile()).matching { |
| include 'mekanism/generators/**', 'assets/mekanismgenerators/**' |
| } |
| } |
| |
| task apiJar(type: Jar) { |
| classifier "api" |
| baseName "mekanism" |
| dependsOn "sourceMainJava" |
| include 'mekanism/api/**' |
| from sourceSets.main.java.srcDirs |
| from sourceSets.main.output |
| } |
| |
| artifacts { |
| archives apiJar |
| archives coreJar |
| archives toolsJar |
| archives generatorsJar |
| } |
| |
| task fullBuild(type: Delete) { |
| delete jar |
| dependsOn "build" |
| } |
| |
| apply plugin: 'maven' |
| apply plugin: 'maven-publish' |