This repository has been archived by the owner on Mar 26, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
105 lines (92 loc) · 2.85 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
// Buildscript config prolog
buildscript {
repositories {
mavenCentral()
maven {
name = "forge"
url = "http://files.minecraftforge.net/maven"
}
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
maven {
name = "spring"
url = "http://repo.spring.io/plugins-release"
}
}
dependencies {
classpath "net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT"
classpath "org.springframework.build.gradle:propdeps-plugin:0.0.7"
}
}
def fromBuildNumber(build) {
// Pre-config, this one retrieves Forge JSON info and deduces MC and Forge versions from Forge build number
def verFile = file(".forge-version")
if (!verFile.exists()) {
def forgeJson = file(".forge-json")
if (!forgeJson.exists()) {
new URL("http://files.minecraftforge.net/maven/net/minecraftforge/forge/json").withInputStream{ i -> forgeJson.withOutputStream{ it << i }}
}
def forgeData = new groovy.json.JsonSlurper().parse(forgeJson)
def revData = forgeData.number[build]
verFile.withWriter { out ->
out.write "${revData.mcversion}-${revData.version}"
}
}
// Read from verFile
def fullVer = verFile.text.readLines()[0].trim()
def (mcv, fv) = fullVer.split('\\-')
def fb = fv.split('\\.')[3].trim()
if (fb != build) {
file(".forge-json").delete()
file(".forge-version").delete()
return fromBuildNumber(build)
}
return [
full: fullVer,
minecraft: mcv,
forge: fv,
build: fb
]
}
def forgeVer = fromBuildNumber(file("forge").readLines()[0].trim())
// plugins
apply plugin: "propdeps"
apply plugin: "propdeps-maven"
apply plugin: "propdeps-idea"
apply plugin: "propdeps-eclipse"
apply plugin: "scala"
apply plugin: "forge"
sourceSets.main {
java.srcDirs 'src'
scala.srcDirs 'src'
resources.srcDirs "resources"
}
minecraft.version = forgeVer.full
dependencies {
provided fileTree("api")
}
def buildNumber = System.getenv("BUILD_NUMBER")
buildNumber = buildNumber ? "b" + buildNumber : "dev"
version = file("version").text + buildNumber
group= "targetsan.mcmods"
archivesBaseName = "gateway"
jar.classifier = "mc${forgeVer.minecraft}-forge${forgeVer.build}"
// Standard thing with setting properties in mcmod.info
processResources
{
// 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 "mcmod.info"
// replace version and mcversion
expand "version":project.version, "mcversion":project.minecraft.version
}
// copy everything else, thats not the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude "mcmod.info"
}
}