forked from AnodeCathode/TFCraft
-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.gradle
131 lines (118 loc) · 3.46 KB
/
build.gradle
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
120
121
122
123
124
125
126
127
128
129
130
131
buildscript {
repositories {
mavenCentral()
maven {
name = "Minecraft 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'
}
}
// define the properties file
ext.configFile = file "build.prop"
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
}
allprojects {
apply plugin: 'java'
apply plugin: 'forge'
apply plugin: 'maven'
group = config.group_name
version = config.mod_version
archivesBaseName = "[${config.minecraft_version}]${config.mod_id}"
minecraft {
version = config.minecraft_version + "-" + config.forge_version
if(file('../run').exists()) {
runDir = "../run"
} else {
runDir = "run"
if (!file(runDir).exists()) file(runDir).mkdir()
}
}
repositories {
maven { // The repo from which to get waila
name "Mobius Repo"
url "http://mobiusstrip.eu/maven"
}
maven { // the repo from which to get NEI and stuff
name 'CB Repo'
url "http://chickenbones.net/maven/"
}
}
dependencies {
// Forcing version numbers for everything and using NO-NEI WAILA since the "transitive dependency resolution (gradle magic)" is currently borked.
compile "codechicken:CodeChickenCore:1.7.10-1.0.4.35:dev"
compile "codechicken:CodeChickenLib:1.7.10-1.1.3.127:dev"
compile "codechicken:NotEnoughItems:1.7.10-1.0.4.95:dev"
compile "mcp.mobius.waila:Waila:1.5.11-RC2-NONEI_1.7.10"
compile fileTree(dir: "libs" )
}
}
sourceSets {
main {
java {
srcDirs = [ 'src/Common' , 'src/API' , 'src/ASM' ]
exclude '**/Resources/'
}
resources {
srcDirs = [ 'src/Resources' ]
exclude '**/API'
exclude '**/ASM'
exclude '**/Common'
}
}
}
//Creates a compiled de-obfuscated jar
task deobfJar(type: Jar) {
from sourceSets.main.output
appendix = 'deobf'
manifest.attributes(
'FMLCorePlugin': 'com.bioxx.tfc.TFCASMLoadingPlugin',
'FMLCorePluginContainsFMLMod': 'true',
'FMLAT': 'tfc_at.cfg'
)
}
//creates a jar containing only the src
task sourceJar(type: Jar) {
from sourceSets.main.allSource
appendix = 'src'
}
tasks.build.dependsOn('sourceJar', 'deobfJar')
processResources {
//First we just copy in the mcmod.info file
from(sourceSets.main.resources.srcDirs) {
include '**/*.info'
include '**/*.prop'
// replaces
expand ([
'mod_version': project.config.mod_version,
'tfc_version': project.config.tfc_version,
'minecraft_version': project.config.minecraft_version,
])
}
// copy everything else, thats we didnt do before
from(sourceSets.main.resources.srcDirs) {
exclude '**/*.info'
exclude '**/*.prop'
}
}
jar {
manifest.attributes(
'FMLCorePlugin': 'com.bioxx.tfc.TFCASMLoadingPlugin',
'FMLCorePluginContainsFMLMod': 'true',
'FMLAT': 'tfc_at.cfg'
)
}
task wrapper(type: Wrapper) {
gradleVersion = '2.2.1'
}
idea { module { inheritOutputDirs = true } }