Commit Graph

10242 Commits

Author SHA1 Message Date
Eugene Yokota d21d698e96 sbt 1.3.6 2019-12-27 01:51:25 -05:00
eugene yokota 9400225fe9
Merge pull request #5338 from eed3si9n/wip/aggregate
add aggregate projects for lower utils and upper modules
2019-12-27 01:45:28 -05:00
Eugene Yokota 80aeb7eed9 add aggregate project for lower utils and upper modules 2019-12-27 00:24:03 -05:00
Dale Wijnand f5e73b610a Keep "using" change in sbt.version mismatch messaging. 2019-12-26 08:28:06 +00:00
eugene yokota cba3843965
Merge pull request #5329 from eatkins/cross-serial
Run cross commands (with `+`) in parallel when possible
2019-12-24 12:56:25 -05:00
Arnout Engelen 1d0a415200 SOURCE_DATE_EPOCH is in seconds, let's pass milliseconds 2019-12-24 10:11:09 +01:00
Arnout Engelen 4353098454 Target develop branch of io, support SOURCE_DATE_EPOCH 2019-12-24 10:11:09 +01:00
Arnout Engelen ceb28a0a41 Target 1.4.0 2019-12-24 10:11:09 +01:00
Arnout Engelen 52b72a7e14 Target 1.4.0 2019-12-24 10:11:09 +01:00
Arnout Engelen 21533863da Don't emit timestamps when packaging to jar
This makes the build more deterministic.
2019-12-24 10:11:09 +01:00
Ethan Atkins d445590d9d Fix cross multi command performance
In 53788ba356, I changed the cross multi
parser to issue all of the commands sequentially. This caused a
performance regression for many use cases:
https://github.com/sbt/sbt/issues/5321. This commit restores the old
behavior of `+` if the command to run has no arguments.
2019-12-23 14:45:57 -08:00
Ethan Atkins 4207362835 Upgrade scala 2.13 version in scripted tests 2019-12-23 14:45:57 -08:00
Dale Wijnand 56aa46308b Revert "clarify message on sbt.version mismatch"
This reverts commit 2f4b6f476a.
2019-12-23 22:25:37 +00:00
eugene yokota 6f453b2a23
Merge pull request #5327 from eatkins/revert-scalatest-layer
Revert scalatest layer
2019-12-23 17:13:22 -05:00
Eugene Yokota 6e83ba5603 Reproduce #5308
#5308
2019-12-23 13:33:32 -08:00
Eugene Yokota 556098ec31 Don't close test ClassLoader by default
Fixes https://github.com/sbt/sbt/issues/5262
2019-12-23 13:33:32 -08:00
Ethan Atkins 424fe958e1 Revert "Place scalatest framework jar in its own classloader"
This partially reverts commit 8518c4b4fd.

I left in the useful changes to ReverseLookupClassLoader.
2019-12-23 13:33:04 -08:00
eugene yokota ae01f25bab
Merge pull request #5317 from eed3si9n/wip/cross
workaround client / clean problem
2019-12-20 15:33:59 -05:00
eugene yokota 60979336d5
Merge pull request #5322 from renatocaval/develop
Clarify message on sbt.version mismatch
2019-12-20 15:32:07 -05:00
Renato Cavalcanti 2f4b6f476a
clarify message on sbt.version mismatch 2019-12-19 08:21:28 +01:00
eugene yokota e4131814e7
Merge pull request #5318 from eed3si9n/wip/doc-scalainstance
Remove actions/doc-scala-instance
2019-12-17 13:55:29 -05:00
eugene yokota 215b16cde1
Merge pull request #5315 from olafurpg/forkmain-classloader
Add library-friendly entrypoint for sbt.ForkMain
2019-12-17 13:20:44 -05:00
Eugene Yokota 68284b38e4 Remove actions/doc-scala-instance
Fixes https://github.com/sbt/sbt/issues/5316

The latest doesn't look like it's testing anything.
2019-12-17 13:16:02 -05:00
Eugene Yokota faa1540009 workaround client / clean problem
Ref https://github.com/sbt/sbt/issues/5314
Ref https://github.com/sbt/sbt/pull/5265

In sbt 1.3.4, it's possible to define a subproject named `client`.
The current parser behaves differently whether we calll `client/clean` or `client / clean` with whitespaces. The one with the whitespace invokes `client` command (as in thin client). This gets triggered by `+clean` because the new implementation uses whitespace.
2019-12-17 12:52:18 -05:00
Olafur Pall Geirsson fd658f38d3 Add library-friendly entrypoint for sbt.ForkMain
Previously, it was not possible to use `sbt.ForkMain` as a library since
* it called `System.exit`, shutting down the library client JVM process.
* it assumed that it was always running in the same classloader as where
  the test suites it was running causing "class not found: my.test.Suite"
  if the `ForkMain` class lives in a classloader above the test suite
  classes.
This commit adds a new `main(Array[String],ClassLoader])` entrypoint
that allows clients to call `ForkMain` as a library.
2019-12-17 10:51:10 +00:00
eugene yokota 19c3b44b59
Merge pull request #5303 from eed3si9n/wip/cache_removal
Fixes update task not invalidating
2019-12-13 05:57:48 -05:00
eugene yokota cfbdd8d82c
Merge pull request #5302 from eatkins/util-contraband
Add utilLogging contraband directory to managedSourceDirectories
2019-12-12 22:51:41 -05:00
eugene yokota b8f1edb6cc
Merge pull request #5301 from eatkins/classloader-close
Add closeClassLoader setting
2019-12-12 22:49:45 -05:00
Eugene Yokota 2b24f05435 Fixes update task not invalidating
Fixes https://github.com/sbt/sbt/issues/5292
Ref https://github.com/sbt/sbt/issues/5142

