interface PublicationContainer : ExtensiblePolymorphicDomainObjectContainer<Publication>
A PublicationContainer
is responsible for creating and managing Publication instances. The set of available publication types is dependent on the application of particular plugins:
apply plugin: 'ivy-publish' publishing.publications.create('publication-name', IvyPublication) { // Configure the ivy publication here }
The usual way to add publications is via a configuration block. See the documentation for PublishingExtension#publications(org.gradle.api.Action)
for examples of how to create and configure publications.
Since
1.3
See Also
PublicationPublishingExtension
abstract fun <U : T> registerBinding(type: Class<U>, implementationType: Class<out U>): Unit
Registers a binding from the specified "public" domain object type to the specified implementation type. Whenever the container is asked to create an element with the binding's public type, it will instantiate the binding's implementation type. If the implementation type has a constructor annotated with javax.inject.Inject, its arguments will be injected. In general, registering a binding is preferable over implementing and registering a factory. |
|
abstract fun <U : T> registerFactory(type: Class<U>, factory: NamedDomainObjectFactory<out U>): Unit abstract fun <U : T> registerFactory(type: Class<U>, factory: Closure<out U>): Unit
Registers a factory for creating elements of the specified type. Typically, the specified type is an interface type. |