Skip to content

artipie/p2-adapter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Join our Telegramm group

EO principles respected here DevOps By Rultor.com We recommend IntelliJ IDEA

Javadoc License codecov Hits-of-Code Maven Central PDD status

This Java library turns binary storage (files, S3 objects, anything) into a P2 repository. This library is a part of Artipie binary artifact management tool and provides a fully-functionable P2 Registry, which Eclipse can perfectly understand.

Source documentation is located here. API overview is available here.

If you have any question or suggestions, do not hesitate to create an issue or contact us in Telegram.
Artipie roadmap.

Warning
Development is still in progress, adapter is not ready to use yet!

P2 Repository structure

P2 repository has the following structure:

(repository root) 
| 
|-+ releases
| |-- p2.index
| |-- compositeContent.xml
| |-- compositeArtifacts.xml
| |-+ 3.14.10.v20210917-1938
| | |-+ features
| | | |-- *.jar
| | |-+ plugins
| | | |-- **
| | |-- p2.index
| | |-- content.xml / content.jar (e.g. zipped content.xml)
| | |-- artifacts.xml / artifacts.jar (e.g. zipped artifacts.xml)
| |-+ ...
|-+ updates
| | ... similar to the folder `releases`
  • p2.index -- description of index file is available here
  • Feature archives -- description of archives which are located in features folder docs These files contain the feature.xml file inside.

Composite Metadata Repository

File compositeContent.xml:

<?xml version='1.0' encoding='UTF-8'?>
<?compositeMetadataRepository version='1.0.0'?>
<repository name='&quot;Eclipse Project Test Site&quot;'
    type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1.0.0'>
  <properties size='1'>
    <property name='p2.timestamp' value='1243822502499'/>
  </properties>
  <children size='2'>
    <child location='3.14.10.v20210917-1938'/>
    <child location='4.11.5.v20210930-1251'/>
  </children>
</repository>

Composite Artifact Repository

File: compositeArtifacts.xml:

<?xml version='1.0' encoding='UTF-8'?>
<?compositeArtifactRepository version='1.0.0'?>
<repository name='&quot;Eclipse Project Test Site&quot;'
    type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1.0.0'>
  <properties size='1'>
    <property name='p2.timestamp' value='1243822502440'/>
  </properties>
  <children size='2'>
    <child location='3.14.10.v20210917-1938'/>
    <child location='4.11.5.v20210930-1251'/>
  </children>
</repository>

Simpe Metadata Repository

File content.xml:

<?xml version='1.0' encoding='UTF-8'?>
<?metadataRepository version='1.2.0'?>
<repository name='' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
  <properties size='1'>
    <property name='p2.timestamp' value='1614818273187'/>
  </properties>
  <units size='19'>
    <unit id='org.junit' version='4.13.0.v20200204-1500' singleton='false' generation='2'>
      ...
    </unit>
    ...
  </units>
</repository>

Simple Artifact Repository

File artifact.xml contains information about .jar files in the subfolders of the current directory. An example of such file:

<?xml version='1.0' encoding='UTF-8'?>
<?artifactRepository version='1.1.0'?>
<repository name='' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
  <properties size='2'>
    <property name='p2.timestamp' value='1614818273187'/>
    <property name='publishPackFilesAsSiblings' value='true'/>
  </properties>
  ...
  <artifacts size='17'>
    <artifact classifier='osgi.bundle' id='org.junit.jupiter.api' version='5.7.1.v20210222-1948'>
      <properties size='5'>
        <property name='download.size' value='204027'/>
        <property name='artifact.size' value='204027'/>
        <property name='download.md5' value='f827b34590464f21f09fc18bedb4b8c6'/>
        <property name='download.checksum.md5' value='f827b34590464f21f09fc18bedb4b8c6'/>
        <property name='download.checksum.sha-256' value='3cb3ad7afb0d0d6f30ee1bcc043675b163d81612edd286a28429e5762413d72b'/>
      </properties>
    </artifact>
    ...
  </artifacts>
</repository>

How to use Artipie P2 SDK

The next dependency is required:

<dependency>
  <groupId>com.artipie</groupId>
  <artifactId>p2-adapter</artifactId>
  <version>[...]</version>
</dependency>

TBD.

How to contribute

Fork repository, make changes, send us a pull request. We will review your changes and apply them to the master branch shortly, provided they don't violate our quality standards. To avoid frustration, before sending us your pull request please run full Maven build:

$ mvn clean install -Pqulice

To avoid build errors use Maven 3.2+ and please read contributing rules.

About

P2 Eclipse repository adapter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published