aboutsummaryrefslogtreecommitdiff
path: root/build.gradle
blob: 9137fbf07dbdb9e48ab7055f1153e00716ff0e29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
buildscript {
    repositories {
        mavenCentral()
        maven {
            name = "forge"
            url = "http://files.minecraftforge.net/maven"
        }
        maven {
            name = "sonatype"
            url = "https://oss.sonatype.org/content/repositories/snapshots/"
        }
    }
    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
        classpath "de.undercouch:gradle-download-task:3.1.2"
    }
}

import de.undercouch.gradle.tasks.download.Download
apply plugin: 'forge'

allprojects {
    apply plugin: 'java'
    sourceCompatibility = 1.7
    targetCompatibility = 1.7
}

file "build.properties" withReader {
    def prop = new Properties()
    prop.load(it)
    ext.config = new ConfigSlurper().parse prop
}

version = "${config.minecraft.version}-${config.tectech.version}"
group= "com.github.technus"
archivesBaseName = "TecTech"

minecraft {
    version = "${config.forge.version}"
    runDir = "eclipse"

    replaceIn "src/main/java/com/github/technus/tectech/auxiliary/Reference.java"
    replace "GRADLETOKEN_VERSION", "${config.tectech.version}"
}

configurations {
    provided
    embedded
    compile.extendsFrom provided, embedded
}

repositories {
    maven {
        name 'UsrvDE'
        url "http://jenkins.usrv.de:8082/nexus/content/repositories/releases/"
    }
    maven {
        name = "ic2"
        url = "http://maven.ic2.player.to/"
    }
    //ivy {
    //    name 'CoFHLib'
    //    artifactPattern "http://addons-origin.cursecdn.com/files/${config.cofhlib.cf}/[module]-[revision].[ext]"
    //}
    //ivy {
    //    name 'CoFHCore'
    //    artifactPattern "http://addons-origin.cursecdn.com/files/${config.cofhcore.cf}/[module]-[revision].[ext]"
    //}
    maven {
        name = "chickenbones"
        url = "http://chickenbones.net/maven/"
    }
}

dependencies {
    compile "eu.usrv:YAMCore:${config.minecraft.version}-${config.yamcore.version}:deobf"
    compile "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev"
    //provided name: 'CoFHLib', version: config.cofhlib.version, ext: 'jar'
    //provided name: 'CoFHCore', version: config.cofhcore.version, ext: 'jar'
    compile "codechicken:CodeChickenLib:${config.minecraft.version}-${config.codechickenlib.version}:dev"
    compile "codechicken:CodeChickenCore:${config.minecraft.version}-${config.codechickencore.version}:dev"
    compile "codechicken:NotEnoughItems:${config.minecraft.version}-${config.nei.version}:dev"
}

task getGregTech(type: Download) {
    onlyIf {
        !file("libs/gregtech-${config.gregtech.version}-dev.jar").exists()
    }
    src "http://jenkins.usrv.de:8081/job/Gregtech-5-Unofficial/${config.gregtech.jenkinsbuild}/artifact/build/libs/gregtech-${config.gregtech.version}-dev.jar"
    dest file("libs/gregtech-${config.gregtech.version}-dev.jar")
    mustRunAfter "deobfBinJar"
    mustRunAfter "repackMinecraft"
}

tasks.setupCIWorkspace.dependsOn getGregTech
tasks.setupDevWorkspace.dependsOn getGregTech
tasks.setupDecompWorkspace.dependsOn getGregTech
tasks.compileJava.dependsOn getGregTech

processResources
{
    def cleanVersion = project.version.split('-')[1]
    // this will ensure that this task is redone when the versions change.
    inputs.property "version", cleanVersion
    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':cleanVersion, 'mcversion':project.minecraft.version
    }
        
    // copy everything else, thats not the mcmod.info
    from(sourceSets.main.resources.srcDirs) {
        exclude 'mcmod.info'
    }
}