Scripts/lom/src/main/kotlin/io/gitlab/jfronny/lom/ext/LoomExt.kt

38 lines
2.4 KiB
Kotlin
Raw Normal View History

2022-10-06 19:30:52 +02:00
package io.gitlab.jfronny.lom.ext
import net.fabricmc.loom.api.LoomGradleExtensionAPI
import net.fabricmc.loom.task.GenerateSourcesTask
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
import org.gradle.api.Project
import org.gradle.api.artifacts.dsl.DependencyHandler
import org.gradle.api.tasks.SourceSet
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
fun Project.loom(configure: Action<LoomGradleExtensionAPI>) = extensions.configure("loom", configure)
fun DependencyHandler.minecraft(dependencyNotation: Any) = add("minecraft", dependencyNotation)
fun DependencyHandler.mappings(dependencyNotation: Any) = add("mappings", dependencyNotation)
fun DependencyHandler.modImplementation(dependencyNotation: Any) = add("modImplementation", dependencyNotation)
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<SourceSet>) = configure.execute(this.main)
val SourceSetContainer.client: SourceSet get() = named("client").get()
fun SourceSetContainer.client(configure: Action<SourceSet>) = configure.execute(this.client)
val SourceSetContainer.testmod: SourceSet get() = named("testmod").get()
fun SourceSetContainer.testmod(configure: Action<SourceSet>) = configure.execute(this.testmod)
fun TaskContainer.remapJar(configure: RemapJarTask.() -> Unit) = named<RemapJarTask>("remapJar").configure(configure)
val TaskContainer.remapSourcesJar: RemapSourcesJarTask get() = named<RemapSourcesJarTask>("remapSourcesJar").get()
val TaskContainer.genClientOnlySources: DefaultTask get() = named<DefaultTask>("genClientOnlySources").get()
val TaskContainer.genCommonSources: DefaultTask get() = named<DefaultTask>("genCommonSources").get()
val TaskContainer.unpickClientOnlyJar: UnpickJarTask get() = named<UnpickJarTask>("unpickClientOnlyJar").get()
val TaskContainer.unpickCommonJar: UnpickJarTask get() = named<UnpickJarTask>("unpickCommonJar").get()