Skip to content

Commit ffd0a3d

Browse files
committed
Adjust how we add things to the runtime classpath so that things we have just for testing in dev don't get added to the pom at all instead of us manually marking them as optional. Also re-enable gradle module metadata
1 parent f840b14 commit ffd0a3d

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

build.gradle

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,12 @@ sourceSets {
8484
}
8585

8686
configurations {
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 {
415421
dependencies {
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
627634
def MAVEN_PASSWORD_PROPERTY_NAME = 'mekanismMavenPassword'
628635
def 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

Comments
 (0)