-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdependencies.gradle
91 lines (84 loc) · 6.26 KB
/
dependencies.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
//file:noinspection DependencyNotationArgument
// TODO remove when fixed in RFG ^
/*
* 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
* For more info, see https://github.com/GTModpackTeam/Buildscripts/blob/master/docs/shadow.md
*
* 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.
*
* To add a mod with CurseMaven, replace '("g:n:v:c")' in the above with 'rfg.deobf("curse.maven:project_slug-project_id:file_id")'
* Example: devOnlyNonPublishable(rfg.deobf("curse.maven:top-245211:2667280"))
*
* 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.4/userguide/java_library_plugin.html#sec:java_library_configurations_graph
*/
dependencies {
// Published dependencies
api("codechicken:codechickenlib:3.2.3.358") // CCL 3.2.3.358
api("com.cleanroommc:modularui:2.4.3") { transitive = false } // MUI 2.4.3
api("com.cleanroommc:groovyscript:1.1.1") { transitive = false } // GrS 1.1.1
api("CraftTweaker2:CraftTweaker2-MC1120-Main:1.12-4.1.20.700") // CrT 4.1.20.700
api rfg.deobf("curse.maven:ctm-267602:2915363") // CTM 1.0.2.31
// Hard Dependencies
devOnlyNonPublishable(rfg.deobf("curse.maven:gregtech-ce-unofficial-557242:5519022")) // CEu 2.8.10
//devOnlyNonPublishable(rfg.deobf(project.files("libs/gregtech-1.12.2-2.8.9-beta-dev.jar"))) // CEu pr 2.8.10
devOnlyNonPublishable(rfg.deobf("curse.maven:forgelin-continuous-456403:6142081")) // Forgelin-Continuous 2.1.10.0
// Debug Thaumcraft
if (project.debug_all.toBoolean() || project.debug_thaumcraft.toBoolean()) {
runtimeOnlyNonPublishable rfg.deobf("curse.maven:baubles-227083:2518667") // Baubles 1.5.2
runtimeOnlyNonPublishable rfg.deobf("curse.maven:thaumcraft-223628:2629023") // Thaumcraft 6.1.BETA26
runtimeOnlyNonPublishable rfg.deobf("curse.maven:thaumic-jei-285492:2705304") // Thaumic JEI
}
// Debug Forestry
compileOnly rfg.deobf("curse.maven:forestry-59751:5903382") // Forestry 5.8.2.387
compileOnly rfg.deobf("curse.maven:binnies-mods-patched-899182:5492997") // Binnie's Mods Patched 2.5.1.212
if (project.debug_all.toBoolean() || project.debug_forestry.toBoolean()) {
runtimeOnlyNonPublishable rfg.deobf("curse.maven:forestry-59751:5903382") // Forestry 5.8.2.387
runtimeOnlyNonPublishable rfg.deobf("curse.maven:beebetteratbees-244516:2627215") // BeeBetterAtBees 2.0.3
runtimeOnlyNonPublishable rfg.deobf("curse.maven:jei-bees-248370:2490058") // JEIBees 0.9.0.5
// Debug Gendustry
if (project.debug_all.toBoolean() || project.debug_gendustry.toBoolean()) {
runtimeOnlyNonPublishable rfg.deobf("curse.maven:bdlib-70496:2518031") // BdLib 1.14.3.12
runtimeOnlyNonPublishable rfg.deobf("curse.maven:gendustry-70492:2516215") // Gendustry 1.6.5.8
runtimeOnlyNonPublishable rfg.deobf("curse.maven:gendustry-jei-addon-301364:2609434") // Gendustry JEI Addon 1.0.2
}
// Debug Binnies
if (project.debug_all.toBoolean() || project.debug_binnies.toBoolean()) {
runtimeOnlyNonPublishable rfg.deobf("curse.maven:binnies-mods-patched-899182:5492997") // Binnie's Mods Patched 2.5.1.212
}
}
// Debug GCYM
compileOnly rfg.deobf("curse.maven:gregicality-multiblocks-564858:5619513") // GCYM 1.2.11
if (project.debug_all.toBoolean() || project.debug_gcym.toBoolean()) {
runtimeOnlyNonPublishable rfg.deobf("curse.maven:gregicality-multiblocks-564858:5619513")
}
// debug GTFO
if (project.debug_all.toBoolean() || project.debug_gtfo.toBoolean()) {
runtimeOnlyNonPublishable rfg.deobf("curse.maven:gregtech-food-option-477021:5487400") // GTFO 1.11.2.1
}
}