This repository has been archived by the owner on Dec 19, 2020. It is now read-only.
Upgrade coursier to 2.0.0-RC4-1 and use binary by default #174
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fetch-scala now has --jar option to force download of jar
Binary distributions are available for 64-bit Linux and 64-bit MacOS
This PR also introduces sha256 checking for the coursier download as an added safety mechanism.
We use coursier in
wit
for Scala dependency fetching as well as inapi-scala-sifive
's wake rules for dependency resolution. We have to invoke coursier for every unique set of dependencies (ie. every Scala project in the workspace) whenever fetching dependencies viawit fetch-scala
or whenwake
is determining the classpath for compilation or execution.The startup time ends up mattering a lot. Compared to
0.11.0
,wit fetch-scala
is a little bit faster for clean fetching, and much faster for invocations when there is no downloading to do (like runningwit fetch-scala
just to check everything is downloaded, orwake
getting compilation classpaths):For a large design, fresh installs are 17% faster with this PR, but when there isn't anything to do, it is 75% faster (and almost all of the remaining time is due to the Scala compiler bridge fetcher, a separate problem).
0.11.0
Fresh Install: ~35s
Nothing to do: ~20s
This PR
Fresh Install: ~29s
Nothing to do: ~5s