-
Notifications
You must be signed in to change notification settings - Fork 2
/
build.gradle
127 lines (97 loc) · 3.19 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
buildscript {
repositories {
jcenter()
maven { url = "http://files.minecraftforge.net/maven" }
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
}
}
plugins {
id "com.matthewprenger.cursegradle" version "1.0.10"
}
apply plugin: 'net.minecraftforge.gradle.forge'
version = getVersionString()
group = "me.paulhobbel.discordrp"
archivesBaseName = "DiscordRP-${mc_version}"
sourceCompatibility = targetCompatibility = '1.8'
minecraft {
version = "${mc_version}-${forge_version}"
runDir = "run"
mappings = "${mcp_version}"
replace '${version}', project.version
replaceIn "DiscordRP.java"
}
dependencies {
}
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 except the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}
jar {
from sourceSets.main.output
from sourceSets.api.output
}
task apiJar(type: Jar) {
classifier = 'api'
from sourceSets.api.output
from sourceSets.api.allJava
}
task sourcesJar(type: Jar) {
classifier = 'sources'
from sourceSets.main.allJava
from sourceSets.api.allJava
}
task signJar(type: SignJar, dependsOn: reobfJar) {
onlyIf {
System.getenv("SIGNING_STORE_PASS") != null
}
keyStore = "keystore.jks"
alias = System.getenv("SIGNING_ALIAS")
storePass = System.getenv("SIGNING_STORE_PASS")
keyPass = System.getenv("SIGNING_KEY_PASS") != null ? System.getenv("SIGNING_KEY_PASS") : System.getenv("SIGNING_STORE_PASS")
inputFile = jar.archivePath
outputFile = jar.archivePath
}
curseforge {
if (System.getenv("CF_APIKEY") != null)
apiKey = System.getenv("CF_APIKEY")
project {
id = "296803"
changelog = file("CHANGELOG.md")
changelogType = "markdown"
releaseType = 'beta'
addArtifact sourcesJar
addArtifact apiJar
}
}
tasks.build.dependsOn apiJar, sourcesJar, signJar
tasks.curseforge.dependsOn build
String getVersionString() {
def build_server = System.getenv("CI") != null || System.getenv("APPVEYOR_BUILD_NUMBER") != null
def version_patch = project.version_patch
if(System.getenv("APPVEYOR_BUILD_NUMBER") != null)
version_patch = System.getenv("APPVEYOR_BUILD_NUMBER")
def version_cls = ""
if(System.getenv("VERSION_CLS"))
version_cls = System.getenv("VERSION_CLS")
def version_hash = ""
if(!build_server) {
version_cls = "local"
version_hash = "git rev-parse --short HEAD".execute().text.trim()
}
def version_base = "${project.version_major}.${project.version_minor}.${version_patch}"
def version_parts = ([version_base, version_cls, version_hash]).findAll { p -> p != "" }
return String.join("-", version_parts)
}