PackageURL 1.0 was releqsed - https://github.com/package-url/purl-spec/releases/tag/v1.0.0 🎉
with this, we can finally rework the whole implementation to adhere the final Spec.
blockers
Unfortunately, the spec is not entire explicit, the actual grammar is not part of the spec, yet
Implementing the implicit rules of the spec is error-prone, relying on non-spec rules like how-to-build.md and how-to-parse.md is kind of a "best-effort" implementation. Therefore:
expected outcome
- have a namespace
PackageUrl\Core - everything defined in the STANDARD and in additionalmaterial
- have a namespace
PackageUrl\Types - for implementations related to specific types
- have a namespace
PackageUrl\Contrib - for everything not defined in the standard
have tests for the core implementation and the implanted type(s) -
shall use the tests provided by https://github.com/package-url/purl-spec/tree/main/tests
have the README tell about the different sub-namespaces and their purposes.
PackageURL 1.0 was releqsed - https://github.com/package-url/purl-spec/releases/tag/v1.0.0 🎉
with this, we can finally rework the whole implementation to adhere the final Spec.
blockers
Unfortunately, the spec is not entire explicit, the actual grammar is not part of the spec, yet
Implementing the implicit rules of the spec is error-prone, relying on non-spec rules like how-to-build.md and how-to-parse.md is kind of a "best-effort" implementation. Therefore:
expected outcome
PackageUrl\Core- everything defined in the STANDARD and in additionalmaterialPackageUrl\Types- for implementations related to specific typescomposer- https://github.com/package-url/purl-spec/blob/main/types-doc/composer-definition.mdPackageUrl\Contrib- for everything not defined in the standardhave tests for the core implementation and the implanted type(s) -
shall use the tests provided by https://github.com/package-url/purl-spec/tree/main/tests
have the README tell about the different sub-namespaces and their purposes.