-
-
Notifications
You must be signed in to change notification settings - Fork 259
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
rules_jvm_external 6.6 broken for maven installs #1290
Comments
In the function, if there are three parts to the coordinates, we treat the third part as a version number unless there's an Presumably to recreate the issue it's enough to have one of these dependencies in the |
The function mentions that version numbers are optional. This is the case where someone has specified a BOM, and then wants to specify the extension to use for an entry in the |
Without a SemVer 1.0.0 compliant version number, Maven can't do version ordering, which suggests that people should be using that, but I don't think it's the place for |
Don't see mentions of |
Version numbers are optional in artifacts listed in BOMs, even with Maven. You'd end up with something like: <dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>foo</artifactId</artifactId>
</dependency>
</dependencies> |
Do I understand correctly: We are trying to support BOM's and given that a BOM specifies the library versions for those that inherit it, it should not be necessary to specify the version in the maven.install() coordinates, correct? i.e. Do I understand that the issue we're running into is: User has provided I would argue the rareness of 2-arity + package means that if you see '3' co-ordinates it should be assumed to be g:a:v, and if somebody wants to specify a package while omitting the version, then they just cannot expect to reassign meaning to the Instead from a design point of view you would expect to either:
The key with these examples is that it ensure that each index of each element always retaining the same meaning regardless of context or value. my two cents... |
Correct
Essentially, this is what I'm saying. Using |
Apologies. The format for the existing style is |
There seems to be a mix of string formats
Maven doesn't seem to prescribe anything except for It would be nice to map out where string versions are expected to be used and then go from there, ideally only keeping strings on the surface. Currently is seems some of the extra attributes have inconsistent levels support (different naming, being or not being included in generated pom, support for specifying at all, etc) |
I'm also seeing a regression here in 6.6 vs 6.5: maven.install( In all the cases, the version numbers have alphanumeric characters in them. For now, we are sticking with 6.5 |
Just wondering is the plan to roll forward with the
Isn't this an 'export' format to match 'gradle' or some such? So it's not part of the possible inputs, only an output? Correct me if I misunderstood this case. |
that one might well be only used for export, I was trying to find all possible formats mentioned in the repo |
Any progress on this issue? What would be a suggestion on user side to work around this? Switching to |
Sorry. I've been sick or busy with work since the start of the year. I'll try and make some time for this today or tomorrow. |
I've prepped #1311 to try and address this issue. |
Just upgraded to 6.6 of rules_jvm_external.
We have the following legitimate dependency in a maven.install() clause:
which now produces the following errors on jvm_rules_external 6.6 when running the
REPIN=1 bazel run @maven//:pin
commandGiven the version of the dependencies has been truncated in the debug output, I wonder if there is a bug parsing the unusual format that google provides for its calendar and sheets library?
The text was updated successfully, but these errors were encountered: