Class ConfigureUtil
Plugins should avoid using this class and methods that use Closure as this makes the plugin harder to use in other languages. Instead, plugins should create methods that use Action.
Here's an example pseudocode:
interface MyOptions {
RegularFileProperty getOptionsFile()
}
abstract class MyExtension {
private final MyOptions options
@Inject abstract ObjectFactory getObjectFactory()
public MyExtension() {
this.options = getObjectFactory().newInstance(MyOptions)
}
public void options(Action<? extends MyOptions> action) {
action.execute(options)
}
}
extensions.create("myExtension", MyExtension)
myExtension {
options {
optionsFile = layout.projectDirectory.file("options.properties")
}
}
Gradle automatically generates a Closure-taking method at runtime for each method with an Action as a single argument as long as the object is created with ObjectFactory.newInstance(Class, Object...).
As a last resort, to apply some configuration represented by a Groovy Closure, a plugin can use Project.configure(Object, Closure).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classDeprecated.static classDeprecated. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> TDeprecated.static <T> TconfigureByMap(Map<?, ?> properties, T delegate) Deprecated.static <T> TconfigureByMap(Map<?, ?> properties, T delegate, Collection<?> mandatoryKeys) Deprecated.static <T> TconfigureSelf(Closure configureClosure, T target) Deprecated.Called from an object'sConfigurable.configure(groovy.lang.Closure)method.static <T> TconfigureSelf(Closure configureClosure, T target, org.gradle.internal.metaobject.ConfigureDelegate closureDelegate) Deprecated.Called from an object'sConfigurable.configure(groovy.lang.Closure)method.static <T> Action<T> configureUsing(Closure configureClosure) Deprecated.Creates an action that uses the given closure to configure objects of type T.
-
Constructor Details
-
ConfigureUtil
public ConfigureUtil()Deprecated.
-
-
Method Details
-
configureByMap
Deprecated. -
configureByMap
Deprecated. -
configure
Deprecated.Configures
targetwithconfigureClosure, via theConfigurableinterface if necessary.If
targetdoes not implementConfigurableinterface, it is set as the delegate of a clone ofconfigureClosurewith a resolve strategy ofDELEGATE_FIRST.If
targetdoes implement theConfigurableinterface, theconfigureClosurewill be passed todelegate'sConfigurable.configure(Closure)method.- Parameters:
configureClosure- The configuration closuretarget- The object to be configured- Returns:
- The delegate param
-
configureUsing
Deprecated.Creates an action that uses the given closure to configure objects of type T. -
configureSelf
Deprecated.Called from an object'sConfigurable.configure(groovy.lang.Closure)method. -
configureSelf
public static <T> T configureSelf(@Nullable Closure configureClosure, T target, org.gradle.internal.metaobject.ConfigureDelegate closureDelegate) Deprecated.Called from an object'sConfigurable.configure(groovy.lang.Closure)method.
-