use managed objects, allow caching, require less config
This commit is contained in:
@@ -11,17 +11,18 @@ import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
|
||||
class InjectPlugin: Plugin<Project> {
|
||||
override fun apply(project: Project) {
|
||||
val extension = project.extensions.create("injector", Injextention::class.java, project)
|
||||
override fun apply(project: Project) { with(project) {
|
||||
val task = tasks.create("inject", Inject::class.java)
|
||||
task.output.convention { file("$buildDir/libs/$name-$version.jar") }
|
||||
|
||||
project.tasks.create("inject", Inject::class.java) {
|
||||
it.vanilla.set(extension.vanilla)
|
||||
it.rsclient.set(extension.rsclient)
|
||||
it.mixins.set(extension.mixins)
|
||||
it.rsapi.set(extension.rsapi)
|
||||
if (extension.output.isPresent) {
|
||||
it.output.set(extension.output)
|
||||
}
|
||||
artifacts {
|
||||
it.add("runtimeElements", task.output)
|
||||
}
|
||||
}
|
||||
|
||||
tasks.getByName("assemble") {
|
||||
it.finalizedBy("inject")
|
||||
}
|
||||
|
||||
extensions.add(InjectExtension::class.java, "injector", task.extension)
|
||||
}}
|
||||
}
|
||||
Reference in New Issue
Block a user