1+ buildscript {
2+ repositories {
3+ jcenter()
4+ mavenCentral()
5+ maven { url = ' https://files.minecraftforge.net/maven' }
6+ maven { url = ' https://repo.spongepowered.org/maven' }
7+ maven { url = ' https://jitpack.io' }
8+ }
9+
10+ dependencies {
11+ classpath ' com.github.jengelman.gradle.plugins:shadow:4.0.4'
12+ classpath ' net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
13+ classpath ' org.spongepowered:mixingradle:0.6-SNAPSHOT'
14+ }
15+ }
16+
17+ repositories {
18+ jcenter()
19+ mavenCentral()
20+ maven { url = ' https://repo.spongepowered.org/maven/' }
21+ maven { url = ' https://jitpack.io' }
22+ }
23+
24+ apply plugin : ' java'
25+ apply plugin : ' com.github.johnrengelman.shadow'
26+
27+ apply plugin : ' net.minecraftforge.gradle.forge'
28+ apply plugin : ' org.spongepowered.mixin'
29+
30+ version = ' 1.0.0'
31+ group = ' de.timmi6790.barrier'
32+ archivesBaseName = ' BarrierVisibility'
33+
34+ sourceCompatibility = JavaVersion . VERSION_1_8
35+ targetCompatibility = JavaVersion . VERSION_1_8
36+ compileJava. options. encoding = ' UTF-8'
37+
38+ dependencies {
39+ // Enabled me only for build
40+ annotationProcessor ' org.spongepowered:mixin:0.7.11-SNAPSHOT'
41+ compile(' org.spongepowered:mixin:0.7.11-SNAPSHOT' ) {
42+ // Mixin includes a lot of dependencies that are too up-to-date
43+ exclude module : ' guava'
44+ exclude module : ' gson'
45+ exclude module : ' commons-io'
46+ exclude module : ' log4j-core'
47+ }
48+
49+ compileOnly ' org.projectlombok:lombok:1.18.18'
50+ annotationProcessor ' org.projectlombok:lombok:1.18.12'
51+ }
52+
53+ minecraft {
54+ version = ' 1.8.9-11.15.1.2318-1.8.9'
55+ runDir = ' run'
56+ mappings = ' stable_22'
57+ }
58+
59+ processResources {
60+ inputs. property ' version' , project. version
61+ inputs. property ' mcversion' , project. minecraft. version
62+
63+ from(sourceSets. main. resources. srcDirs) {
64+ include ' mcmod.info'
65+ expand ' version' : project. version,
66+ ' mcversion' : project. minecraft. version
67+ }
68+
69+ from(sourceSets. main. resources. srcDirs) {
70+ exclude ' mcmod.info'
71+ }
72+
73+ rename ' (.+_at.cfg)' , ' META-INF/$1'
74+ }
75+
76+ mixin {
77+ defaultObfuscationEnv searge
78+ add sourceSets. main, " mixins.barrierVisibility.refmap.json"
79+ }
80+
81+ reobf {
82+ shadowJar {
83+ mappingType = ' searge'
84+ }
85+ }
86+
87+ configurations {
88+ embed
89+ compile. extendsFrom(embed)
90+ }
91+
92+ jar {
93+ configurations. embed. each { dep ->
94+ from(project. zipTree(dep)) {
95+ exclude " META-INF" , " META-INF/**"
96+ }
97+
98+ from(project. zipTree(dep)) {
99+ include " META-INF/services" , " META-INF/services/"
100+ }
101+ }
102+
103+ manifest. attributes(
104+ ' MixinConfigs' : ' mixins.barrierVisibility.json' ,
105+ ' TweakClass' : ' org.spongepowered.asm.launch.MixinTweaker' ,
106+ ' FMLCorePluginContainsFMLMod' : " true" ,
107+ ' ForceLoadAsMod' : ' true' ,
108+ ' FMLCorePlugin' : ' de.timmi6790.barrier.mixins.MixinLoader'
109+ )
110+ }
111+
112+ shadowJar {
113+ dependencies {
114+ exclude(dependency(' org.checkerframework:checker-qual:.*' ))
115+ exclude(dependency(' com.google.errorprone:error_prone_annotations:.*' ))
116+ }
117+ classifier ' '
118+ exclude ' LICENSE.txt' , ' dummyThing'
119+ }
120+
121+ artifacts {
122+ archives jar
123+ archives shadowJar
124+ }
0 commit comments