buildscript { repositories { mavenCentral() jcenter() 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' } } apply plugin: 'scala' apply plugin: 'forge' apply plugin: 'maven-publish' ext.buildProps = file "build.properties" project.sourceCompatibility = '1.8' project.targetCompatibility = '1.8' buildProps.withReader { def prop = new Properties() prop.load(it) ext.config = new ConfigSlurper().parse prop } version = "${config.version.mod.major}.${config.version.mod.minor}.${config.version.mod.revis}" group = "dev.calclavia.electrodynamics" archivesBaseName = "electrodynamics" minecraft { version = "${config.version.minecraft}-${config.version.forge}-${config.version.minecraft}" replaceIn "Electrodynamics.scala" replace "@MAJOR@", config.version.mod.major replace "@MINOR@", config.version.mod.minor replace "@REVIS@", config.version.mod.revis } if (System.getenv("BUILD_NUMBER") != null) version += ".${System.getenv("BUILD_NUMBER")}" processResources { inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version // replace stuff in text files, not binary ones. from(sourceSets.main.resources.srcDirs) { include '**/*.info' // replace version and MCVersion // forge version is also accessible via project.minecraftforgeVersion // it contains the full minecraft version, including buildNumber expand 'version': project.version, 'mcversion': project.minecraft.version } // copy everything else, thats not text from 'build.properties' } task copyBuildXml(type: Copy) { from 'build.properties' into 'output' } jar { dependsOn copyBuildXml classifier = 'core' destinationDir = file 'output' manifest { attributes FMLCorePlugin: "resonant.engine.ResonantPluginLoader", FMLCorePluginContainsFMLMod: "true" } } publishing { publications { mavenJava(MavenPublication) { artifact jar artifact("output/changelog.xml") { classifier "changelog" extension "xml" } artifact("output/build.properties") { classifier "build" extension "properties" } } } repositories { maven { url "file://var/www/maven" } } } repositories { maven { name "tilera Maven" url "https://data.tilera.xyz/maven" } maven { name = "forge" url = "https://files.minecraftforge.net/maven" } maven { name "Mobius Repo" url "http://mobiusstrip.eu/maven" } maven { name "chickenbones" url "https://chickenbones.net/maven" } maven { name 'OC Maven' url = "https://maven.cil.li/" } mavenCentral() maven { name = "ic2" url = "http://maven.ic2.player.to/" } maven { name = "curse" url = "https://www.cursemaven.com/" } } dependencies { compile files("engine") testCompile 'junit:junit:4.11' testCompile 'jmock:jmock:1.1.0' compile "li.cil.oc:OpenComputers:MC1.7.10-1.7.5.1356:api" compile "codechicken:CodeChickenLib:${config.version.minecraft}-${config.version.cclib}:dev" compile "codechicken:ForgeMultipart:${config.version.minecraft}-${config.version.fmp}:dev" compile "codechicken:CodeChickenCore:${config.version.minecraft}-${config.version.cccore}:dev" compile "codechicken:NotEnoughItems:${config.version.minecraft}-${config.version.nei}:dev" compile "mcp.mobius.waila:Waila:1.5.8_dev3_1.7.10" compile "net.industrial-craft:industrialcraft-2:2.2.654-experimental:dev" compile "curse.maven:ftbu-237102:2291494" }