package io.gitlab.jfronny.scripts import org.gradle.api.DefaultTask import org.gradle.api.artifacts.ProjectDependency 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.api.tasks.bundling.Jar import org.gradle.kotlin.dsl.named import org.gradle.kotlin.dsl.project fun DependencyHandler.testmodImplementation(dependencyNotation: Any) = add("testmodImplementation", dependencyNotation) fun DependencyHandler.clientImplementation(dependencyNotation: Any) = add("clientImplementation", dependencyNotation) val SourceSetContainer.client get() = named("client") val SourceSetContainer.testmod get() = named("testmod") val TaskContainer.genClientOnlySources get() = named("genClientOnlySources") val TaskContainer.genCommonSources get() = named("genCommonSources") val TaskContainer.sourcesJar get() = named("sourcesJar") fun DependencyHandler.devProject(path: String): ProjectDependency = project(path, "dev") val LomExtension.isFabric: Boolean get() = loaderKind.get() == LoaderKind.FABRIC val LomExtension.isForge: Boolean get() = loaderKind.get() == LoaderKind.FORGE val LomExtension.isNeoForge: Boolean get() = loaderKind.get() == LoaderKind.NEOFORGE val LomExtension.isSplitSources: Boolean get() = isFabric // other loaders don't support split sources