create

abstract fun <T> create(publicType: Class<T>, name: String, instanceType: Class<out T>, constructionArguments: Array<Any>): T(source)
abstract fun <T> create(publicType: TypeOf<T>, name: String, instanceType: Class<out T>, constructionArguments: Array<Any>): T(source)

Creates and adds a new extension to this container. A new instance of the given instanceType will be created using the given constructionArguments. The extension will be exposed as publicType. The new instance will have been dynamically made ExtensionAware, which means that you can cast it to ExtensionAware.

Return

The created instance

Since

3.5

Parameters

<T>

the extension public type

publicType

The extension public type

name

The name for the extension

instanceType

The extension instance type

constructionArguments

The arguments to be used to construct the extension instance

See also

Throws

When an extension with the given name already exists.


abstract fun <T> create(name: String, type: Class<T>, constructionArguments: Array<Any>): T(source)

Creates and adds a new extension to this container. A new instance of the given type will be created using the given constructionArguments. The extension will be exposed as type unless the extension itself declares a preferred public type via the org.gradle.api.reflect.HasPublicType protocol. The new instance will have been dynamically made ExtensionAware, which means that you can cast it to ExtensionAware.

Return

The created instance

Parameters

name

The name for the extension

type

The type of the extension

constructionArguments

The arguments to be used to construct the extension instance

See also

Throws

When an extension with the given name already exists.