@@ -3,35 +3,31 @@ package io.deepmedia.tools.grease
33import com.github.jengelman.gradle.plugins.shadow.relocation.Relocator
44import com.github.jengelman.gradle.plugins.shadow.relocation.SimpleRelocator
55import com.github.jengelman.gradle.plugins.shadow.transformers.Transformer
6+ import org.gradle.api.Action
7+ import org.gradle.api.model.ObjectFactory
8+ import org.gradle.kotlin.dsl.listProperty
9+ import org.gradle.kotlin.dsl.newInstance
10+ import org.gradle.kotlin.dsl.property
11+ import javax.inject.Inject
612
7- abstract class GreaseExtension {
13+ abstract class GreaseExtension @Inject constructor( objects : ObjectFactory ) {
814
9- internal val relocators = mutableListOf<Relocator >()
10- internal val transformers = mutableListOf<Transformer >()
15+ internal val prefix = objects.property<String >().convention(" " )
16+ internal val relocators = objects.listProperty<Relocator >()
17+ internal val transformers = objects.listProperty<Transformer >()
1118
12- internal var isRelocationEnabled = false
13- var relocationPrefix: String = " shadow"
14- set(value) {
15- field = value
16- isRelocationEnabled = true
17- }
19+ fun relocate (prefix : String = "grease") {
20+ this .prefix.set(prefix)
21+ }
1822
19- fun relocate (
20- from : String ,
21- to : String ,
22- configure : (SimpleRelocator .() -> Unit )? = null
23- ) {
23+ fun relocate (from : String , to : String , configure : Action <SimpleRelocator > = Action { }) {
2424 val relocator = SimpleRelocator (from, to, emptyList(), emptyList())
25- configure?.invoke (relocator)
25+ configure.execute (relocator)
2626 relocators.add(relocator)
2727 }
2828
29- fun <T : Transformer > transform (
30- transformer : T ,
31- configure : (T .() -> Unit )? = null
32- ) {
33- configure?.invoke(transformer)
29+ fun <T : Transformer > transform (transformer : T , configure : Action <T > = Action { }) {
30+ configure.execute(transformer)
3431 transformers.add(transformer)
3532 }
36-
3733}
0 commit comments