@@ -84,6 +84,12 @@ sourceSets {
8484}
8585
8686configurations {
87+ // Sets up a dependency configuration called 'localRuntime'.
88+ // This configuration should be used instead of 'runtimeOnly' to declare
89+ // a dependency that will be present for runtime testing but that is
90+ // "optional", meaning it will not be pulled by dependents of this mod.
91+ runtimeClasspath. extendsFrom localRuntime
92+
8793 datagenNonMod
8894}
8995
@@ -415,7 +421,8 @@ test {
415421dependencies {
416422 implementation " net.neoforged:neoforge:${ forge_version} "
417423
418- implementation project(" :annotation-processor" )
424+ compileOnly project(" :annotation-processor" )
425+ localRuntime project(" :annotation-processor" )
419426 annotationProcessor project(" :annotation-processor" )
420427
421428 gameTestImplementation " net.neoforged:testframework:${ forge_version} "
@@ -428,35 +435,40 @@ dependencies {
428435 compileOnly(" mezz.jei:jei-${ previous_minor_minecraft_version} -neoforge-api:${ jei_version} " )
429436 if (recipe_viewer == " jei" || recipe_viewer == " hybrid" ) {
430437 // TODO - 1.20.5: Re-enable when JEI updates
431- // runtimeOnly ("mezz.jei:jei-${previous_minor_minecraft_version}-neoforge:${jei_version}")
438+ // localRuntime ("mezz.jei:jei-${previous_minor_minecraft_version}-neoforge:${jei_version}")
432439 }
433440
434441 compileOnly(" dev.emi:emi-neoforge:${ emi_version} +${ minecraft_version} :api" )
435442
436443 if (recipe_viewer == " emi" || recipe_viewer == " hybrid" ) {
437- runtimeOnly (" dev.emi:emi-neoforge:${ emi_version} +${ minecraft_version} " )
444+ localRuntime (" dev.emi:emi-neoforge:${ emi_version} +${ minecraft_version} " )
438445 }
439446
440447 // TODO - 1.19: Re-enable once https://github.com/Chisel-Team/ConnectedTexturesMod/pull/204 is merged
441- // runtimeOnly ("team.chisel.ctm:CTM:${minecraft_version}-${ctm_version}")
448+ // localRuntime ("team.chisel.ctm:CTM:${minecraft_version}-${ctm_version}")
442449
443450 // TODO: Remove having to specify these as non transitive once https://github.com/McJtyMods/TheOneProbe/issues/548 is fixed
444451 compileOnly(" mcjty.theoneprobe:theoneprobe:${ top_version} :api" ) {
445452 transitive = false
446453 }
447454 // TODO - 1.20.4: Re-enable once it doesn't cause connection issues on servers
448- /* runtimeOnly ("mcjty.theoneprobe:theoneprobe:${top_version}") {
455+ /* localRuntime ("mcjty.theoneprobe:theoneprobe:${top_version}") {
449456 transitive = false
450457 }*/
451458 compileOnly(" curse.maven:jade-api-324717:${ jade_api_id} " )
452459 // TODO - 1.20.5: Re-enable when Jade updates
453- // runtimeOnly ("curse.maven:jade-324717:${jade_id}")
460+ // localRuntime ("curse.maven:jade-324717:${jade_id}")
454461 compileOnly(" mcp.mobius.waila:wthit-api:neo-${ wthit_version} " )
455462
456- // TODO - 1.20.5: Switch back to implementation when it updates
457- compileOnly(" com.blamejared.crafttweaker:CraftTweaker-neoforge-${ previous_minor_minecraft_version} :${ crafttweaker_version} " )
463+ def crt = " com.blamejared.crafttweaker:CraftTweaker-neoforge-${ previous_minor_minecraft_version} :${ crafttweaker_version} "
464+ compileOnly(crt)
465+ // TODO - 1.20.5: Re-enable when it updates
466+ // localRuntime(crt)
458467 // TODO - 1.20.2: move back to implementation
459- compileOnly(" com.blamejared.jeitweaker:JeiTweaker-forge-${ previous_minecraft_version} :${ jeitweaker_version} " )
468+ def jeiTweaker = " com.blamejared.jeitweaker:JeiTweaker-forge-${ previous_minecraft_version} :${ jeitweaker_version} "
469+ compileOnly(jeiTweaker)
470+ // TODO - 1.20.5: Re-enable when it updates
471+ // localRuntime(jeiTweaker)
460472
461473 compileOnly(" dev.gigaherz.jsonthings:JsonThings-${ previous_minor_minecraft_version} :${ json_things_version} " )
462474
@@ -468,7 +480,7 @@ dependencies {
468480 compileOnly(" com.blamejared.recipestages:RecipeStages:${ recipe_stages_version} " )
469481 compileOnly(" curse.maven:opencomputers2-437654:${ oc2_id} " )
470482 compileOnly(" cc.tweaked:cc-tweaked-${ previous_minor_minecraft_version} -forge-api:${ cc_tweaked_version} " )
471- // runtimeOnly ("cc.tweaked:cc-tweaked-${minecraft_version}-forge:${cc_tweaked_version}")
483+ // localRuntime ("cc.tweaked:cc-tweaked-${minecraft_version}-forge:${cc_tweaked_version}")
472484 compileOnly(" curse.maven:female-gender-forge-481655:${ wildfire_gender_mod_id} " )
473485
474486 // Dependencies for data generators for mod compat reference
@@ -618,11 +630,6 @@ tasks.register('optimizePng').configure {
618630 }
619631}
620632
621- tasks. withType(GenerateModuleMetadata ). configureEach {
622- // Disable Gradle 7 module metadata generation as it does not play nicely with FG
623- enabled = false
624- }
625-
626633// properties to put in $HOME/.gradle/gradle.properties
627634def MAVEN_PASSWORD_PROPERTY_NAME = ' mekanismMavenPassword'
628635def MODMAVEN_PW = System . getenv(' MEK_MAVEN_PW' ) ?: (String ) project. findProperty(MAVEN_PASSWORD_PROPERTY_NAME )
@@ -653,13 +660,6 @@ publishing {
653660 distribution. set(' repo' )
654661 }
655662 }
656- withXml {
657- NodeList dependencies = asNode(). dependencies
658- NodeList allDeps = dependencies. ' *'
659-
660- // As we don't actually have any hard deps, just mark everything as optional so other people don't have to inherit them
661- allDeps. < Node > each { Node el -> el. appendNode(' optional' , true ) }
662- }
663663 }
664664 }
665665 }
0 commit comments