mirror of
https://github.com/GTNewHorizons/Angelica.git
synced 2026-10-26 14:24:30 +00:00
186 lines
10 KiB
Groovy
186 lines
10 KiB
Groovy
/*
|
|
* 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
|
|
*/
|
|
configurations {
|
|
transformedMod // Mods that can be transformed - used for compiling angelica, but not necessary at runtime
|
|
transformedMod.canBeConsumed = false
|
|
transformedModCompileOnly
|
|
transformedModCompileOnly.canBeConsumed = false
|
|
|
|
// Add the transformed mod dependencies to the compilation classpaths, but don't publish them in the Maven metadata
|
|
compileClasspath.extendsFrom(transformedMod, transformedModCompileOnly)
|
|
testCompileClasspath.extendsFrom(transformedMod, transformedModCompileOnly)
|
|
|
|
// Can be enabled for testing if desired
|
|
// runtimeClasspath.extendsFrom(transformedMod)
|
|
// testRuntimeClasspath.extendsFrom(transformedMod)
|
|
|
|
testRuntimeClasspath.exclude group: "com.github.GTNewHorizons", module: "lwjgl3ify"
|
|
|
|
// Embed in JAR without relocation (compile only, shadowed into JAR)
|
|
embedOnly
|
|
embedOnly.canBeConsumed = false
|
|
embedOnly.canBeResolved = true
|
|
compileClasspath.extendsFrom(embedOnly)
|
|
testCompileClasspath.extendsFrom(embedOnly)
|
|
testRuntimeClasspath.extendsFrom(embedOnly)
|
|
|
|
}
|
|
|
|
|
|
// Exclude self-reference from all configurations - prevents transitive Angelica deps from resolving against this project
|
|
configurations.all {
|
|
exclude group: "com.github.GTNewHorizons", module: "Angelica"
|
|
}
|
|
|
|
dependencies {
|
|
compileOnly("com.github.GTNewHorizons:Hodgepodge:2.7.158:dev")
|
|
|
|
compileOnly("com.gtnewhorizons.retrofuturabootstrap:RetroFuturaBootstrap:1.1.0") { transitive = false }
|
|
// runtimeOnlyNonPublishable("com.github.GTNewHorizons:lwjgl3ify:3.0.99")
|
|
|
|
compileOnly("org.projectlombok:lombok:1.18.42") { transitive = false }
|
|
annotationProcessor("org.projectlombok:lombok:1.18.42")
|
|
|
|
// Iris Shaders
|
|
compileOnly('org.jetbrains:annotations:26.0.2')
|
|
api("com.github.GTNewHorizons:GTNHLib:0.11.19:dev")
|
|
|
|
shadowImplementation(project(":glsm")) { transitive = false }
|
|
shadowImplementation(project(":lwjgl3-backend")) { transitive = false }
|
|
shadowImplementation("net.minecraftforge:eventbus:7.0-beta.15")
|
|
|
|
shadowImplementation("org.anarres:jcpp:1.4.14") // Apache 2.0
|
|
shadowImplementation("org.taumc:glsl-transformation-lib:0.2.0-33.g3ec381e") {
|
|
exclude module: "antlr4" // we only want to shadow the runtime module
|
|
}
|
|
shadowImplementation("org.antlr:antlr4-runtime:4.13.2")
|
|
compileOnly "org.apache.ant:ant:1.8.2"
|
|
|
|
// Celeritas (transitive=false: deps provided by GTNHLib/runtime)
|
|
embedOnly("org.embeddedt.celeritas:celeritas-common:2.5.5-GTNH") { transitive = false }
|
|
embedOnly("org.embeddedt.celeritas:celeritas-lwjgl2-service:2.5.3-GTNH") { transitive = false }
|
|
|
|
// Because who doesn't want NEI
|
|
devOnlyNonPublishable('com.github.GTNewHorizons:NotEnoughItems:2.8.35-GTNH:dev')
|
|
devOnlyNonPublishable('com.github.GTNewHorizons:CodeChickenCore:1.4.7:dev')
|
|
|
|
// Display List Testing
|
|
/*
|
|
runtimeOnlyNonPublishable("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-749-GTNH:dev")
|
|
runtimeOnlyNonPublishable("com.github.GTNewHorizons:ae2stuff:0.10.14-GTNH:dev")
|
|
runtimeOnlyNonPublishable("com.github.GTNewHorizons:BuildCraft:7.1.54:dev")
|
|
runtimeOnlyNonPublishable("com.github.GTNewHorizons:IguanaTweaksTConstruct:2.7.0:dev")
|
|
runtimeOnlyNonPublishable("com.github.GTNewHorizons:OpenBlocks:1.12.4-GTNH:dev")
|
|
runtimeOnlyNonPublishable("com.github.GTNewHorizons:OpenComputers:1.12.12-GTNH:dev")
|
|
runtimeOnlyNonPublishable("com.github.GTNewHorizons:TinkersConstruct:1.14.12-GTNH:dev")
|
|
runtimeOnlyNonPublishable("com.github.GTNewHorizons:ServerUtilities:2.2.13:dev")
|
|
runtimeOnlyNonPublishable("com.github.GTNewHorizons:ironchest:6.1.6:dev")
|
|
runtimeOnlyNonPublishable("com.github.GTNewHorizons:waila:1.9.7:dev")
|
|
runtimeOnlyNonPublishable("com.github.GTNewHorizons:Botania:1.13.15-GTNH:dev")
|
|
runtimeOnlyNonPublishable("com.github.GTNewHorizons:Mobs-Info:0.5.10-GTNH:dev")
|
|
runtimeOnlyNonPublishable("com.github.GTNewHorizons:Draconic-Evolution:1.5.18-GTNH:dev")
|
|
runtimeOnlyNonPublishable("com.github.GTNewHorizons:HoloInventory:2.5.8-GTNH:dev")
|
|
*/
|
|
|
|
//devOnlyNonPublishable('com.github.GTNewHorizons:worldedit-gtnh:v0.0.9')
|
|
|
|
// Notfine Deps
|
|
compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev")
|
|
devOnlyNonPublishable("com.github.GTNewHorizons:Baubles-Expanded:2.2.2-GTNH:dev")
|
|
compileOnly("com.github.GTNewHorizons:twilightforest:2.7.13:dev") { transitive = false }
|
|
compileOnly(rfg.deobf('curse.maven:witchery-69673:2234410'))
|
|
compileOnly("com.github.GTNewHorizons:TinkersConstruct:1.14.6-GTNH:dev") { transitive = false }
|
|
compileOnly("com.github.GTNewHorizons:Natura:2.8.9:dev")
|
|
|
|
compileOnly("com.github.GTNewHorizons:ThaumicHorizons:1.8.4:dev")
|
|
|
|
compileOnly("com.github.GTNewHorizons:Battlegear2:1.4.3:dev") { transitive = false }
|
|
|
|
compileOnly("com.falsepattern:chunkapi-mc1.7.10:0.5.1:api") { transitive = false }
|
|
compileOnly("com.falsepattern:endlessids-mc1.7.10:1.5-beta0003:dev") { transitive = false }
|
|
|
|
compileOnly(rfg.deobf("curse.maven:extrautils-225561:2264383"))
|
|
compileOnly(rfg.deobf("curse.maven:dynamiclights-227874:2337326"))
|
|
|
|
compileOnly("curse.maven:minefactory-reloaded-66672:2277486")
|
|
|
|
compileOnly("com.github.GTNewHorizons:NotEnoughIds:2.1.10:dev")
|
|
|
|
compileOnly(rfg.deobf("maven.modrinth:ntmspace:X5663_H261"))
|
|
|
|
compileOnly(rfg.deobf("curse.maven:campfirebackport-387444:4611675"))
|
|
compileOnly(rfg.deobf("curse.maven:xaeros-minimap-263420:5060684"))
|
|
compileOnly(rfg.deobf("curse.maven:security-craft-64760:2818228"))
|
|
compileOnly(rfg.deobf("curse.maven:et-futurum-requiem-441392:5873837"))
|
|
compileOnly(rfg.deobf("curse.maven:biomes-o-plenty-220318:2499612"))
|
|
|
|
devOnlyNonPublishable("com.github.GTNewHorizons:CosmeticArmorReworked:1.0.3-GTNH:dev")
|
|
|
|
// For testing alternative splash screens — https://github.com/MalTeeez/ModernSplash/releases
|
|
// devOnlyNonPublishable("com.github.MalTeeez:modernsplash:1.7.10-1.2.4:dev")
|
|
|
|
// Hodgepodge
|
|
transformedMod("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev")
|
|
|
|
// Better Crashes
|
|
compileOnly("com.github.GTNewHorizons:BetterCrashes:1.4.1-GTNH:dev")
|
|
|
|
// Distant Horizons
|
|
compileOnly("maven.modrinth:DistantHorizonsApi:5.1.0")
|
|
|
|
afterEvaluate {
|
|
dependencies {
|
|
testImplementation(platform('org.junit:junit-bom:5.14.1'))
|
|
testImplementation('org.junit.jupiter:junit-jupiter')
|
|
testImplementation("org.mockito:mockito-core:3.+")
|
|
testImplementation("org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209")
|
|
|
|
testImplementation('org.junit.platform:junit-platform-engine')
|
|
testImplementation('org.junit.platform:junit-platform-reporting')
|
|
testImplementation('org.junit.platform:junit-platform-launcher')
|
|
|
|
testImplementation('com.tngtech.archunit:archunit-junit5:1.4.1')
|
|
|
|
testRuntimeOnly("it.unimi.dsi:fastutil:8.5.18")
|
|
testRuntimeOnly("org.joml:joml:1.10.8")
|
|
}
|
|
}
|
|
|
|
compileOnly("mega:fluidlogged-mc1.7.10:0.1.2")
|
|
|
|
compileOnly("com.cardinalstar.cubicchunks:CubicChunks1710:v0.1.5-alpha:dev") { transitive = false }
|
|
}
|