Equinox p2 Repository Mirroring

From Eclipsepedia

Jump to: navigation, search

Introduction

p2 artifact repositories can hold many different forms of the same artifact. For example, a JAR artifact may exist as

  • a canonical (unmolested) JAR
  • a compressed JAR (assuming the original was not compressed)
  • a pack200 JAR
  • a delta relative to another version of the artifact
  • ...

p2 metadata repositories are like artifact profiles that describe dependencies needed to function.

This example demonstrates how to mirror a repository using the repository mirror application available in the equinox p2 tools.

Getting the Mirroring Tools

Get the p2 agent from the provisioning section of: Equinox Stable Build: 3.4RC3.

Running the Mirroring Tools

Run from the command line by running the Admin tool with the args you have below (e.g. eclipse.exe -application org.eclipse.equinox.p2.tools.MirrorApplication -source ...).

The attached example performs the basic mirroring of an artifact and metadata repository into a target repository. The target repository will be an exact mirror of the source repositories. This means any information on the target repository prior to mirroring will be lost, and if there is no target repository to begin with then a new repository will be created.

 -console -consolelog -application org.eclipse.equinox.p2.tools.MirrorApplication
 -source Insert Source URL (e.g. http://download.eclipse.org/eclipse/updates/3.4milestones/)
 -destination Insert Destination URL (e.g. file:/tmp/3.4milestonesMirror/)
 -ius all
 -artifacts all
 -overwrite

For more selective mirroring of exclusively metadata or artifacts see example Selective Mirroring.