-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
132 lines (110 loc) · 3.13 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
131
132
buildscript {
repositories {
maven {
name = "MinecraftForge"
url = 'https://files.minecraftforge.net/maven'
}
jcenter()
mavenCentral()
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
}
}
apply plugin: 'net.minecraftforge.gradle.forge'
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
apply plugin: 'java'
apply plugin: 'idea'
idea {
module {
// for those who provide sources and javadocs, this is great
downloadJavadoc = downloadSources = true
}
}
repositories {
maven {
name = "CurseForge"
url = "https://minecraft.curseforge.com/api/maven/"
}
maven {
name 'DVS1 Maven FS'
url 'http://dvs1.progwml6.com/files/maven'
}
}
def modid = 'natura_niceties'
def creator = 'degeneratehuman'
project.setVersion '1.0'
project.setGroup "com.${creator}.${modid}"
project.setArchivesBaseName "${modid}"
def minecraft_ver = "${mc_ver}-${forge_ver}"
def placeholderFileGlobs = [
'**/*.info',
"assets/${modid}/**/*.json"
]
def placeholders = [
'version' : project.getVersion(),
'mc_ver' : mc_ver,
'modid' : modid
]
def jvm_ver = '1.8'
sourceCompatibility = targetCompatibility = jvm_ver
compileJava {
sourceCompatibility = targetCompatibility = jvm_ver
}
dependencies {
compile "com.progwml6.natura:natura:${mc_ver}-${natura_ver}"
compile "slimeknights.mantle:Mantle:${mc_ver_short}-${mantle_ver}"
// utility for when manually testing stuff
// runtime "mezz.jei:jei_${mc_ver}:${jei_ver}"
}
task generateJava(type:Copy) {
from 'src/template/java'
into "$buildDir/generated/java"
expand placeholders
}
// append the 'generated' folder to the list of source dirs
sourceSets.main.java.srcDir "$buildDir/generated/java"
compileJava.dependsOn generateJava
minecraft {
setVersion minecraft_ver
setMappings mappings_ver
runDir = "run"
replace '${version}', project.version
useDepAts = true
}
processResources {
from(sourceSets.main.resources.srcDirs) {
for (glob in placeholderFileGlobs) {
include glob
}
// replace version and MCVersion
expand placeholders
}
from(sourceSets.main.resources.srcDirs) {
for (glob in placeholderFileGlobs) {
exclude glob
}
}
}
jar {
manifest {
attributes([
"Specification-Title" : modid,
"Specification-Vendor" : creator,
"Specification-Version" : "1",
"Implementation-Title" : project.name,
"Implementation-Version" : project.version,
"Implementation-Vendor" : creator,
"Implementation-Timestamp" : new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") // ISO FORMAT!!! WOOP!!!
])
}
finalizedBy('reobfJar')
}
task sourcesJar(type: Jar) {
from sourceSets.main.allJava
classifier = 'sources'
}
artifacts {
archives sourcesJar
}