# apply

abstract fun apply(@DelegatesTo(value = ObjectConfigurationAction::class) closure: Closure)(source)

Applies zero or more plugins or scripts.

The given closure is used to configure an ObjectConfigurationAction, which "builds" the plugin application.

This method differs from apply in that it allows methods of the configuration action to be invoked more than once.

#### Since

1.6

#### Parameters

closure

the closure to configure an ObjectConfigurationAction with before "executing" it

#### See also

apply(java.util.Map)

abstract fun apply(action: Action<in ObjectConfigurationAction>)(source)

Applies zero or more plugins or scripts.

The given closure is used to configure an ObjectConfigurationAction, which "builds" the plugin application.

This method differs from apply in that it allows methods of the configuration action to be invoked more than once.

#### Since

2.3

#### Parameters

action

the action to configure an ObjectConfigurationAction with before "executing" it

#### See also

apply(java.util.Map)

abstract fun apply(options: Map<String, out Any>)(source)

Applies a plugin or script, using the given options provided as a map. Does nothing if the plugin has already been applied.

The given map is applied as a series of method calls to a newly created ObjectConfigurationAction. That is, each key in the map is expected to be the name of a method ObjectConfigurationAction and the value to be compatible arguments to that method.

The following options are available:

- `from`: A script to apply. Accepts any path supported by uri.
- `plugin`: The id or implementation class of the plugin to apply.
- `to`: The target delegate object or objects. The default is this plugin aware object. Use this to configure objects other than this object.

#### Since

1.6

#### Parameters

options

the options to use to configure and ObjectConfigurationAction before "executing" it