forked from alcatrazEscapee/ore-veins
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
130 lines (118 loc) · 4.38 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
buildscript {
repositories {
maven { url = 'https://files.minecraftforge.net/maven' }
jcenter()
mavenCentral()
}
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
}
}
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
plugins {
id 'com.matthewprenger.cursegradle' version '1.4.0'
id 'idea'
}
apply plugin: 'net.minecraftforge.gradle'
/**
* Version in dev is set to 'dev'
* Any builds produced by the github actions build script will have a version matching their tag.
* All version numbers should be Semantic Versioning 2.0 compliant
*/
if (System.getenv('VERSION') != null) {
version = System.getenv('VERSION')
} else {
version = 'dev'
}
group = 'com.alcatrazescapee.oreveins' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "oreveins-forge-${mc_version}"
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
// Exclude the test veins when not in dev
if (version != 'dev') {
sourceSets {
main {
resources {
exclude 'data/oreveins/oreveins/tests**'
}
}
}
}
repositories {
maven { url 'https://jitpack.io' }
}
minecraft {
mappings channel: 'snapshot', version: '20200408-1.15.1'
// Run configurations
runs {
client {
workingDirectory project.file('run')
property 'forge.logging.console.level', 'debug'
mods {
oreveins {
source sourceSets.main
}
}
}
server {
workingDirectory project.file('run')
property 'forge.logging.console.level', 'debug'
mods {
oreveins {
source sourceSets.main
}
}
}
serverTest {
parent server // This run config inherits settings from the server config
workingDirectory project.file('run')
main 'com.alcatrazescapee.mcjunitlib.DedicatedTestServerLauncher' // The main class which launches a customized server which then runs JUnit tests
ideaModule "${project.name}.test" // Tell IDEA to use the classpath of the test module
property 'forge.logging.console.level', 'unittest' // This logging level prevents any other server information messages and leaves only the unit test output
environment 'MOD_CLASSES', String.join(File.pathSeparator,
"oreveins%%${sourceSets.main.output.resourcesDir}",
"oreveins%%${sourceSets.main.output.classesDir}",
"oreveins%%${sourceSets.test.output.resourcesDir}",
"oreveins%%${sourceSets.test.output.classesDir}",
) // Forge will ignore all test sources unless we explicitly tell it to include them as mod sources
environment 'target', 'fmltestserver' // This is a custom service used to launch with ModLauncher's transforming class loader
mods {
oreveins { // The mod that is being tested
sources sourceSets.main
}
}
}
}
}
dependencies {
minecraft "net.minecraftforge:forge:${mc_version}-${forge_version}"
testImplementation fg.deobf('com.github.alcatrazEscapee:mcjunitlib:1.0.0-1.15.2') {
transitive = false
}
}
// Puts the mod version into the jar for mods.toml to read from
jar {
manifest {
attributes "Implementation-Version": "${version}"
}
}
curseforge {
def envApiKey = System.getenv('CURSEFORGE_API_KEY')
if (envApiKey == null) {
println 'Unable to locate api key in env variable'
return
}
def versionReleaseType = "release"
if (version.toString().contains("beta")) {
versionReleaseType = "beta"
} else if (version.toString().contains("alpha")) {
versionReleaseType = "alpha"
}
project {
apiKey = envApiKey
id = '296887'
changelog = "[Release Notes ${version}](https://github.com/alcatrazEscapee/ore-veins/releases/tag/v${version})"
changelogType = "markdown"
releaseType = versionReleaseType
addGameVersion "${mc_version}"
}
}