buildscript { repositories { maven { url = 'https://maven.minecraftforge.net/' } mavenCentral() } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:3.+' } } apply plugin: 'net.minecraftforge.gradle' apply plugin: 'maven-publish' apply from: 'https://raw.githubusercontent.com/MinecraftModDevelopment/Gradle-Collection/22e7d543a18cd30675277fbfa3669e3d9e206010/generic/secrets.gradle' if (project.hasProperty('secretFile')) { loadSecrets(new File((String) findProperty('secretFile'))) } version = "${project.version}" group = "tschipp.carryon" archivesBaseName = "carryon-${minecraft_version}" sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. if (System.getenv('BUILD_NUMBER') != null) { version += "." + System.getenv('BUILD_NUMBER') } minecraft { // The mappings can be changed at any time, and must be in the following format. // snapshot_YYYYMMDD Snapshot are built nightly. // stable_# Stables are built at the discretion of the MCP team. // Use non-default mappings at your own risk. they may not always work. // Simply re-run your setup task after changing the mappings to update your workspace. //mappings channel: 'snapshot', version: '20171003-1.12' mappings channel: 'snapshot', version: '20171003-1.12' // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. // accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') // Default run configurations. // These can be tweaked, removed, or duplicated as needed. runs { client { workingDirectory project.file('run') // Recommended logging data for a userdev environment property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' // Recommended logging level for the console property 'forge.logging.console.level', 'debug' } server { // Recommended logging data for a userdev environment property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' // Recommended logging level for the console property 'forge.logging.console.level', 'debug' } } } repositories { maven { url 'http://maven.epoxide.org' } maven { url = "https://mrcrayfish.com/maven" } maven { url "https://maven.mcmoddev.com/" } } dependencies { minecraft 'net.minecraftforge:forge:1.12.2-14.23.5.2860' compile "com.mrcrayfish:obfuscate:0.2.6-1.12.2" compile "net.ilexiconn:llibrary:1.7.9-1.12.2:dev" } jar { manifest { attributes([ "Specification-Title": "examplemod", "Specification-Vendor": "examplemodsareus", "Specification-Version": "1", // We are version 1 of ourselves "Implementation-Title": project.name, "Implementation-Version": "${version}", "Implementation-Vendor" :"examplemodsareus", "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") ]) } } task sourcesJar(type: Jar, dependsOn: classes) { description = 'Creates a JAR containing the source code.' from sourceSets.main.allSource classifier = 'sources' } task javadocJar(type: Jar, dependsOn: javadoc) { description = 'Creates a JAR containing the JavaDocs.' from javadoc.destinationDir classifier = 'javadoc' } task deobfJar(type: Jar) { description = 'Creates a JAR containing the non-obfuscated compiled code.' from sourceSets.main.output classifier = "deobf" } artifacts { archives sourcesJar archives javadocJar archives deobfJar } publishing { publications { mavenJava(MavenPublication) { groupId project.group artifactId project.archivesBaseName version project.version from components.java // Allows the maven pom file to be modified. pom.withXml { // Go through all the dependencies. asNode().dependencies.dependency.each { dep -> println 'Surpressing artifact ' + dep.artifactId.last().value().last() + ' from maven dependencies.' assert dep.parent().remove(dep) } } artifact sourcesJar { classifier 'sources' } artifact javadocJar { classifier 'javadoc' } artifact deobfJar { classifier 'deobf' } } } repositories { maven { url "file://" + System.getenv("local_maven") } } } processResources { inputs.property "version", project.version inputs.property "mcversion", project.minecraft_version from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' expand 'version':project.version, 'mcversion':project.minecraft_version } from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } //task signJar(type: SignJar, dependsOn: reobfJar) { // // // Skips if the keyStore property is missing. // onlyIf { // project.hasProperty('modkeyStore') // } // // // findProperty allows us to reference the property without it existing. // // Using project.propName would cause the script to fail validation if // // the property did not exist. // keyStore = project.findProperty('modkeyStore') // alias = project.findProperty('modkeyStoreAlias') // storePass = project.findProperty('modkeyStorePass') // keyPass = project.findProperty('modkeyStoreKeyPass') // inputFile = jar.archivePath // outputFile = jar.archivePath //} // Runs this task automatically when build is ran. //build.dependsOn signJar