The Publisher is the means by which deployable entities get added to repositories. It consists of an extensible set of publishing actions, applications and Ant tasks that allow users to generate p2 repositories from a number of different sources.
The Publisher consists of a number of headless (no GUI) Eclipse Applications that can be used to generate metadata from a variety of sources. Examples of such applications include:
- FeaturesAndBundles Publisher: Generates metadata from a set of features and bundles
- Product Publisher: Generates metadata from a .product file
- Category Publisher: Generates categories for an existing repository
- UpdateSite Publisher: Generates metadata from an UpdateSite
- Install Publisher: Generates metadata from an existing Eclipse install
Features And Bundles Publisher Application
The Features and Bundles Publisher Application (org.eclipse.equinox.p2.publisher.eclipse.FeaturesAndBundlesPublisherApplication) is a headless application that is capable of generating metadata (p2 repositories) from pre-build Eclipse bundles and features. The application can be invoked as follows:
java -jar <targetProductFolder>/plugins/org.eclipse.equinox.launcher_*.jar -application org.eclipse.equinox.p2.publisher.eclipse.FeaturesAndBundlesPublisherApplication -metadataRepository file:/<some location>/repository -artifactRepository file:/<some location>/repository -source /<location with a plugin and feature directory> -compress -publishArtifacts
In this example, the plugins in /<location with a plugin and feature directory>/plugins and features in <location with a plugin and feature directory>/features would be published in the file:/<some location>/repository repository. The artifacts would also be published, and the repositories (artifacts.xml and content.xml) would be compressed.
The Product Publisher Application (org.eclipse.equinox.p2.publisher.eclipse.ProductPublisherApplication) is a headless application that is capable of generating product configuration metadata. The product publisher does not publish the bundles or features that constitute the product. The application c