buildscript { repositories { mavenCentral() maven { url "http://files.minecraftforge.net/maven" } maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT' classpath 'org.ajoberstar:gradle-git:0.10.1' } } plugins { id 'com.matthewprenger.cursegradle' version '1.0.1' id "net.minecraftforge.gradle.forge" version "2.0.2" id 'net.franz-becker.gradle-lombok' version '1.5' } apply plugin: 'maven-publish' def build_number = 'CUSTOM' if (System.getenv('BUILD_NUMBER') != null) build_number = System.getenv('BUILD_NUMBER') group = package_group archivesBaseName = mod_name version = "${mc_version}-${mod_version}-${build_number}" // Ignore this error. It'll work just fine when building. import org.ajoberstar.grgit.* ext.repo = Grgit.open(project.file('.')) def gitHash = 'unknown' if (new File(projectDir, '.git').exists()) gitHash = repo.log().find().abbreviatedId repositories { maven { url "http://dvs1.progwml6.com/files/maven" } } dependencies { deobfCompile "mezz.jei:jei_1.8.8:2.0.5.6" } minecraft { version = "${mc_version}-${forge_version}" runDir = "run" replace "@VERSION@", project.version replaceIn "BloodMagic.java" replaceIn "BloodMagicAPI.java" if (project.hasProperty('mappings_version')) mappings = project.mappings_version } processResources { inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version from(sourceSets.main.resources.srcDirs) { include '**/*.info' include '**/*.properties' expand 'version': project.version, 'mcversion': project.minecraft.version } from(sourceSets.main.resources.srcDirs) { exclude '**/*.info' exclude '**/*.properties' } } jar { classifier = '' manifest.mainAttributes( "Built-By": System.getProperty('user.name'), "Created-By": "${System.getProperty('java.vm.version')} + (${System.getProperty('java.vm.vendor')})", "Implementation-Title": project.name, "Implementation-Version": project.version, "Git-Hash": gitHash ) } lombok { version = "1.16.6" sha256 = "e0a471be03e1e6b02bf019480cec7a3ac9801702bf7bf62f15d077ad4df8dd5d" } // Ignore this one, too import net.franz_becker.gradle.lombok.task.DelombokTask task delombok(type: DelombokTask) { args("src/main/java", "-d", "build/sources/delomboked/java") } tasks.eclipse.dependsOn installLombok // Javadoc jar task javadocJar(type: Jar, dependsOn: javadoc) { from javadoc.destinationDir classifier = 'javadoc' } // Deobfuscated jar task deobfJar(type: Jar) { from sourceSets.main.output classifier = 'deobf' } javadoc { source = projectDir.path + "/build/sources/delomboked/java" } tasks.javadoc.dependsOn delombok tasks.build.dependsOn sourceJar, javadocJar tasks.withType(JavaCompile) { task -> task.options.encoding = 'UTF-8' } publishing { tasks.publish.dependsOn 'build' publications { mavenJava(MavenPublication) { artifact jar artifact sourceJar artifact javadocJar } } repositories { if (project.hasProperty('maven_repo')) { maven { url maven_repo } } else { mavenLocal() } } } curseforge { if (project.hasProperty('curse_key')) apiKey = project.curse_key project { id = "${curse_id}" changelog = project.hasProperty('changelog') ? project.changelog : '' releaseType = 'alpha' addArtifact sourceJar addArtifact javadocJar } }