`update` task checks if the timestamp is still the same from the previous resolution. This no longer works since lm-coursier does not populate the timestamps in `UpdateReport`. See 2e5c8aed5e/modules/lm-coursier/src/main/scala/lmcoursier/internal/SbtUpdateReport.scala (L346-L351)

Since the stamps are empty, this caused `update` not to invalidate when the cache is completely missing. This works around the issue by checking if the file still exists. It also adds a warning that the file is missing.
2019-12-12 22:39:05 -05:00
Ethan Atkins 2a47205ef7 Add utilLogging contraband directory to managedSourceDirectories
See https://github.com/sbt/contraband/issues/76.
2019-12-12 18:11:32 -08:00
Ethan Atkins a177c386c0 Add closeClassLoader setting
There have been a number of issues that have come up because of sbt
1.3.0 aggressively closing classloaders. While these issues have been
quite useful in helping us determine some issues related to classloader
lifecycle, we should give users the option to prevent sbt from closing
the classloaders.

I also noticed that the classloader-cache/spark test has been
occasionally segfaulting on travis so I disable classloader closing in
that test.
2019-12-12 17:07:40 -08:00
Ethan Atkins 18c6264656
Merge pull request #5300 from eatkins/contraband-upgrade
Update contraband sources
2019-12-12 13:04:53 -08:00
Ethan Atkins aecdc44909 Update contraband sources
In 8bfae66b9d I upgraded contraband but
not all of the sources were regenerated because I didn't run clean
before recompiling.
2019-12-12 11:34:53 -08:00
eugene yokota cba7442618
Merge pull request #5295 from eed3si9n/wip/new
Fixes sbt new by restoring the terminal
2019-12-11 18:24:20 -05:00
eugene yokota c03d70113c
Merge pull request #5289 from eatkins/temporary-directories
Do not use temporary directories in java.io.tmpdir
2019-12-11 13:08:23 -05:00
Eugene Yokota 1ef83e9140 Fixes sbt new by restoring the terminal
Fixes https://github.com/sbt/sbt/issues/5063

This fixes "sbt new" on Ubuntu by restoring the terminal state after supershell querying for the terminal width.
2019-12-11 13:05:20 -05:00
eugene yokota 8178673869
Merge pull request #5287 from eatkins/lint-excludes
Add onLoad and onUnload to project lint excludes
2019-12-10 18:59:42 -05:00
eugene yokota c933a1923d
Merge pull request #5290 from eatkins/scripted-log
Use logger in scripted instead of println
2019-12-10 18:59:29 -05:00
Ethan Atkins 283d486796 Do not use temporary directories in java.io.tmpdir
sbt should not by default create files in the location specified by
java.io.tmpdir (which is the default behavior of apis like
IO.createTemporaryDirectory or Files.createTempFile) because they have a
tendency to leak and it also isn't even guaranteed that the user has
write permissions there (though this is unlikely). Doing so creates the
possibility for leaks

I git grepped for `createTemp` and found these apis. After this change,
the files created by sbt should largely be localized to the project and
sbt global base directories.
2019-12-10 15:05:36 -08:00
eugene yokota f0d1e075db
Merge pull request #5288 from eatkins/shutdown-hook-type-annotation
Add type annotation for shutdown hooks
2019-12-10 15:22:48 -05:00
eugene yokota c46c17b92d
Merge pull request #5278 from hvesalai/develop
No supershell for Emacs and other color supporting dumb terminals
2019-12-10 15:21:44 -05:00
eugene yokota f3638817db
Merge pull request #5286 from eatkins/server-spec-feedback
Improve ServerSpec feedback
2019-12-10 15:20:47 -05:00
Ethan Atkins ee56140f5c Use logger in scripted instead of println 2019-12-10 10:52:18 -08:00
Ethan Atkins 38a56358dc Add type annotation for shutdown hooks
Intellij couldn't handle this without an annotation.
2019-12-10 10:37:52 -08:00
Ethan Atkins cc09294cf3 Add onLoad and onUnload to project lint excludes 2019-12-10 10:24:02 -08:00
Ethan Atkins 2049ce3632 Improve ServerSpec feedback
In some cases if sbt is broken in the right way (for example if the
process dies), the ServerSpec will spam the console by printing empty
lines. This commit prevents it from printing empty lines and also stops
waiting for a server response if the process has died.
2019-12-10 10:22:33 -08:00
Heikki Vesalainen 9e72b1c520 No supershell for Emacs or other dumb terminals that support color 2019-12-10 18:14:19 +00:00
eugene yokota 0d1d8a790c
Merge pull request #5276 from eed3si9n/wip/giter8
sbt-giter8-resolver 0.12.0
2019-12-09 16:54:42 -05:00
Eugene Yokota 93f1f5464c sbt-giter8-resolver 0.12.0 2019-12-09 01:17:38 -05:00
eugene yokota c33b816315
Merge pull request #5274 from eatkins/util-integration
Merge util back into sbt main
2019-12-09 00:16:51 -05:00