-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
69 lines (63 loc) · 2.02 KB
/
build.gradle
File metadata and controls
69 lines (63 loc) · 2.02 KB
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
import util.PropUtil
plugins {
id("multiloader-common")
id("net.neoforged.moddev")
}
// Configure common dependencies
dependencies {
// Mixin
compileOnly("org.spongepowered:mixin:${mixin_version}")
// MixinExtras
compileOnly(annotationProcessor("io.github.llamalad7:mixinextras-common:${mixinextras_version}"))
// Apply property-defined dependencies
final selector = (String type, dep) -> {
switch (type) {
case "anp": //noinspection DependencyNotationArgument
return annotationProcessor(dep)
break
case "api": //noinspection DependencyNotationArgument
return api(dep)
break
case "con": //noinspection DependencyNotationArgument
return compileOnly(dep)
break
case "imp": //noinspection DependencyNotationArgument
return implementation(dep)
break
case "-":
return dep
break
default:
throw new IllegalArgumentException("Unrecognized dependency type: ${type}")
}
}
new PropUtil(project).applyDependencies(project.name, selector)
}
// Configure ModDevGradle
neoForge {
neoFormVersion = neoform_version
// Apply common AccessTransformer if it exists
def at = file("src/main/resources/META-INF/accesstransformer.cfg")
if (at.exists()) accessTransformers.from(at.absolutePath)
validateAccessTransformers = true
// Apply Parchment mappings
parchment {
minecraftVersion = parchment_minecraft_version
mappingsVersion = parchment_version
}
}
// Set up access to common files
configurations {
commonJava {
canBeResolved = false
canBeConsumed = true
}
commonResources {
canBeResolved = false
canBeConsumed = true
}
}
artifacts {
commonJava sourceSets.main.java.sourceDirectories.singleFile
commonResources sourceSets.main.resources.sourceDirectories.singleFile
}