// For those who want the bleeding edge buildscript { repositories { jcenter() maven { name = "forge" url = "http://files.minecraftforge.net/maven" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' classpath 'org.ajoberstar.grgit:grgit-gradle:3.0.0' } } plugins { id 'com.matthewprenger.cursegradle' version '1.0.10' } apply plugin: 'net.minecraftforge.gradle.forge' apply plugin: 'org.ajoberstar.grgit' apply plugin: 'maven-publish' apply plugin: 'maven' version = "1.80pr1.14" group = "org.squiddev" archivesBaseName = "cc-tweaked" minecraft { version = "1.12.2-14.23.4.2749" runDir = "run" replace '${version}', project.version // 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 allways work. // simply re-run your setup task after changing the mappings to update your workspace. mappings = "snapshot_20180724" // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. } repositories { maven { name = "JEI" url = "http://dvs1.progwml6.com/files/maven" } maven { name = "squiddev" url = "https://dl.bintray.com/squiddev/maven" } ivy { artifactPattern "https://asie.pl/files/mods/Charset/LibOnly/[module]-[revision](-[classifier]).[ext]" } } configurations { shade compile.extendsFrom shade deployerJars } dependencies { deobfProvided "mezz.jei:jei_1.12.2:4.8.5.159:api" deobfProvided "pl.asie:Charset-Lib:0.5.4.6" runtime "mezz.jei:jei_1.12.2:4.8.5.159" shade 'org.squiddev:Cobalt:0.4.0' testCompile 'junit:junit:4.11' deployerJars "org.apache.maven.wagon:wagon-ssh:3.0.0" } javadoc { include "dan200/computercraft/api/**/*.java" } jar { dependsOn javadoc manifest { attributes('FMLAT': 'computercraft_at.cfg') } into("docs", { from (javadoc.destinationDir) }) into("api", { from (sourceSets.main.allSource) { include "dan200/computercraft/api/**/*.java" }}) from configurations.shade.collect { it.isDirectory() ? it : zipTree(it) } } import org.ajoberstar.grgit.Grgit processResources { inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version def hash = 'none' Set contributors = [] try { def grgit = Grgit.open(dir: '.') hash = grgit.head().id def blacklist = ['GitHub', 'dan200', 'Daniel Ratcliffe'] grgit.log().each { if (!blacklist.contains(it.author.name)) contributors.add(it.author.name) if (!blacklist.contains(it.committer.name)) contributors.add(it.committer.name) } } catch(Exception ignored) { } inputs.property "commithash", hash from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' include 'assets/computercraft/lua/rom/help/credits.txt' expand 'version':project.version, 'mcversion':project.minecraft.version, 'gitcontributors':contributors.sort(false, String.CASE_INSENSITIVE_ORDER).join('\n') } from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' exclude 'assets/computercraft/lua/rom/help/credits.txt' } } curseforge { apiKey = project.hasProperty('curseForgeApiKey') ? project.curseForgeApiKey : '' project { id = '282001' releaseType = 'beta' changelog = "Release notes can be found on the GitHub repository (https://github.com/SquidDev-CC/CC-Tweaked/releases/tag/v${project.version})." } } publishing { publications { mavenJava(MavenPublication) { from components.java artifact sourceJar } } } uploadArchives { repositories { if(project.hasProperty('mavenUploadUrl')) { mavenDeployer { configuration = configurations.deployerJars repository(url: project.property('mavenUploadUrl')) { authentication( userName: project.property('mavenUploadUser'), privateKey: project.property('mavenUploadKey')) } pom.project { name 'CC: Tweaked' packaging 'jar' description 'A fork of ComputerCraft which aims to provide earlier access to the more experimental and in-development features of the mod.' url 'https://github.com/SquidDev-CC/CC-Tweaked' scm { url 'https://github.com/dan200/ComputerCraft.git' } issueManagement { system 'github' url 'https://github.com/dan200/ComputerCraft/issues' } licenses { license { name 'ComputerCraft Public License, Version 1.0' url 'https://github.com/dan200/ComputerCraft/blob/master/LICENSE' distribution 'repo' } } } pom.whenConfigured { pom -> pom.dependencies.clear() } } } } } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint" } } runClient.outputs.upToDateWhen { false } runServer.outputs.upToDateWhen { false }