buildscript { repositories { jcenter() maven { url = "http://files.minecraftforge.net/maven" } mavenCentral() } dependencies { classpath "net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT" } } apply plugin: 'forge' version = project.mc_version + "-" + project.mod_version archivesBaseName = project.mod_name sourceCompatibility = targetCompatibility = '1.8' configurations { shade compile.extendsFrom shade } dependencies { shade project(":core") } minecraft { version = project.mc_version + "-" + project.forge_version + "-" + project.mc_version runDir = "run" mappings = project.mcp_mappings srgExtra "PK: kotlin matterlink/repack/kotlin" srgExtra "PK: org/jetbrains/annotations matterlink/repack/org/jetbrains/annotations" srgExtra "PK: com/google/gson matterlink/repack/com/google/gson" srgExtra "PK: org/apache/http matterlink/repack/org/apache/http" srgExtra "PK: org/intelij matterlink/repack/org/intelij" } compileKotlin.doFirst { def target = "src/main/kotlin/matterlink/gen" copy { from("src/templates/kotlin/matterlink/Constants.kt") into(target) } ant.replaceregexp(match: '@MODVERSION@', replace: project.mod_version, flags: 'g', byline: true) { fileset(dir: target, includes: 'Constants.kt') } ant.replaceregexp(match: '@MCVERSION@', replace: project.mc_version, flags: 'g', byline: true) { fileset(dir: target, includes: 'Constants.kt') } ant.replaceregexp(match: '@FORGELIN-VERSION@', replace: project.forgelin_version, flags: 'g', byline: true) { fileset(dir: target, includes: 'Constants.kt') } ant.replaceregexp(match: '@FORGE-VERSION@', replace: project.forge_version, flags: 'g', byline: true) { fileset(dir: target, includes: 'Constants.kt') } } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.mod_version inputs.property "mcversion", project.minecraft.version // replace stuff in mcmod.info, nothing else from(project(":core").sourceSets.main.resources.srcDirs) { include 'mcmod.info' // replace version and mcversion expand 'version': project.mod_version, 'mcversion': project.minecraft.version } // copy everything else except the mcmod.info from(project(":core").sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } jar { configurations.shade.each { dep -> from(project.zipTree(dep)) { exclude "META-INF", "META-INF/**" } } }