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 ('com.anatawa12.forge:ForgeGradle:1.2-1.0.+') { changing = true } } } apply plugin: 'forge' apply plugin: 'maven-publish' apply plugin: 'java' sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 // define the properties file ext.configFile = file "build.properties" configFile.withReader { // read config. it shall from now on be referenced as simply config or as project.config def prop = new Properties() prop.load(it) project.ext.config = new ConfigSlurper().parse prop } version=config.mod.version group= "modtweaker" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "ModTweaker2" minecraft { version = "${config.minecraft.version}-${config.forge.version}" runDir = "eclipse" replace "@modVersion@", config.mod.version } repositories { maven { name = "forestry" url = "https://maven.ic2.player.to/" metadataSources { artifact() } } maven { url = "https://maven.tilera.xyz" } } dependencies { implementation "dev.tilera:auracore:1.8.0:deobf" implementation "net.sengir.forestry:forestry_${config.minecraft.version}:${config.forestry.version}:api" } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", config.minecraft.version // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' // replace version and mcversion expand 'version':project.version, 'mcversion':config.minecraft.version } // copy everything else, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } task deobfJar(type: Jar) { from sourceSets.main.output classifier = 'deobf' } tasks.build.dependsOn deobfJar task sourcesJar(type: Jar) { from sourceSets.main.allSource classifier = 'sources' } publishing { tasks.publish.dependsOn 'build' publications { mavenJava(MavenPublication) { artifactId = project.archivesBaseName artifact deobfJar artifact sourcesJar artifact jar } } repositories { if (project.hasProperty('mvnURL')) { maven { credentials { username findProperty("mvnUsername") password findProperty("mvnPassword") } url = findProperty("mvnURL") } } else { mavenLocal() } } }