Class ConfigureUtil

java.lang.Object
org.gradle.util.ConfigureUtil

@Deprecated public class ConfigureUtil extends Object
Deprecated.
Will be removed in Gradle 9.0.
Contains utility methods to configure objects with Groovy Closures.

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).

  • Constructor Details

    • ConfigureUtil

      public ConfigureUtil()
      Deprecated.
  • Method Details

    • configureByMap

      public static <T> T configureByMap(Map<?,?> properties, T delegate)
      Deprecated.
    • configureByMap

      public static <T> T configureByMap(Map<?,?> properties, T delegate, Collection<?> mandatoryKeys)
      Deprecated.
    • configure

      public static <T> T configure(@Nullable Closure configureClosure, T target)
      Deprecated.

      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.

      Parameters:
      configureClosure - The configuration closure
      target - The object to be configured
      Returns:
      The delegate param
    • configureUsing

      public static <T> Action<T> configureUsing(@Nullable Closure configureClosure)
      Deprecated.
      Creates an action that uses the given closure to configure objects of type T.
    • configureSelf

      public static <T> T configureSelf(@Nullable Closure configureClosure, T target)
      Deprecated.
      Called from an object's Configurable.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's Configurable.configure(groovy.lang.Closure) method.