Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[swift] Naming problem #400

Open
prabhu opened this issue Feb 27, 2025 · 4 comments
Open

[swift] Naming problem #400

prabhu opened this issue Feb 27, 2025 · 4 comments

Comments

@prabhu
Copy link

prabhu commented Feb 27, 2025

As per the spec, repository name must be used as the name.

The name is the repository name.

Take lottie-ios. As per its Package.swift, the package name is Lottie.

The spec is forcing us to use an incorrect name. It's breaking repositories that are monorepos and multi-modules, hosting multiple swift packages :(

@prabhu
Copy link
Author

prabhu commented Feb 27, 2025

@matt-phylum
Copy link
Contributor

How would you find the code if the name wasn't the name of the repository? Monorepos sounds like a job for subpaths.

@prabhu
Copy link
Author

prabhu commented Feb 27, 2025

Purl spec need not worry about linking the purl string to a source repo or distribution url. We have SBOM specifications, like externalReferences in CycloneDX for that purpose.

Use of subpath is not correct, since the purl must be based on name and version and must not worry about where the package source code was present in the VCS. For example, in java pom.xml or build.gradle files could be anywhere in the vcs, but the generated purl doesn't change based on the vcs structure.

@matt-phylum
Copy link
Contributor

If there's no link between the PURL and the source repo or distribution URL, what is the point of the PURL? What package does it represent? There's no way to know whether your "Lottie" and my "Lottie" are the same.

Java does not use VCS URLs. Packages are published to a registry, and the pom.xml or build.gradle files are always at a well known location which can be trivially determined based on the PURL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants