buildscript { repositories { jcenter() mavenCentral() maven { name = "forge" url = "http://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:1.2-SNAPSHOT" classpath "gradle.plugin.se.bjurr.gitchangelog:git-changelog-gradle-plugin:1.55" } } apply plugin: 'forge' apply plugin: 'idea' apply plugin: 'java' apply plugin: 'maven' apply plugin: 'se.bjurr.gitchangelog.git-changelog-gradle-plugin' idea { module { inheritOutputDirs = true } } sourceSets { main { java { srcDirs = ["$projectDir/src/Java"] } resources { srcDirs = ["$projectDir/src/resources"] } } } configurations { //fatJar } dependencies { compile fileTree(dir: 'libs', include: '*.jar') //testCompile 'junit:junit:4.12' //fatJar files('libs/Segment-2.1.1.jar') } //Java Version sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 //Compile against UTF-8 compileJava.options.encoding = 'UTF-8' compileTestJava.options.encoding = 'UTF-8' javadoc.options.encoding = 'UTF-8' //Jar Info archivesBaseName = "GT-PlusPlus" version = "1.7.02.99-pre" minecraft.version = "1.7.10-10.13.4.1614-1.7.10" minecraft { version = "1.7.10-10.13.4.1614-1.7.10" runDir = "$projectDir" } //Gradle Tweak //Prevent java 8's strict doclint for javadocs from failing builds allprojects { tasks.withType(Javadoc) { options.addStringOption('Xdoclint:none', '-quiet') } } //Maven repositories { maven { name = "ic2" url = "http://maven.ic2.player.to/" } } task discordChangelogTask(type: se.bjurr.gitchangelog.plugin.gradle.GitChangelogTask) { file = new File("CHANGELOG Basic ${project.version}.txt"); untaggedName = "Current Basic release ${project.version}" fromCommit = "aa9f04218e5298414f900b9fe61131f7ed26b8f1" toRef = "HEAD" templateContent = file('changeloggeneral.mustache').getText('UTF-8') } task gitChangelogTask(type: se.bjurr.gitchangelog.plugin.gradle.GitChangelogTask) { file = new File("CHANGELOG ${project.version}.md"); untaggedName = "Current release ${project.version}" fromCommit = "aa9f04218e5298414f900b9fe61131f7ed26b8f1" toRef = "HEAD" templateContent = file('changelog.mustache').getText('UTF-8') } task curseChangelogTask(type: se.bjurr.gitchangelog.plugin.gradle.GitChangelogTask) { file = new File("CHANGELOG Curse ${project.version}.md"); untaggedName = "Current Curse release ${project.version}" fromCommit = "aa9f04218e5298414f900b9fe61131f7ed26b8f1" toRef = "HEAD" templateContent = file('changelogcurse.mustache').getText('UTF-8') } //task gitChangelogTask(type: se.bjurr.gitchangelog.plugin.gradle.GitChangelogTask) { // file = new File("CHANGELOG.md"); // templateContent = file('changelog.mustache').getText('UTF-8'); //} jar { archiveName = archivesBaseName + "-" + version + ".jar" manifest { attributes 'FMLCorePlugin': 'gtPlusPlus.preloader.asm.Preloader_FMLLoadingPlugin' attributes 'FMLCorePluginContainsFMLMod': 'true' } //from configurations.fatJar.collect { it.isDirectory() ? it : zipTree(it) } } task sourceJar(type: Jar) { from sourceSets.main.allSource classifier = 'sources' manifest { attributes 'FMLCorePlugin': 'gtPlusPlus.preloader.asm.Preloader_FMLLoadingPlugin' attributes 'FMLCorePluginContainsFMLMod': 'true' } } task devJar(type: Jar) { from sourceSets.main.output classifier = 'dev' manifest { attributes 'FMLCorePlugin': 'gtPlusPlus.preloader.asm.Preloader_FMLLoadingPlugin' attributes 'FMLCorePluginContainsFMLMod': 'true' } } artifacts { archives devJar archives sourceJar } build.finalizedBy(gitChangelogTask) build.finalizedBy(curseChangelogTask) build.finalizedBy(discordChangelogTask) processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.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':project.minecraft.version } // copy everything else, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' exclude '**/*.md' } } def getBuildNumber() { return "$System.env.BUILD_NUMBER" != "null" ? "$System.env.BUILD_NUMBER" : "0" }