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

JVM: Create separate classes for pre-resolve and post-resolve Coordinate use cases #13840

Closed
chrisjrn opened this issue Dec 8, 2021 · 0 comments · Fixed by #13843
Closed
Projects

Comments

@chrisjrn
Copy link
Contributor

chrisjrn commented Dec 8, 2021

Coordinates in CoursierLockfileEntry are used solely as pointers to other coordinates. Since then, we've added url and (soon) jar, which is used entirely for inputs into Resolves.

These should be split into pre-resolve and post-resolve cases, so that it's easier to test for equality etc in the post-resolve case.

@chrisjrn chrisjrn added this to Triage in JVM Support via automation Dec 8, 2021
JVM Support automation moved this from Triage to Done Dec 10, 2021
chrisjrn pushed a commit that referenced this issue Dec 10, 2021
This adds (working) support for local JAR and URL coordinates at resolve and at fetch time. Summary of changes:

* Creates new `ArtifactRequirement` concept, which is used to build up download instructions for Coursier. It stores coordinates, (remote) URLs, and JAR source fields
* Adds a new concept called `CoursierResolveInfo`. This contains a list of coordinate (+url) strings and a Digest containing local JAR files
* Adds URL and JAR address fields to `CoursierResolvedLockfile` and the relevant serialized format. This is used to ensure that the correct JARs are used at fetch time
* Updates `coursier_fetch_one_coord` to use `CoursierResolveInfo` internally


Closes #13840
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

1 participant