Question

I tried googling left and right, and couldn't find a specification for the p2 repository format that Eclipse is using.

I am interested in reading p2 metadata (content.xml/jar and artifacts.xml/jar) and I'd like to know their grammar, the repository layout (composite vs simple, etc.)

I can, of course, reverse-engineer this by looking at a few existing repositories, but I'd like to know if there is a document that describes this in detail.

Was it helpful?

Solution

The format of these files is not considered API, and as such, there is no specification. These are actually just one such format for p2 repositories, and you can plug-in your own format if you'd like. The only API for the repository format is an implementation of IMetadataRepository and IArtifactRepository.

If you would like to process these files, I suggest loading the repositories (using the IMetadataRepositoryManager and IArtifactRepositoryManager) and using the API these interfaces expose.

OTHER TIPS

Yes, p2 is practically unusable without OSGi. However, if you need an example of small command line application using p2 API I suggest taking a look at p2diff. You may also find the following link interesting: Query Language for p2. If you really are dead set against using Equinox, you might try looking at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryIO.Parser and org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepositoryIO.Parser - it's just XML after all (albeit complicated).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top