@Deprecated
public class ConfigureUtil
extends java.lang.Object
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)
.
Modifier and Type | Class | Description |
---|---|---|
static class |
ConfigureUtil.IncompleteInputException |
Deprecated.
|
static class |
ConfigureUtil.WrappedConfigureAction<T> |
Deprecated.
|
Constructor | Description |
---|---|
ConfigureUtil() |
Deprecated.
|
Modifier and Type | Method | Description |
---|---|---|
static <T> T |
configure(Closure configureClosure,
T target) |
Deprecated.
|
static <T> T |
configureByMap(java.util.Map<?,?> properties,
T delegate) |
Deprecated.
|
static <T> T |
configureByMap(java.util.Map<?,?> properties,
T delegate,
java.util.Collection<?> mandatoryKeys) |
Deprecated.
|
static <T> T |
configureSelf(Closure configureClosure,
T target) |
Deprecated.
Called from an object's
Configurable.configure(groovy.lang.Closure) method. |
static <T> T |
configureSelf(Closure configureClosure,
T target,
org.gradle.internal.metaobject.ConfigureDelegate closureDelegate) |
Deprecated.
Called from an object's
Configurable.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.
|
public static <T> T configureByMap(java.util.Map<?,?> properties, T delegate)
public static <T> T configureByMap(java.util.Map<?,?> properties, T delegate, java.util.Collection<?> mandatoryKeys)
public static <T> T configure(@Nullable Closure configureClosure, T target)
Configures target
with configureClosure
, via the Configurable
interface if necessary.
If target
does not implement Configurable
interface, it is set as the delegate of a clone of
configureClosure
with a resolve strategy of DELEGATE_FIRST
.
If target
does implement the Configurable
interface, the configureClosure
will be passed to
delegate
's Configurable.configure(Closure)
method.
configureClosure
- The configuration closuretarget
- The object to be configuredpublic static <T> Action<T> configureUsing(@Nullable Closure configureClosure)
public static <T> T configureSelf(@Nullable Closure configureClosure, T target)
Configurable.configure(groovy.lang.Closure)
method.public static <T> T configureSelf(@Nullable Closure configureClosure, T target, org.gradle.internal.metaobject.ConfigureDelegate closureDelegate)
Configurable.configure(groovy.lang.Closure)
method.