Package org.gradle.api.publish

## Interface PublicationContainer

- All Superinterfaces:
    `Collection<Publication>`, `Configurable<NamedDomainObjectContainer<Publication>>`, `DomainObjectCollection<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, configureEach, 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, 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`