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
    Modifier and Type | Method and Description
    --- | ---
    `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`