org.apache.ivy.core.publish

## Class PublishEngine

- java.lang.Object
- - org.apache.ivy.core.publish.PublishEngine

    public class PublishEngine
    extends java.lang.Object

### Constructor Summary

Constructors
Constructor and Description
`PublishEngine(PublishEngineSettings settings, EventManager eventManager)`

### Method Summary

Methods
`java.util.Collection` `publish(ModuleDescriptor md, java.util.Collection srcArtifactPattern, DependencyResolver resolver, PublishOptions options)`
`java.util.Collection` `publish(ModuleRevisionId mrid, java.util.Collection srcArtifactPattern, java.lang.String resolverName, PublishOptions options)` Publishes a module to the repository.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PublishEngine

    public PublishEngine(PublishEngineSettings settings,
                 EventManager eventManager)

### Method Detail

#### publish

    public java.util.Collection publish(ModuleRevisionId mrid,
                               java.util.Collection srcArtifactPattern,
                               java.lang.String resolverName,
                               PublishOptions options)
                                 throws java.io.IOException

Publishes a module to the repository. The publish can update the ivy file to publish if update is set to true. In this case it will use the given pubrevision, pubdate and status. If pubdate is null it will default to the current date. If status is null it will default to the current ivy file status (which itself defaults to integration if none is found). If update is false, then if the revision is not the same in the ivy file than the one expected (given as parameter), this method will fail with an IllegalArgumentException. pubdate and status are not used if update is false. extra artifacts can be used to publish more artifacts than actually declared in the ivy file. This can be useful to publish additional metadata or reports. The extra artifacts array can be null (= no extra artifacts), and if non null only the name, type, ext url and extra attributes of the artifacts are really used. Other methods can return null safely.

Throws:
  `java.io.IOException`

#### publish

    public java.util.Collection publish(ModuleDescriptor md,
                               java.util.Collection srcArtifactPattern,
                               DependencyResolver resolver,
                               PublishOptions options)
                                 throws java.io.IOException

Throws:
  `java.io.IOException`