From 1725b91c94db09495f249be1ebe30251e32da5c5 Mon Sep 17 00:00:00 2001 From: JFronny Date: Fri, 7 Oct 2022 18:42:33 +0200 Subject: [PATCH] Clean up leftovers --- .../main/kotlin/jfmod.curseforge.gradle.kts | 2 +- jfmod/src/main/kotlin/jfmod.gradle.kts | 22 +++---- .../io/gitlab/jfronny/scripts/GradleExt.kt | 22 +------ .../io/gitlab/jfronny/scripts/LoomExt.kt | 22 +++---- .../io/gitlab/jfronny/scripts/ShadowExt.kt | 11 ---- lom/src/main/kotlin/lom.gradle.kts | 59 ++++++++++--------- 6 files changed, 53 insertions(+), 85 deletions(-) delete mode 100644 lom/src/main/kotlin/io/gitlab/jfronny/scripts/ShadowExt.kt diff --git a/jfmod/src/main/kotlin/jfmod.curseforge.gradle.kts b/jfmod/src/main/kotlin/jfmod.curseforge.gradle.kts index 95d13ad..f770e47 100644 --- a/jfmod/src/main/kotlin/jfmod.curseforge.gradle.kts +++ b/jfmod/src/main/kotlin/jfmod.curseforge.gradle.kts @@ -27,7 +27,7 @@ curseforge { .forEach { optionalDependency(it) } } afterEvaluate { - uploadTask.dependsOn(tasks.build) + uploadTask.dependsOn(tasks.build.get()) } } options { diff --git a/jfmod/src/main/kotlin/jfmod.gradle.kts b/jfmod/src/main/kotlin/jfmod.gradle.kts index a435aca..0853eaa 100644 --- a/jfmod/src/main/kotlin/jfmod.gradle.kts +++ b/jfmod/src/main/kotlin/jfmod.gradle.kts @@ -58,12 +58,12 @@ allprojects { loom { mods { register(sub.name) { - sourceSet(sub.sourceSets.main) - sourceSet(sub.sourceSets.client) + sourceSet(sub.sourceSets.main.get()) + sourceSet(sub.sourceSets.client.get()) } - if (!sourceSets.testmod.resources.isEmpty) { + if (!sourceSets.testmod.get().resources.isEmpty) { register("${sub.name}-testmod") { - sourceSet(sub.sourceSets.testmod) + sourceSet(sub.sourceSets.testmod.get()) } } } @@ -81,7 +81,7 @@ subprojects { tasks.named("javadoc").get().enabled = false - if (name !in devOnlyModules && !sourceSets.testmod.resources.isEmpty) { + if (name !in devOnlyModules && !sourceSets.testmod.get().resources.isEmpty) { //TODO register testmods of subprojects as testmodInclude automatically // val configuration = configurations.create("testmodJar").name // val testmodJarTask = tasks.named("testmodJar").get() @@ -97,17 +97,17 @@ subprojects { self.dependencies { api(project(mapOf("path" to project.path, "configuration" to "shadow"))) - clientImplementation(sourceSets.client.output) - testmodImplementation(sourceSets.testmod.output) + clientImplementation(sourceSets.client.get().output) + testmodImplementation(sourceSets.testmod.get().output) if (name !in devOnlyModules) include(project) } afterEvaluate { - tasks.genClientOnlySources.enabled = false - tasks.genCommonSources.enabled = false - tasks.unpickClientOnlyJar.enabled = false - tasks.unpickCommonJar.enabled = false + tasks.genClientOnlySources.get().enabled = false + tasks.genCommonSources.get().enabled = false + tasks.unpickClientOnlyJar.get().enabled = false + tasks.unpickCommonJar.get().enabled = false } } diff --git a/lom/src/main/kotlin/io/gitlab/jfronny/scripts/GradleExt.kt b/lom/src/main/kotlin/io/gitlab/jfronny/scripts/GradleExt.kt index 978940f..b16f100 100644 --- a/lom/src/main/kotlin/io/gitlab/jfronny/scripts/GradleExt.kt +++ b/lom/src/main/kotlin/io/gitlab/jfronny/scripts/GradleExt.kt @@ -1,36 +1,16 @@ package io.gitlab.jfronny.scripts -import org.gradle.api.Action -import org.gradle.api.DefaultTask import org.gradle.api.PolymorphicDomainObjectContainer import org.gradle.api.Project -import org.gradle.api.Task import org.gradle.api.artifacts.Dependency import org.gradle.api.artifacts.dsl.DependencyHandler -import org.gradle.api.plugins.JavaPluginExtension -import org.gradle.api.publish.PublishingExtension -import org.gradle.api.tasks.SourceSetContainer import org.gradle.api.tasks.TaskContainer import org.gradle.api.tasks.bundling.Jar import org.gradle.kotlin.dsl.named -import org.gradle.language.jvm.tasks.ProcessResources import kotlin.reflect.KClass import kotlin.reflect.KProperty -val Project.java: JavaPluginExtension get() = extensions.getByName("java") as JavaPluginExtension -fun Project.java(configure: Action) = extensions.configure("java", configure) -val Project.publishing: PublishingExtension get() = extensions.getByName("publishing") as PublishingExtension -fun Project.publishing(configure: Action) = extensions.configure("publishing", configure) - -val Project.sourceSets: SourceSetContainer get() = extensions.getByName("sourceSets") as SourceSetContainer -fun Project.sourceSets(configure: Action) = extensions.configure("sourceSets", configure) - -val TaskContainer.assemble: DefaultTask get() = named("assemble").get() -val TaskContainer.build: DefaultTask get() = named("build").get() -val TaskContainer.jar: Jar get() = named("jar").get() -val TaskContainer.sourcesJar: Jar get() = named("sourcesJar").get() -val TaskContainer.publish: Task get() = named("publish").get() -fun TaskContainer.processResources(configure: ProcessResources.() -> Unit) = named("processResources").configure(configure) +val TaskContainer.sourcesJar get() = named("sourcesJar") fun , U : T> C.registering(type: KClass, action: U.() -> Unit): PDelegate = PDelegate(this, type.java, action) diff --git a/lom/src/main/kotlin/io/gitlab/jfronny/scripts/LoomExt.kt b/lom/src/main/kotlin/io/gitlab/jfronny/scripts/LoomExt.kt index ba8b58c..0532d98 100644 --- a/lom/src/main/kotlin/io/gitlab/jfronny/scripts/LoomExt.kt +++ b/lom/src/main/kotlin/io/gitlab/jfronny/scripts/LoomExt.kt @@ -1,8 +1,8 @@ package io.gitlab.jfronny.scripts +import net.fabricmc.loom.LoomGradleExtension import net.fabricmc.loom.api.LoomGradleExtensionAPI import net.fabricmc.loom.task.RemapJarTask -import net.fabricmc.loom.task.RemapSourcesJarTask import net.fabricmc.loom.task.UnpickJarTask import org.gradle.api.Action import org.gradle.api.DefaultTask @@ -13,7 +13,7 @@ import org.gradle.api.tasks.SourceSetContainer import org.gradle.api.tasks.TaskContainer import org.gradle.kotlin.dsl.named -val Project.loom: LoomGradleExtensionAPI get() = extensions.getByName("loom") as LoomGradleExtensionAPI +val Project.loom: LoomGradleExtensionAPI get() = LoomGradleExtension.get(this) fun Project.loom(configure: Action) = extensions.configure("loom", configure) fun DependencyHandler.minecraft(dependencyNotation: Any) = add("minecraft", dependencyNotation) @@ -22,16 +22,12 @@ fun DependencyHandler.modImplementation(dependencyNotation: Any) = add("modImple fun DependencyHandler.testmodImplementation(dependencyNotation: Any) = add("testmodImplementation", dependencyNotation) fun DependencyHandler.clientImplementation(dependencyNotation: Any) = add("clientImplementation", dependencyNotation) -val SourceSetContainer.main: SourceSet get() = named("main").get() -fun SourceSetContainer.main(configure: Action) = configure.execute(this.main) -val SourceSetContainer.client: SourceSet get() = named("client").get() -fun SourceSetContainer.client(configure: Action) = configure.execute(this.client) -val SourceSetContainer.testmod: SourceSet get() = named("testmod").get() -fun SourceSetContainer.testmod(configure: Action) = configure.execute(this.testmod) +val SourceSetContainer.main get() = named("main") +val SourceSetContainer.client get() = named("client") +val SourceSetContainer.testmod get() = named("testmod") fun TaskContainer.remapJar(configure: RemapJarTask.() -> Unit) = named("remapJar").configure(configure) -val TaskContainer.remapSourcesJar: RemapSourcesJarTask get() = named("remapSourcesJar").get() -val TaskContainer.genClientOnlySources: DefaultTask get() = named("genClientOnlySources").get() -val TaskContainer.genCommonSources: DefaultTask get() = named("genCommonSources").get() -val TaskContainer.unpickClientOnlyJar: UnpickJarTask get() = named("unpickClientOnlyJar").get() -val TaskContainer.unpickCommonJar: UnpickJarTask get() = named("unpickCommonJar").get() \ No newline at end of file +val TaskContainer.genClientOnlySources get() = named("genClientOnlySources") +val TaskContainer.genCommonSources get() = named("genCommonSources") +val TaskContainer.unpickClientOnlyJar get() = named("unpickClientOnlyJar") +val TaskContainer.unpickCommonJar get() = named("unpickCommonJar") \ No newline at end of file diff --git a/lom/src/main/kotlin/io/gitlab/jfronny/scripts/ShadowExt.kt b/lom/src/main/kotlin/io/gitlab/jfronny/scripts/ShadowExt.kt deleted file mode 100644 index 6e176eb..0000000 --- a/lom/src/main/kotlin/io/gitlab/jfronny/scripts/ShadowExt.kt +++ /dev/null @@ -1,11 +0,0 @@ -package io.gitlab.jfronny.scripts - -import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar -import org.gradle.api.artifacts.Configuration -import org.gradle.api.artifacts.ConfigurationContainer -import org.gradle.api.tasks.TaskContainer -import org.gradle.kotlin.dsl.named - -val ConfigurationContainer.shadow: Configuration get() = named("shadow").get() - -val TaskContainer.shadowJar get() = named("shadowJar") \ No newline at end of file diff --git a/lom/src/main/kotlin/lom.gradle.kts b/lom/src/main/kotlin/lom.gradle.kts index 9472de4..64ea008 100644 --- a/lom/src/main/kotlin/lom.gradle.kts +++ b/lom/src/main/kotlin/lom.gradle.kts @@ -10,6 +10,13 @@ import org.gradle.api.tasks.compile.JavaCompile import org.gradle.kotlin.dsl.* import java.io.File +plugins { + idea + `java-library` + `maven-publish` + id("com.github.johnrengelman.shadow") +} + val devlibs = File(project.buildDir, "devlibs") val args = extensions.create("lom") @@ -21,17 +28,13 @@ afterEvaluate { else loom.officialMojangMappings() modImplementation("net.fabricmc:fabric-loader:${args.loaderVersion.get()}") - testmodImplementation(sourceSets.main.output) - testmodImplementation(sourceSets.client.output) + testmodImplementation(sourceSets.main.get().output) + testmodImplementation(sourceSets.client.get().output) } } -// Apply necessary plugins -apply(plugin = "idea") -apply(plugin = "java-library") +// Apply loom manually to ensure the afterEvaluate block above is done before looms are called apply(plugin = "fabric-loom") -apply(plugin = "maven-publish") -apply(plugin = "com.github.johnrengelman.shadow") // Configure loom for stricter dev env loom { @@ -42,26 +45,26 @@ loom { // Create testmod source set with access to main and client classpaths sourceSets { create("testmod") { - compileClasspath += sourceSets.main.compileClasspath - runtimeClasspath += sourceSets.main.runtimeClasspath + compileClasspath += sourceSets.main.get().compileClasspath + runtimeClasspath += sourceSets.main.get().runtimeClasspath - compileClasspath += sourceSets.client.compileClasspath - runtimeClasspath += sourceSets.client.runtimeClasspath + compileClasspath += sourceSets.client.get().compileClasspath + runtimeClasspath += sourceSets.client.get().runtimeClasspath } } -val hasTestmod = !sourceSets.testmod.resources.isEmpty +val hasTestmod = !sourceSets.testmod.get().resources.isEmpty // Class path groups (required to allow ultra early init) loom { mods { register(name) { - sourceSet(sourceSets.main) - sourceSet(sourceSets.client) + sourceSet(sourceSets.main.get()) + sourceSet(sourceSets.client.get()) } if (hasTestmod) { register("$name-testmod") { - sourceSet(sourceSets.testmod) + sourceSet(sourceSets.testmod.get()) } } } @@ -72,13 +75,13 @@ loom { client() ideConfigGenerated(rootProject == project) name("Testmod Client") - source(sourceSets.testmod) + source(sourceSets.testmod.get()) } create("testmodServer") { server() ideConfigGenerated(rootProject == project) name("Testmod Server") - source(sourceSets.testmod) + source(sourceSets.testmod.get()) } } } @@ -111,20 +114,20 @@ repositories { } // Mark normal jars as -dev -tasks.jar.archiveClassifier.set("dev") +tasks.jar.get().archiveClassifier.set("dev") // Used for referencing the unremapped jars of other projects -artifacts.add(configurations.create("dev").name, tasks.jar.archiveFile.get().asFile) { +artifacts.add(configurations.create("dev").name, tasks.jar.get().archiveFile.get().asFile) { type = "jar" - builtBy(tasks.jar) + builtBy(tasks.jar.get()) } // configure the shadow task to not shadow by default and output to builds/devlibs tasks.shadowJar { - val inputTask: Jar = tasks.findByName("injectCompiledConfig") as Jar? ?: tasks.jar // get injectCompiledConfig task if present (-> LibJF) or use normal jar task + val inputTask: Jar = tasks.findByName("injectCompiledConfig") as Jar? ?: tasks.jar.get() // get injectCompiledConfig task if present (-> LibJF) or use normal jar task dependsOn(inputTask) configurations.clear() - from(project.configurations.shadow, inputTask.archiveFile.get()) + from(project.configurations.shadow.get(), inputTask.archiveFile.get()) archiveClassifier.set("shadow") destinationDirectory.set(devlibs) } @@ -147,7 +150,7 @@ val remapMavenJar by tasks.registering(RemapJarTask::class) { archiveFileName.set("${archiveBaseName.get()}-${project.versionS}-maven.jar") addNestedDependencies.set(false) } -tasks.assemble.dependsOn(remapMavenJar) +tasks.assemble.get().dependsOn(remapMavenJar) // configure remapJar to use the output of shadow tasks.remapJar { @@ -168,12 +171,12 @@ publishing { publications { create("lom") { from(components["java"]) - setArtifacts(listOf(remapMavenJar, tasks.sourcesJar)) + setArtifacts(listOf(remapMavenJar, tasks.sourcesJar.get())) } } } -tasks.publish.dependsOn(tasks.build) -tasks.deployDebug.dependsOn(tasks.publish) +tasks.publish.get().dependsOn(tasks.build.get()) +tasks.deployDebug.dependsOn(tasks.publish.get()) // create testmodInclude configuration val testmodIncludeConfiguration = configurations.create("testmodInclude") @@ -181,7 +184,7 @@ val testmodIncludeConfiguration = configurations.create("testmodInclude") if (hasTestmod) { // generate jar from testmod source set val testmodJar by tasks.registering(Jar::class) { - from(sourceSets.testmod.output) + from(sourceSets.testmod.get().output) destinationDirectory.set(devlibs) archiveClassifier.set("testmod") } @@ -196,7 +199,7 @@ if (hasTestmod) { addNestedDependencies.set(true) nestedJars.setFrom(*testmodIncludeConfiguration.files.toTypedArray()) } - tasks.assemble.dependsOn(remapTestmodJar) + tasks.assemble.get().dependsOn(remapTestmodJar) } }