// @file build.gradle // Engineer's decor mod gradle build. import net.minecraftforge.gradle.common.task.SignJar buildscript { repositories { maven { url = 'https://files.minecraftforge.net/maven' } jcenter() mavenCentral() } dependencies { classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true } } apply plugin: 'net.minecraftforge.gradle' apply plugin: 'eclipse' apply plugin: 'maven-publish' sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' //---------------------------------------------------------------------------------------------------------------------- version = "${version_engineersdecor}" group = "wile.engineersdecor" archivesBaseName = "engineersdecor-${version_minecraft}" repositories { maven { name = "Progwml6 maven"; url = "https://dvs1.progwml6.com/files/maven/" } // JEI files maven { name = "ModMaven"; url = "https://modmaven.k-4u.nl" } // JEI files, fallback } minecraft { mappings channel: 'snapshot', version: "${version_fml_mappings}" // accessTransformer = file('build/resources/main/META-INF/accesstransformer.cfg') runs { client { workingDirectory project.file('run') property 'forge.logging.markers', '' // SCAN,REGISTRIES,REGISTRYDUMP property 'forge.logging.console.level', 'debug' mods { engineersdecor { source sourceSets.main } } } server { workingDirectory project.file('run') property 'forge.logging.markers', '' // SCAN,REGISTRIES,REGISTRYDUMP property 'forge.logging.console.level', 'debug' mods { engineersdecor { source sourceSets.main } } } data { workingDirectory project.file('run') property 'forge.logging.markers', '' // SCAN,REGISTRIES,REGISTRYDUMP property 'forge.logging.console.level', 'debug' args '--mod', 'engineersdecor', '--all', '--output', file('src/generated/resources/') mods { engineersdecor { source sourceSets.main } } } } } dependencies { minecraft "net.minecraftforge:forge:${version_forge_minecraft}" compileOnly fg.deobf("mezz.jei:jei-${version_jei}:api") runtimeOnly fg.deobf("mezz.jei:jei-${version_jei}") } processResources { outputs.upToDateWhen { false } // thx to @tterrag for this hint doLast { file("${sourceSets.main.output.resourcesDir}/.gitversion-engineersdecor").text = 'git log "-1" "--format=%h"'.execute().in.text.trim() } } jar { manifest { attributes([ "Specification-Title": "engineersdecor", "Specification-Vendor": "wilechaote", "Specification-Version": "1", // We are version 1 of ourselves "Implementation-Title": project.name, "Implementation-Version": "${version_engineersdecor}", "Implementation-Vendor" :"wilechaote", "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") ]) } } def reobfFile = file("$buildDir/reobfJar/output.jar") def reobfArtifact = artifacts.add('default', reobfFile) { type 'jar'; builtBy 'reobfJar' } task signJar(type: SignJar, dependsOn: jar) { onlyIf { project.hasProperty("keystore_file") } if(project.hasProperty("keystore_file")) { keyStore = project.getProperty("keystore_file") alias = project.getProperty("keystore_alias") storePass = project.getProperty("keystore_pass") keyPass = project.getProperty("keystore_keypass") inputFile = jar.archivePath outputFile = jar.archivePath } else { logger.warn("[WARNING] Signing skipped.") } } build.dependsOn signJar publishing { publications { mavenJava(MavenPublication) { artifact reobfArtifact } } repositories { maven { url "file:///${project.projectDir}/mcmodsrepo" } } }