diff --git a/PURL-TYPES.rst b/PURL-TYPES.rst index 1ace3bd..35954ce 100644 --- a/PURL-TYPES.rst +++ b/PURL-TYPES.rst @@ -397,6 +397,58 @@ nuget pkg:nuget/EnterpriseLibrary.Common@6.0.1304 +p2 +---- +``p2`` for Eclipse p2 artifact: + +- A p2 artifact represents a piece of software that can be consumed using the + Eclipse Provisioning Platform. An artifact can represent various types of + components, such as Eclipse features, plug-ins or other bundles. + +- A p2 artifact is uniquely described by its id, version and classifier. A + namespace is therefore not necessary. + +- The name of the package url corresponds to the unique identifier of a given p2 + artifact. This id uniquely identifies an artifact within the Eclipse + Provisioning Platform. + Examples:: + + org.eclipse.core.resources.win32.x86_64 + org.eclipse.rcp.sdk.id.executable.win32.win32.x86_64 + org.eclipse.sdk + +- The version of the package url corresponds to the version of the p2 unit. The + version is required to distinguish between different releases of the same + artifact. + Examples:: + + 3.5.500.v20220812-1420 + 2.0.0.202304281106 + +- The `location` qualifier is an percent-encoded URI describing the physical + location of an artifact. This can for example be a repository accessed via + HTTPS, its Maven coordinates or an absolute file path to a local build result. + This qualifier is mandatory, because there is no central authority for hosting + p2 artifacts. + Examples:: + + https://download.eclipse.org/releases/2023-09 + mvn:org.eclipse.platform:org.eclipse.core.runtime:3.29.0:jar + +- The `classifier` qualifier describes the type of artifact. This qualifier is + optional, with no default value. + Examples:: + + binary + org.eclipse.update.feature + osgi.bundle + +- Combined, those components then uniquely identify a p2 artifact. In short, the + format should be of the form p2/@?classifier=...&location=... + Examples:: + + pkg:p2/org.eclipse.core.runtime@3.29.0.v20230726-0617?classifier=osgi.bundle&location=https%3A%2F%2Fdownload.eclipse.org%2Freleases%2F2023-09 + qpkg ---- ``qpkg`` for QNX packages: @@ -558,7 +610,6 @@ Other candidate types to define: - ``opam`` for OCaml packages: - ``openwrt`` for OpenWRT packages: - ``osgi`` for OSGi bundle packages: -- ``p2`` for Eclipse p2 packages: - ``pear`` for Pear PHP packages: - ``pecl`` for PECL PHP packages: - ``perl6`` for Perl 6 module packages: