123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- // define the properties file
- ext.configFile = file "gradle.properties"
- configFile.withReader {
- // read config. it shall from now on be referenced as simply config or as project.config
- def prop = new Properties()
- prop.load(it)
- project.ext.config = new ConfigSlurper().parse prop
- }
- // 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'
- }
- }
- apply plugin: 'java'
- apply plugin: 'idea'
- apply plugin: 'net.minecraftforge.gradle.forge'
- apply plugin: 'maven'
- ///////////////////////////////////////////////////
- // IDE Settings
- ///////////////////////////////////////////////////
- idea {
- project {
- languageLevel = '1.8'
- }
- }
- ///////////////////////////////////////////////////
- // ForgeGradle
- ///////////////////////////////////////////////////
- version = (hasProperty("CIRevision") ? CIRevision : config.mod_version)
- group = config.group_name
- archivesBaseName = "${config.mod_id}-${config.minecraft_version}"
- sourceCompatibility = JavaVersion.VERSION_1_8
- targetCompatibility = JavaVersion.VERSION_1_8
- minecraft {
- version = config.minecraft_version + "-" + config.forge_version // grab latest forge
- runDir = "run"
- mappings = config.mcp_mappings
- makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
- replace '@mod_version@', version
- replace '@mod_id@', config.mod_id
- replace '@ci_build@', hasProperty("CIRevision") ? 'true' : 'false'
- replaceIn 'TwilightForestMod.java'
- replace '@VERSION@', project.version
- }
- processResources {
- //replaceIn 'assets/twilightforest/patchouli_books/guide/book.json'
- //replace '@EDITION@', project.version
- // 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 '**/*.info'
- //include '**/*.properties'
- include 'assets/twilightforest/patchouli_books/guide/book.json'
- // replace version and mcversion
- expand ([
- 'version':project.version,
- 'mcversion':project.minecraft.version,
- 'forge_version': config.forge_version,
- 'mod_version': config.mod_version,
- 'minecraft_version': config.minecraft_version,
- 'edition': (project.version - (config.mod_version + '.')),
- 's': '$'
- ])
- }
- // copy everything else, thats not the mcmod.info
- from(sourceSets.main.resources.srcDirs) {
- exclude 'mcmod.info'
- exclude 'assets/twilightforest/patchouli_books/guide/book.json'
- }
- }
- compileJava {
- options.encoding = 'UTF-8'
- }
- jar {
- classifier = 'universal'
- manifest {
- attributes 'FMLAT': 'tf_at.cfg'
- }
- }
- repositories {
- maven {
- name 'progwm\'s Maven' // JEI + Mantle + TCon
- url 'https://dvs1.progwml6.com/files/maven'
- }
- maven {
- name 'tterrag\'s Maven' // CTM
- url 'https://maven.tterrag.com/'
- }
- maven {
- name 'Jared\'s Maven' // Immersive Engineering + Patchouli
- url 'https://blamejared.com/maven'
- }
- maven {
- name 'player\'s Maven' // Forestry
- url 'http://maven.ic2.player.to/'
- }
- maven {
- name 'Curseforge Maven' // Baubles + Thaumcraft
- url 'https://minecraft.curseforge.com/api/maven/'
- }
- }
- dependencies {
- // progwml6
- deobfCompile "mezz.jei:jei_${minecraft_version}:${jei_version}"
- deobfCompile "slimeknights.mantle:Mantle:${minecraft_sub_version}-${mantle_version}"
- deobfCompile "slimeknights:TConstruct:${minecraft_version}-${tcon_version}"
- // tterrag
- deobfCompile "team.chisel.ctm:CTM:MC${minecraft_version}-${ctm_version}"
- //deobfCompile "team.chisel:Chisel:MC${minecraft_version}-${chisel_version}"
- // blamejared
- deobfCompile "blusunrize:ImmersiveEngineering:${immersive_engineering_version}"
- deobfCompile "vazkii.patchouli:Patchouli:${patchouli_version}"
- // player
- deobfCompile "net.sengir.forestry:forestry_${minecraft_version}:${forestry_version}"
- // curseforge
- deobfCompile "baubles:Baubles:${minecraft_sub_version}:${baubles_version}"
- deobfCompile "thaumcraft:Thaumcraft:${minecraft_version}:${thaumcraft_version}"
- }
- task createPom {
- doLast {
- pom {
- project {
- groupId project.group
- artifactId project.archivesBaseName
- version project.version
- inceptionYear '2012'
- licenses {
- license {
- name 'LGPL 2.1'
- url 'https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html'
- distribution 'repo'
- }
- }
- }
- }.writeTo(libsDir.path + "/" + project.archivesBaseName + "-" + project.version + ".pom")
- }
- }
- build.dependsOn createPom
|