Up to coursier 1.0.0-RC12, setting COURSIER_CACHE=foo makes files land
in e.g. foo/https/repo1.maven.org/….
https://github.com/coursier/coursier/pull/676 changed that to foo/v1/https/….
This commit reverts things back to what they were before that.
In the long term, it would be better to keep the v1 component there, but
I'd prefer not to change that behavior right now.
Ideally, the scripted tests should still be run with sbt 1.0.1 too, to
ensure there are no regression with it, but the current setup doesn't
make that easy.
This cleans up the home directories of users and helps making sure that
Coursier's cache is not accidentically backed up by applications or OS
functionality.
The precedence is as follows:
- existing $COURSIER_CACHE environment variable
- existing coursier.cache Java property
- existing operating system specific standards:
- Linux: $XDG_CACHE_HOME/coursier, with fallback to ~/.cache/coursier
- Windows: {SpecialFolder.LocalApplicationData}/cache/Coursier
- macOS: $HOME/Library/Caches/Coursier
- existing ~/.coursier/
- fallback to operating system specific standard directory else.
See discussion in https://github.com/coursier/coursier/pull/676#issuecomment-338974822
Seems to fix java.lang.IncompatibleClassChangeError errors when using
shaded code. Release of coursier using the next one for shading should
be fine with Java 9 thanks to that.
In 0.13.x, zinc would discover only top-level objects and classes
containing tests to the test framework. In 1.x, however, zinc can
discover also nested objects and classes; that causes the "name"
of a ClassLike to no longer be usable for reflection.
This change filters out nested objects/classes from the list,
restoring compatibility with 0.13. A zinc extension of ClassLike
will probably be introduced in 1.1 or 1.2, in order to provide
the test framework with enough information to deal with nested
classes.
This patch unblocks https://github.com/sbt/sbt-standalone-build/issues/15
This adds a new option `dev` to the `reboot` command, which deletes the only the current sbt artifacts from the boot directory. `reboot dev` reads actively from `build.properties` instead of using the current state since `reboot` can restart into another sbt version.
In general, `reboot dev` is intended for the local development of sbt.
Fixes#3590
I merged these changes without actually applying them to keep authorship
information about the changes that were proposed by Masse Guillaume of
Scala Center.
On the other side of the merge I added lots of small changes which were
either inspired or just plainly copied from the ones merged in here.
In the diff you can see which changes were not taken over.