diff options
Diffstat (limited to 'dependencies.gradle')
-rw-r--r-- | dependencies.gradle | 126 |
1 files changed, 122 insertions, 4 deletions
diff --git a/dependencies.gradle b/dependencies.gradle index 0dcf84e226..3608761d73 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,7 +1,125 @@ -// Add your dependencies here - +/* + * 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 { - api('com.github.GTNewHorizons:GT5-Unofficial:5.09.48.37:dev') + api("com.github.GTNewHorizons:StructureLib:1.3.4:dev") + api("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev") + api("com.github.GTNewHorizons:NotEnoughItems:2.6.30-GTNH:dev") + api("com.github.GTNewHorizons:NotEnoughIds:2.1.0:dev") + api("com.github.GTNewHorizons:GTNHLib:0.4.8:dev") + api("com.github.GTNewHorizons:ModularUI:1.2.0:dev") + api("com.github.GTNewHorizons:ModularUI2:2.1.3-1.7.10:dev") + api("com.github.GTNewHorizons:waila:1.8.1:dev") + api("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-442-GTNH:dev") + api("com.github.GTNewHorizons:AE2FluidCraft-Rework:1.3.33-gtnh:dev") + api('com.github.GTNewHorizons:Yamcl:0.6.0:dev') + api("com.github.GTNewHorizons:Postea:1.0.9:dev") + + compileOnlyApi('com.github.GTNewHorizons:ThaumicTinkerer:2.10.1:dev') + compileOnlyApi("com.github.GTNewHorizons:Mobs-Info:0.4.2-GTNH:dev") + compileOnlyApi("com.github.GTNewHorizons:Navigator:1.0.6:dev") + implementation('com.github.GTNewHorizons:Baubles:1.0.4:dev') {transitive=false} + // Required to prevent an older bauble api from Extra Utilities from loading first in the javac classpath + compileOnly('com.github.GTNewHorizons:Baubles:1.0.4:dev') {transitive=false} + + devOnlyNonPublishable("com.github.GTNewHorizons:Infernal-Mobs:1.8.1-GTNH:dev") + + compileOnlyApi("com.github.GTNewHorizons:Avaritia:1.51:dev") + // this is required because forestry is an hidden hard dep, revert this if you fixed the hidden hard dep + implementation("com.github.GTNewHorizons:ForestryMC:4.9.7:dev") { transitive = false } + + compileOnlyApi('com.github.GTNewHorizons:Angelica:1.0.0-beta4:api') { transitive = false } + compileOnlyApi("com.github.GTNewHorizons:AppleCore:3.3.0:dev") { transitive = false } + compileOnlyApi("com.github.GTNewHorizons:BuildCraft:7.1.39:dev") { transitive = false } + compileOnlyApi("com.github.GTNewHorizons:EnderIO:2.8.17:dev") { transitive = false } + compileOnlyApi("com.github.GTNewHorizons:ProjectRed:4.10.2-GTNH:dev") { transitive = false } + compileOnlyApi("com.github.GTNewHorizons:Railcraft:9.15.11:dev") { transitive = false } + + compileOnly("TGregworks:TGregworks:1.7.10-GTNH-1.0.26:deobf") {transitive = false} + compileOnly("com.github.GTNewHorizons:ThaumicBases:1.7.5:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:EnderCore:0.4.6:dev") { transitive = false } + + compileOnlyApi("com.github.GTNewHorizons:Galacticraft:3.2.1-GTNH:dev") { transitive = false } + implementation("com.github.GTNewHorizons:TinkersConstruct:1.12.8-GTNH:dev") + + compileOnly("com.github.GTNewHorizons:Chisel:2.15.2-GTNH:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:Translocators:1.2.1:dev") { transitive = false } + compileOnly rfg.deobf("curse.maven:cofh-core-69162:2388751") + compileOnly("com.github.GTNewHorizons:Nuclear-Control:2.6.2:dev") { transitive = false } + compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:Hodgepodge:2.5.52:dev") { transitive = false } + compileOnly('com.github.GTNewHorizons:Botania:1.11.5-GTNH:dev') { transitive = false } + compileOnly('com.github.GTNewHorizons:HoloInventory:2.4.12-GTNH:dev') { transitive = false } + compileOnly rfg.deobf("curse.maven:extra-utilities-225561:2264384") + compileOnly rfg.deobf('curse.maven:minefactory-reloaded-66672:2366150') + compileOnly("com.github.GTNewHorizons:OpenComputers:1.10.21-GTNH:dev") {transitive = false} + // https://www.curseforge.com/minecraft/mc-mods/advancedsolarpanels + compileOnlyApi rfg.deobf('curse.maven:advsolar-362768:2885953') + compileOnly('com.github.GTNewHorizons:ThaumicEnergistics:1.6.22-GTNH:dev') {transitive = false} + compileOnly("com.github.GTNewHorizons:BloodMagic:1.6.2:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:CraftTweaker:3.4.0:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:BetterLoadingScreen:1.7.0-GTNH:dev") { transitive = false } + + compileOnly('com.github.GTNewHorizons:SC2:2.2.0:dev') {transitive=false} + compileOnly('com.github.GTNewHorizons:Binnie:2.4.1:dev') {transitive = false} + compileOnly('curse.maven:PlayerAPI-228969:2248928') {transitive=false} + compileOnly('com.github.GTNewHorizons:BlockRenderer6343:1.2.12:dev'){transitive=false} + + shadowImplementation('com.github.GTNewHorizons:AVRcore:1.0.1') + + compileOnly("com.google.auto.value:auto-value-annotations:1.10.1") { transitive = false } + annotationProcessor("com.google.auto.value:auto-value:1.10.1") + + // For testing iApiary + //runtimeOnlyNonPublishable("com.github.GTNewHorizons:ForestryMC:4.9.7:dev") + + testImplementation(platform('org.junit:junit-bom:5.9.2')) + testImplementation('org.junit.jupiter:junit-jupiter') + testImplementation("org.mockito:mockito-core:3.+") + + functionalTestImplementation(platform('org.junit:junit-bom:5.9.2')) + functionalTestImplementation('org.junit.jupiter:junit-jupiter') + functionalTestImplementation('org.junit.platform:junit-platform-engine') + functionalTestImplementation('org.junit.platform:junit-platform-launcher') + functionalTestImplementation('org.junit.platform:junit-platform-reporting') + + runtimeOnlyNonPublishable("com.github.GTNewHorizons:DuraDisplay:1.3.3:dev") + + // For testing + //runtimeOnlyNonPublishable('com.github.GTNewHorizons:TCNEIAdditions:1.4.1:dev') - compileOnly('com.github.GTNewHorizons:VisualProspecting:1.2.11:dev') { transitive = false } + // Speeds up mod identification and loading in dev + runtimeOnlyNonPublishable(rfg.deobf("CoreTweaks:CoreTweaks:0.3.3.2")) } |