All Downloads are FREE. Search and download functionalities are using the official Maven repository.

main.name.remal.gradle_plugins.dsl.extensions.org.gradle.api.tasks.compile.GroovyCompileOptions.kt Maven / Gradle / Ivy

The newest version!
package name.remal.gradle_plugins.dsl.extensions

import name.remal.findCompatibleMethod
import name.remal.gradle_plugins.dsl.utils.getGradleGroovyVersion
import name.remal.uncheckedCast
import name.remal.version.Version
import org.gradle.api.tasks.compile.GroovyCompileOptions
import java.lang.reflect.Method

private val parametersMinGroovyVersion = Version.create(2, 5)
private val parametersGetter: Method? by lazy {
    GroovyCompileOptions::class.java.findCompatibleMethod(Boolean::class.java, "isParameters")
}
private val parametersSetter: Method? by lazy {
    GroovyCompileOptions::class.java.findCompatibleMethod("setParameters", Boolean::class.java)
}

var GroovyCompileOptions.parameters: Boolean?
    get() {
        if (getGradleGroovyVersion() >= parametersMinGroovyVersion) {
            parametersGetter?.let {
                return it.invokeForInstance(this)
            }
        }
        return null
    }
    set(value) {
        if (getGradleGroovyVersion() >= parametersMinGroovyVersion) {
            parametersSetter?.invokeForInstance(this, value)
        }
    }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy