blob: 24f8e078ba1399927caebc8ce18a95c118ac2748 (
plain)
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
132
133
134
|
/** Common code for Forge 1.7.10 builds */
apply plugin: 'forge'
ext.publishDir = project.multiproject_structure.toBoolean() ? "${projectDir}/../publish" : "${projectDir}/publish"
def getCommitVersion(){
try {
def commitHashProc = "python3 ${ext.publishDir}/get_version.py".execute()
commitHashProc.waitFor()
if(commitHashProc.exitValue() == 0){
def commitHash = commitHashProc.text.trim()
return commitHash
} else {
println commitHashProc.err.text
throw new Exception("get_version.py exited with non-zero return value")
}
} catch(Exception e){
println "Failed to run get_version.py: " + e.getMessage()
}
return "UNKNOWN" // fallback
}
project.version = getCommitVersion()
group = project.group
archivesBaseName = "${project.archives_base}-${project.minecraft_version}"
minecraft {
version = "${project.minecraft_version}-${project.forge_version}"
runDir = "run"
replace '@VERSION@', project.version
}
// These settings allow you to choose what version of Java you want to be compatible with. Forge 1.7.10 runs on Java 6 to 8.
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
//Needed for forge userdev on gradle 6
maven {
name = "Overmind forge repo mirror"
url = "https://gregtech.overminddl1.com/"
}
maven {
name = "chickenbones"
url = "http://chickenbones.net/maven/"
}
}
configurations {
embed
implementation.extendsFrom(embed)
shade
implementation.extendsFrom(shade)
}
if(project.enable_mixin.toBoolean()) {
apply from: "buildscript/forge-1.7-mixin.gradle"
}
project.ext.override_dependencies = false
apply from: "project.gradle"
if(!project.ext.override_dependencies) {
dependencies {
runtimeOnly "codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev"
runtimeOnly "codechicken:CodeChickenCore:1.7.10-1.0.7.47:dev"
}
}
jar {
from(sourceSets.main.output);
// embed libraries in jar
from configurations.embed.collect {
exclude '**/LICENSE', '**/LICENSE.txt', 'META-INF/**.RSA'
it.isDirectory() ? it : zipTree(it)
}
configurations.shade.each { dep ->
from(project.zipTree(dep)){
exclude '**/LICENSE', '**/LICENSE.txt', 'META-INF', 'META-INF/**'
}
}
}
processResources {
// This will ensure that this task is redone when the versions or any
// user-defined properties change.
inputs.property "version", version
inputs.property "mcversion", project.minecraft.version
inputs.properties project.ext.getProperties()
filesMatching('*.info') {
expand project.properties
}
}
// Ensures that the encoding of source files is set to UTF-8, see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
// Add git commit hash to MANIFEST.MF
def getCommitHash(){
try {
def commitHashProc = "git describe --always --dirty".execute()
commitHashProc.waitFor()
if(commitHashProc.exitValue() == 0){
def commitHash = commitHashProc.text.trim()
return commitHash
} else {
println commitHashProc.err.text
throw new Exception("git describe exited with non-zero return value")
}
} catch(Exception e){
println "Failed to get commit version: " + e.getMessage()
}
return "UNKNOWN" // fallback
}
jar {
manifest {
attributes (
'Commit-ID': getCommitHash(),
)
}
}
|