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

How do we represent a Maven classifier in ClearlyDefined coordinates? #786

Open
waynebeaton opened this issue Dec 30, 2020 · 2 comments
Open
Labels

Comments

@waynebeaton
Copy link

Maven GAVs have an optional part that allows the specification of a classifier.

e.g.,

Executing on a build that uses OpenJFX:

mvn dependency:list

on Linux:

org.openjfx:javafx-base:jar:14:compile
org.openjfx:javafx-base:jar:linux:14:compile

on Windows:

org.openjfx:javafx-base:jar:14:compile
org.openjfx:javafx-base:jar:win:14:compile

In all cases the groupid, artifactid, and version are "org.openjfx", "javafx-base", and "14". Taking these dependencies from Maven Central, the ClearlyDefined Id is the same in all cases:

maven/mavencentral/org.openjfx/javafx-base/14

It strikes me that the classifier should be part of the name in a ClearlyDefined ID, but I can't find any reference to a convention that would make this consistent.

How should this be handled?

@jeffmcaffer
Copy link
Member

Hmm, interesting. Thanks for pointing that out. You have any thoughts as to what we should do here?

Will take a bit of design work to see what would work best as that was not in the original use cases. I'm a bit loath to add another segment to coordinates (both because that would be a pervasive change and we only have one example scenario).

It could potentially be included in the name segment of a coordinate and then handled appropriately but the maven-oriented providers.

@waynebeaton
Copy link
Author

I tend to agree with not adding another segment. There's some elegance in the consistency of having all ids be in five parts.

My thinking is that, at least from a ClearlyDefined perspective, this is just a qualification of the name. I am thinking, however, that there must be use cases where we need to preserve the ability to move back to a Maven GAV.

Are there any special characters that we can employ to separate the name from the classifier without breaking everything else? e.g., "maven/mavencentral/org.openjfx/javafx-base@win/14"

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

No branches or pull requests

3 participants