-
Notifications
You must be signed in to change notification settings - Fork 91
Expand file tree
/
Copy pathdependencies.gradle
More file actions
118 lines (111 loc) · 6.95 KB
/
dependencies.gradle
File metadata and controls
118 lines (111 loc) · 6.95 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
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
/*
* Add your dependencies here. Supported configurations:
* - api("group:name:version:classifier"): if you use the types from this dependency in the public API of this mod
* Available at runtime and compiletime for mods depending on this mod
* - implementation("g:n:v:c"): if you need this for internal implementation details of the mod, but none of it is visible via the public API
* Available at runtime but not compiletime for mods depending on this mod
* - compileOnly("g:n:v:c"): if the mod you're building doesn't need this dependency during runtime at all, e.g. for optional mods
* Not available at all for mods depending on this mod, only visible at compiletime for this mod
* - compileOnlyApi("g:n:v:c"): like compileOnly, but also visible at compiletime for mods depending on this mod
* Available at compiletime but not runtime for mods depending on this mod
* - runtimeOnlyNonPublishable("g:n:v:c"): if you want to include a mod in this mod's runClient/runServer runs, but not publish it as a dependency
* Not available at all for mods depending on this mod, only visible at runtime for this mod
* - devOnlyNonPublishable("g:n:v:c"): a combination of runtimeOnlyNonPublishable and compileOnly for dependencies present at both compiletime and runtime,
* but not published as Maven dependencies - useful for RFG-deobfuscated dependencies or local testing
* - runtimeOnly("g:n:v:c"): if you don't need this at compile time, but want it to be present at runtime
* Available at runtime for mods depending on this mod
* - annotationProcessor("g:n:v:c"): mostly for java compiler plugins, if you know you need this, use it, otherwise don't worry
* - testCONFIG("g:n:v:c") - replace CONFIG by one of the above (except api), same as above but for the test sources instead of main
*
* - shadowImplementation("g:n:v:c"): effectively the same as API, but the dependency is included in your jar under a renamed package name
* Requires you to enable usesShadowedDependencies in gradle.properties
*
* - compile("g:n:v:c"): deprecated, replace with "api" (works like the old "compile") or "implementation" (can be more efficient)
*
* You can exclude transitive dependencies (dependencies of the chosen dependency) by appending { transitive = false } if needed,
* but use this sparingly as it can break using your mod as another mod's dependency if you're not careful.
*
* To depend on obfuscated jars you can use `devOnlyNonPublishable(rfg.deobf("dep:spec:1.2.3"))` to fetch an obfuscated jar from maven,
* or `devOnlyNonPublishable(rfg.deobf(project.files("libs/my-mod-jar.jar")))` to use a file.
*
* Gradle names for some of the configuration can be misleading, compileOnlyApi and runtimeOnly both get published as dependencies in Maven, but compileOnly does not.
* The buildscript adds runtimeOnlyNonPublishable to also have a runtime dependency that's not published.
*
* For more details, see https://docs.gradle.org/8.0.1/userguide/java_library_plugin.html#sec:java_library_configurations_graph
*/
dependencies {
elytraModpackVersion {
setGtnhVersion("2.8.4")
}
implementation(gtnh("GT5-Unofficial"))
implementation(gtnh("GTNHLib"))
implementation(gtnh("AE2FluidCraft-Rework"))
implementation(gtnh("NewHorizonsCoreMod"))
implementation(gtnh("Avaritia"))
implementation(gtnh("Avaritiaddons"))
implementation(gtnh("Eternal-Singularity"))
implementation(gtnh("Universal-Singularities"))
implementation(gtnh("MagicBees"))
implementation(gtnh("ThaumicEnergistics"))
implementation(gtnh("Botania"))
implementation(gtnh("supersolarpanels"))
implementation(gtnh("Electro-Magic-Tools"))
implementation(gtnh("Hodgepodge"))
implementation(gtnh("WitcheryExtras"))
implementation(gtnh("BloodMagic"))
implementation(gtnh("EnderIO"))
implementation(gtnh("EnderCore"))
implementation(gtnh("Galaxy-Space-GTNH"))
implementation(gtnh("ForestryMC"))
compileOnly(deobfCurse('witchery-69673:2234410'))
compileOnly(gtnh("amunra"))
compileOnly(gtnh("twilightforest"))
// implementation("com.github.GTNewHorizons:GT5-Unofficial:5.09.51.459:dev")
// implementation("com.github.GTNewHorizons:GTNHLib:0.6.39:dev")
// implementation("com.github.GTNewHorizons:AE2FluidCraft-Rework:1.4.114-GTNH:dev")
// implementation("com.github.GTNewHorizons:NewHorizonsCoreMod:2.7.256:dev")
// implementation("com.github.GTNewHorizons:Avaritia:1.75:dev")
// implementation("com.github.GTNewHorizons:Avaritiaddons:1.9.1-GTNH:dev")
// implementation("com.github.GTNewHorizons:Eternal-Singularity:1.2.1:dev")
// implementation("com.github.GTNewHorizons:Universal-Singularities:8.10.0:dev")
// implementation("com.github.GTNewHorizons:MagicBees:2.9.4-GTNH:dev")
// implementation("com.github.GTNewHorizons:ThaumicEnergistics:1.7.14-GTNH:dev")
// implementation("com.github.GTNewHorizons:Botania:1.12.25-GTNH:dev")
// implementation("com.github.GTNewHorizons:supersolarpanels:1.1.4:dev")
// implementation("com.github.GTNewHorizons:Electro-Magic-Tools:1.6.17:dev")
// implementation("com.github.GTNewHorizons:Hodgepodge:2.6.106:dev")
// implementation("com.github.GTNewHorizons:WitcheryExtras:1.3.6:dev")
// implementation("com.github.GTNewHorizons:BloodMagic:1.7.51:dev")
// implementation("com.github.GTNewHorizons:EnderIO:2.9.22:dev")
// implementation("com.github.GTNewHorizons:EnderCore:0.4.8:dev")
// implementation("com.github.GTNewHorizons:Galaxy-Space-GTNH:1.1.121-GTNH:dev")
// implementation("com.github.GTNewHorizons:ForestryMC:4.10.17:dev")
implementation ("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev")
runtimeOnlyNonPublishable(gtnh("BlockRenderer6343")) { transitive = false }
// implementation("com.github.GTNewHorizons:BlockRenderer6343:1.3.16:dev") { transitive = false }
implementation("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev")
implementation(rfg.deobf('curse.maven:advsolar-362768:2885953'))
//These 2 deps have conflicts with Amun-Ra by default, see Twist-Space-Technology-Mod#150
compileOnly(rfg.deobf('curse.maven:witchery-69673:2234410'))
implementation('com.google.auto.value:auto-value-annotations:1.10.1')
annotationProcessor('com.google.auto.value:auto-value:1.10.1')
//These 2 deps are for mixin
}
/**
* Generate a dependency notation for projects that:
* <ul>
* <li>Group name is {@code com.github.GTNewHorizons}.
* <li>Name in the Manifest is same to the artifact name.
* <li>Version is retrievable in Manifest.
* </ul>
*
* You can visit <a href="https://github.com/GTNewHorizons/DreamAssemblerXXL/tree/master/releases/manifests">the manifests in GitHub</a>.
*
* @param name the name of the dependency in the manifest.
* @param classifier the classifier
* @return the generated notation
*/
String gtnh(String name, String classifier = "dev") {
// com.github.GTNewHorizons:{name}:{version of name}:{classifier}
return project.elytraModpackVersion.gtnhdev(name)
}