/
build.gradle
108 lines (87 loc) · 2.84 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
buildscript {
repositories {
jcenter()
maven {
name = "forge"
url = "http://files.minecraftforge.net/maven"
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
}
}
plugins {
id 'org.ajoberstar.grgit' version '1.7.2'
id 'com.github.johnrengelman.shadow' version '1.2.4'
}
apply plugin: 'net.minecraftforge.gradle.forge'
final commitId
if (hasProperty("grgit")) { // If there's a valid Git repository, get the latest commit ID
commitId = "${grgit.head().abbreviatedId}"
} else { // Else fall back to NOGIT
commitId = "NOGIT"
}
version = "${mc_version}-${mod_version}-${commitId}"
group = "${package_group}" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "${mod_name}"
minecraft {
version = "${mc_version}-${forge_version}"
runDir = "run"
if (project.hasProperty('mappings_version'))
mappings = project.mappings_version
}
repositories {
maven { url = "http://dvs1.progwml6.com/files/maven" }
maven { url = "http://tehnut.info/maven" }
maven { url 'https://jitpack.io' }
}
dependencies {
deobfProvided "mezz.jei:jei_${mc_version}:${jei_version}:api"
runtime "mezz.jei:jei_${mc_version}:${jei_version}"
compile "org.apache.httpcomponents:fluent-hc:${httpclient_version}"
deobfProvided "mcp.mobius.waila:Hwyla:${hwyla_version}_1.12"
deobfCompile "com.github.azanor:Baubles:${baubles_version}"
}
shadowJar {
// Only shadow fluent-hc
dependencies {
include(dependency('org.apache.httpcomponents:fluent-hc:.*'))
}
// Relocate fluent-hc to prevent conflicts with other mods that include it
relocate 'org.apache.http.client.fluent', 'choonster.testmod3.repack.org.apache.http.client.fluent'
classifier '' // Replace the default JAR
}
reobf {
shadowJar {} // Reobfuscate the shadowed JAR
}
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, that's not the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
exclude 'log4j2.xml'
}
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
options.compilerArgs.add('-Xlint:unchecked')
}
tasks.withType(Javadoc) {
options.encoding = 'UTF-8'
}
task javadocJar(type: Jar, dependsOn: javadoc) {
from javadoc.destinationDir
classifier = 'javadoc'
}
artifacts {
archives javadocJar
archives shadowJar
}