-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathbuild.gradle
More file actions
131 lines (113 loc) · 3.91 KB
/
build.gradle
File metadata and controls
131 lines (113 loc) · 3.91 KB
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 {
jcenter()
maven {
name = "forge"
url = "http://files.minecraftforge.net/maven"
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
}
}
apply plugin: 'net.minecraftforge.gradle.forge'
repositories {
ivy {
name 'Forge FS legacy'
artifactPattern "http://files.minecraftforge.net/[module]/[module]-dev-[revision].[ext]"
}
maven {
name 'CB Maven FS'
url "http://chickenbones.net/maven/"
}
maven {
name 'ForgeFS'
url 'http://files.minecraftforge.net/maven'
}
maven {
name 'MinecraftS3'
url 'http://s3.amazonaws.com/Minecraft.Download/libraries'
}
}
sourceCompatibility = 1.6
targetCompatibility = 1.6
ext.configFile = file "build.properties"
ext.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
}
ext.minecraft_version = config.minecraft_version
ext.forge_version = config.forge_version
ext.codechickenlib = "codechicken:CodeChickenLib:${config.minecraft_version}-${config.CCLIB_version}:dev"
ext.codechickencore = "codechicken:CodeChickenCore:${config.minecraft_version}-${config.CCC_version}:dev"
ext.notenoughitems = "codechicken:NotEnoughItems:${config.minecraft_version}-${config.NEI_version}:dev"
println "$project.name for Forge: " + minecraft_version + "-" + forge_version
version = minecraft_version + "-" + config.super_number + "." + config.major_number + "." + config.minor_number
group = "net.specialattack.forge.core"
archivesBaseName = "SpACore"
dependencies {
// TODO: fix for when 1.8.9 is available
// compile codechickenlib
// compile codechickencore
// compile notenoughitems
}
minecraft {
version = minecraft_version + "-" + forge_version
runDir = "../../jar"
mappings = "stable_20"
useDepAts = true
}
processResources {
// this will ensure that this task is redone when the versions change.
inputs.property "version", project.version
inputs.property "minecraft_version", project.minecraft.version
// replace stuff in text files, not binary ones.
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
include '*.version'
// replace version and minecraft_version
expand([
version : config.super_number + "." + config.major_number + "." + config.minor_number,
minecraft_version : minecraft_version
])
}
// copy everything else, thats not the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
exclude '*.version'
}
}
// Jar stuff
jar {
manifest {
attributes 'FMLCorePlugin': 'net.specialattack.forge.core.asm.SpACorePlugin'
attributes 'FMLAT': 'spacore_at.cfg'
attributes 'FMLCorePluginContainsFMLMod': 'true'
}
}
// https://gist.github.com/matthewprenger/9b2da059b89433a01c1c
task signJar(type: SignJar, dependsOn: reobfJar) {
onlyIf { project.hasProperty('keyStore') }
if (!project.hasProperty('keyStore')) { // This shouldn't be possible, but onlyIf isn't working properly :/
throw new StopExecutionException()
}
keyStore = project.keyStore // This needs to be a path to the keystore file
alias = project.keyStoreAlias
storePass = project.keyStorePass
keyPass = project.keyStoreKeyPass
inputFile = jar.archivePath
outputFile = jar.archivePath
}
build.dependsOn signJar
task buildDev(type: Jar) {
from sourceSets.main.output
classifier = 'dev'
version = "${project.version}"
manifest {
attributes 'FMLCorePlugin': 'net.specialattack.forge.core.asm.SpACorePlugin'
attributes 'FMLAT': 'spacore_at.cfg'
attributes 'FMLCorePluginContainsFMLMod': 'true'
}
}