package io.gitlab.jfronny.jfmod.ext import com.matthewprenger.cursegradle.CurseExtension import com.matthewprenger.cursegradle.CurseProject import com.matthewprenger.cursegradle.CurseRelation import com.matthewprenger.cursegradle.Options import org.gradle.api.Action import org.gradle.api.DefaultTask import org.gradle.api.Project import org.gradle.api.tasks.TaskContainer import org.gradle.api.tasks.TaskProvider import org.gradle.kotlin.dsl.closureOf import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.named val TaskContainer.curseforge: TaskProvider get() = named("curseforge") fun Project.curseforge(configure: Action) = extensions.configure { configure.execute(this) } fun CurseExtension.options(configure: Action) = options(closureOf { configure.execute(this) }) fun CurseExtension.project(configure: Action) = project(closureOf { configure.execute(this) }) fun CurseProject.relations(configure: Action) = relations(closureOf { configure.execute(this) })