Package org.gradle.api.publish

# Interface PublicationContainer

All Superinterfaces:
  `Collection<Publication>`, `Configurable<NamedDomainObjectContainer<Publication>>`, `DomainObjectCollection<Publication>`, `DomainObjectSet<Publication>`, `ExtensiblePolymorphicDomainObjectContainer<Publication>`, `Iterable<Publication>`, `NamedDomainObjectCollection<Publication>`, `NamedDomainObjectContainer<Publication>`, `org.gradle.api.internal.rules.NamedDomainObjectFactoryRegistry<Publication>`, `NamedDomainObjectSet<Publication>`, `PolymorphicDomainObjectContainer<Publication>`, `Set<Publication>`

public interface PublicationContainer extends 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:

- The `MavenPublishPlugin` makes it possible to create `MavenPublication` instances.
- The `IvyPublishPlugin` makes it possible to create `IvyPublication` instances.

     plugins {
         id '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:
  - `Publication`
  - `PublishingExtension`

- ## Method Summary

  ### Methods inherited from interface java.util.Collection

  `parallelStream, removeIf, stream, toArray`

  ### Methods inherited from interface org.gradle.api.DomainObjectCollection

  `addAllLater, addLater, all, all, areChangesAllowed, configureEach, disallowChanges, whenObjectAdded, whenObjectAdded, whenObjectRemoved, whenObjectRemoved, withType, withType`

  ### Methods inherited from interface org.gradle.api.ExtensiblePolymorphicDomainObjectContainer

  `registerBinding, registerFactory, registerFactory`

  ### Methods inherited from interface java.lang.Iterable

  `forEach`

  ### Methods inherited from interface org.gradle.api.NamedDomainObjectCollection

  `add, addAll, addRule, addRule, addRule, findByName, getAsMap, getAt, getByName, getByName, getByName, getCollectionSchema, getNamer, getNames, getRules, named, named, named, named`

  ### Methods inherited from interface org.gradle.api.NamedDomainObjectContainer

  `configure, create, create, create, maybeCreate, register, register`

  ### Methods inherited from interface org.gradle.api.NamedDomainObjectSet

  `findAll, matching, matching, named, withType`

  ### Methods inherited from interface org.gradle.api.PolymorphicDomainObjectContainer

  `containerWithType, create, create, maybeCreate, register, register`

  ### Methods inherited from interface java.util.Set

  `add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, spliterator, toArray, toArray`