-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.gradle
114 lines (99 loc) · 2.8 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
apply plugin: 'maven'
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'net.sf.proguard:proguard-gradle:5.2.1'
}
}
repositories {
mavenCentral()
maven {
url "https://libraries.minecraft.net/"
}
maven {
url "http://files.minecraftforgefrance.fr/maven/"
}
flatDir {
name "fileRepo"
dirs "repo"
}
}
group = 'net.minecraftforgefrance'
archivesBaseName = 'installer'
version = '2.4.1'
targetCompatibility = '1.6'
sourceCompatibility = '1.6'
dependencies {
compile 'net.sf.jopt-simple:jopt-simple:4.5'
compile 'net.sourceforge.argo:argo:3.7'
compile 'com.google.guava:guava:14.0'
compile 'org.tukaani:xz:1.3'
compile 'net.minecraft:launchwrapper:1.12'
compile 'utybo:minkj:1.1'
}
task fatJar(type: Jar, dependsOn: jar) {
inputs.file jar.archivePath
from(configurations.compile.collect { zipTree(it).matching { include '**/*.class' } })
manifest { attributes 'Main-Class': 'fr.minecraftforgefrance.installer.Installer' }
}
fatJar.doFirst {
from zipTree(jar.archivePath)
}
task shrinkJar(type: proguard.gradle.ProGuardTask, dependsOn: jar) {
inputs.file fatJar.archivePath
ext {
outDir = file("${buildDir}/proguard")
obfuscatedJar = "${outDir}/${jar.baseName}.jar"
}
outDir.mkdirs()
injars jar.archivePath
outjars obfuscatedJar
libraryjars configurations.compile
configuration 'proguard.pro'
}
task shrinkOutput(type: Jar, dependsOn: shrinkJar) {
classifier = 'shrunk'
from zipTree(shrinkJar.obfuscatedJar)
manifest { attributes 'Main-Class': 'fr.minecraftforgefrance.installer.Installer' }
}
task updaterJar(type: Jar, dependsOn: "jar"){
from project.sourceSets.main.output
archiveName = "updater-${project.version}-thin.jar"
include "fr/minecraftforgefrance/updater/**"
include "fr/minecraftforgefrance/common/**"
include "langs/**"
include "letsencryptauthorityx3.pem"
include "lets-encrypt-r3.pem"
}
task fullUpdaterJar(type: Jar, dependsOn: "updaterJar"){
inputs.file jar.archivePath
from(configurations.compile.collect { zipTree(it).matching {
include 'org/tukaani/**/*.class'
include 'utybo/minkj/**/*.class'
include 'argo/**/*.class'
}})
archiveName = "updater-${project.version}.jar"
}
fullUpdaterJar.doFirst {
from zipTree(updaterJar.archivePath)
}
artifacts {
archives fatJar
archives shrinkOutput
archives updaterJar
archives fullUpdaterJar
}
jar {
classifier = 'thin'
exclude 'argo/**'
exclude 'fr/minecraftforgefrance/updater/**'
manifest { attributes 'Main-Class': 'fr.minecraftforgefrance.installer.Installer' }
}
task wrapper(type: Wrapper) {
gradleVersion = '2.7'
}