Equinox p2 Metadata Generator

From Eclipsepedia

Jump to: navigation, search

The p2 metadata generator is a utility tool that generates metadata and artifact repositories from a given input. The generator is available both as an Eclipse application, and as an Ant task.

Contents

Generator Application

The generator application is contained in bundle org.eclipse.equinox.p2.metadata.generator. This bundle is part of the Eclipse SDK, and is also available in the p2 Admin UI. The generator can be invoked using the generic Eclipse launcher as follows:

eclipse -application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator <generatorArgs>

The generator application has three primary modes of operation:

  1. Generating metadata for a folder containing bundles and features (-source argument)
  2. Generating metadata for a traditional Eclipse update site (-updateSite argument)
  3. Generating metadata for an existing Eclipse application that does not contain p2 metadata (-config argument)


Generating metadata from an update manager site

The following example shows how to generate metadata from an pre-existing update site locaed in "d:\ganymedeM5".

   -application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator
   -updateSite d:/ganymedeM5/
   -site file:d:/ganymedeM5/site.xml
   -metadataRepository file:d:/ganymedeM5/
   -metadataRepositoryName "Ganymede Update Site"
   -artifactRepository file:d:/ganymedeM5/
   -artifactRepositoryName "Ganymede Artifacts"
   -compress
   -reusePack200Files
   -noDefaultIUs

Arguments describing the input

-source <path> 
the path to a folder containing plugins and folders to contain p2 metadata for
-updateSite <path> 
the path of a traditional update site to generator p2 metadata for
-config <path> 
the path of an Eclipse application that is not p2-enabled
-exe <path> 
the location of the application launcher executable
-launcherConfig <path> 
the path of the launcher configuration file (eclipse.ini)
-features <path> 
the location of features to generate metadata for
-bundles <path> 
the location of bundles to generate metadata for
-base <path> 
a base location containing a plugins/ and features/ directory
-p2.os 
the operating system of the application metadata is being generated for
-site <path> 
the URL of a site.xml file used to generator categories

Arguments describing the output

-metadataRepository 
the URL to a writable metadata repository that will contain the produced installable units
-metadataRepositoryName 
a user friendly name for the metadata repository
-artifactRepository 
the URL to a writable artifact repository that will contain the produced artifacts
-artifactRepositoryName 
a user friendly name for the artifact repository
-publishArtifacts 
flag indicating whether the artifacts should be published to the repository. When this flag is not set, the actual bytes underlying the artifact will not be copied, but the repository index will be created. When this option is not specified, it is recommended to set the artifactRepository to be in the same location as the source (-source)
-publishArtifactRepository
-append 
flag indicating that repositories will be appended to
-root 
The name of the installable unit referring to all the IUs that have been added to the repository during the run
-rootVersion 
The version of the root installable unit
-flavor 
the flavor associated with the configuration units generated. (This will be removed for 1.0)
-inplace 
causes the metadata and artifact repositories to be written into the source location
-noDefaultIUs 
flag to indicate the default configuration units should not be created
-compress 
cause the repositories to store their index in compressed form
-reusePack200Files 
publish the existing pack200 files in the repository. This works when the artifact repository is generated in the source.

Generator Ant Task

The generator Ant task is called "p2.generator". This task is also available in the org.eclipse.equinox.p2.metadata.generator bundle.