Commit Graph

10242 Commits

Author SHA1 Message Date
eugene yokota 08c7fd1b8f
Merge pull request #5225 from samvel1024/develop
Sleep the current thread when we need to retry background job shutdown
2019-11-06 10:33:51 -05:00
Samvel Abrahamyan ff75a21d4f Sleep the current thread when we need to retry background job shutdown 2019-11-05 14:54:55 +01:00
eugene yokota e17c64dfb6
Merge pull request #5153 from eed3si9n/wip/lint
build linting to warn on unused settings during reload
2019-10-30 11:36:43 -04:00
eugene yokota 098796cdff
Merge pull request #232 from diesalbla/recycle_string_builder_storage
ConsoleAppender: reuse/recycle StringBuilder storage
2019-10-22 17:57:00 -04:00
Diego E. Alonso-Blas 3657910063 ConsoleAppender: reuse/recycle StringBuilder storage.
A StringBuilder is a mutable data structure to create a String.
When the String is created, the new String does not share any
storage with the StringBuilder. Thus, we can keep a same
StringBuilder, and reuse its internal storage between different
iterations.
2019-10-22 23:30:09 +02:00
Johannes Rudolph 221e5fb7a1
Expand note and ask for help from users 2019-10-21 11:07:04 +02:00
eugene yokota 2f31849c64
Merge pull request #5204 from eed3si9n/wip/nohouse
in-source sbt-houserules
2019-10-20 01:21:56 -04:00
Eugene Yokota 6f49065a56 in-source sbt-houserules 2019-10-20 00:41:53 -04:00
Eugene Yokota 417de34779 util 1.3.2, zinc 1.3.1 2019-10-20 00:28:25 -04:00
Eugene Yokota 675430dad2 io 1.3.1 2019-10-20 00:28:17 -04:00
eugene yokota 6444172538
Merge pull request #5202 from regadas/fix/5110
Fix #5110: allow semanticdbVersion override
2019-10-20 00:25:39 -04:00
eugene yokota f5358db783
Merge pull request #229 from eed3si9n/wip/nohouse
in-source sbt-houserules
2019-10-19 19:28:13 -04:00
Eugene Yokota 6c9120ea62 Bump Scala versions 2019-10-19 19:21:03 -04:00
Eugene Yokota 1e3e726d0b sbt 1.3.3 2019-10-19 19:14:29 -04:00
Eugene Yokota 8c2aef75e4 in-source sbt-houserules 2019-10-19 19:14:16 -04:00
Filipe Regadas 66da2f5926
Merge branch 'develop' into fix/5110 2019-10-19 15:27:34 +01:00
eugene yokota 8d9c28c587
Merge pull request #5203 from regadas/fix/settings-type
Add explicit return type to plugin settings
2019-10-19 09:55:10 -04:00
Filipe Regadas 562eae2bff
Add explicit return type to plugin settings 2019-10-19 09:38:54 +01:00
Filipe Regadas d49ced04da
Bump semanticdbVersio to 4.2.3 2019-10-19 09:09:36 +01:00
Filipe Regadas 46b6ad0171
Bump semanticdbVersio to 4.2.4 2019-10-18 21:39:13 +01:00
Filipe Regadas 0ef5b578f8
Fix MiMa 2019-10-18 18:39:39 +01:00
Filipe Regadas 8afadce715
Merge branch 'develop' into fix/5110 2019-10-18 16:48:57 +01:00
Filipe Regadas a451200bad
Fix #5110: allow semanticdbVersion override 2019-10-18 16:48:36 +01:00
eugene yokota 295c159bc5
Merge pull request #5195 from regadas/fix/5193
Fix sbt startup when running sbt-allsources.sh
2019-10-18 10:53:00 -04:00
Filipe Regadas ae7614285b
Merge branch 'develop' into fix/5193 2019-10-17 22:32:21 +01:00
Filipe Regadas 4dced81408
Fix MiMa 2019-10-17 22:27:43 +01:00
eugene yokota e4ee8d4a7f
Merge pull request #5197 from jsoref/patch-1
Remove excess quotation mark
2019-10-17 15:47:47 -04:00
Josh Soref c7bf1a37f2
Remove excess quotation mark 2019-10-17 14:19:20 -04:00
Filipe Regadas cb46943cec
Fix librarymanagement project Id 2019-10-16 19:27:32 +01:00
Filipe Regadas 9cdf5957ed
Add sbt-mima-plugin 2019-10-16 19:27:11 +01:00
eugene yokota 066307998f
Merge pull request #5164 from eatkins/nio-overrides
Don't overwrite nio build settings with injected settings
2019-10-14 01:17:35 -04:00
Eugene Yokota 54b3405f42 apply -Yno-lub
To demonstrate [-Yno-lub](http://eed3si9n.com/stricter-scala-with-ynolub), this shows the code changes that removes lubing (Not all subprojects are done).

After I made the changes, I switched the Scala back to normal 2.12.10.
2019-10-13 23:46:23 -04:00
Ethan Atkins d698d6dcdd Don't overwrite nio build settings with injected settings
The current injection of the new nio keys will overwrite any definitions
of those keys in a build source. This is undesirable. The fix is to
create a mapping of scoped keys to settings and for each inject setting
key, if there is a previous key, put that definition after the injected
definition so that it can override it.
2019-10-08 09:47:59 -07:00
Ethan Atkins 166511c992
Merge pull request #227 from eatkins/delete-line-count
Don't include DeleteLine in progress length
2019-10-07 15:13:03 -07:00
Ethan Atkins d3921d07ce
Merge pull request #5156 from eatkins/task-timing-logger
Improve task timing output and supershell thread management
2019-10-07 11:56:53 -07:00
Ethan Atkins d12bb2d71e Shutdown progress thread when there are no tasks
It is still possible for progress threads to leak so shut them down if
there are no active tasks. The report0 method will start up a new thread
if a task is added.
2019-10-07 09:43:59 -07:00
Ethan Atkins 6559c3a06d Use only one progress thread during task evaluation
In some circumstances, sbt would generate a number of task progress
threads that could run concurrently. The issue was that the TaskProgress
could be shared by multiple EvaluateTaskConfigs if a dynamic task was
used. This was problematic because when a dynamic task completed, it
might call afterAllCompleted which would stop the progress thread. There
also was a race condition because multiple threads calling initial could
theoretically have created a new progress thread which would cause a
resource leak.

To fix this, we modify the shared task progress so that the `stop()`
method is a no-op. This should prevent dynamic tasks from stopping the
progress thread. We also defer the creation of the task thread until
there is at least one active task. This prevents a thread from being
created in the shell.

The motivation for this change was that I found that sometimes there was
a leaked progress thread that would make the shell not really work for
me because the progress thread would overwrite the shell prompt. This
change fixes that behavior and I was able to validate with jstack that
there was consistently either one or zero task progress threads at a
time (zero in the shell, one when tasks were actually running).
2019-10-07 09:43:59 -07:00
Ethan Atkins 367461e586 Use logger rather than ConsoleOut for TaskTimings
When running sbt -Dtask.timings=true, the task timings get printed to
the console which can overwrite the shell prompt. When we use a logger,
the timing lines are correctly separated from the prompt lines.
2019-10-07 09:43:59 -07:00
Ethan Atkins 43f25520a0 Don't include DeleteLine in progress length
I incorrectly included the DeleteLine in the progress line length and
this could cause certain progress lines to be incorrectly reported as
multi line when they actually fit on a single terminal line.
2019-10-07 09:30:41 -07:00
eugene yokota 22a9fd4de0
Merge pull request #5158 from eatkins/scripted-parser
Scripted parser fixes
2019-10-07 14:27:50 +02:00
Ethan Atkins ae84e162ad Limit scripted page numbers
The completions were generating page numbers that didn't make sense if
there were a small number of scripted tests. For example, suppose that
there were only two tests defined, it would generate *1of3 *2of3 and
*3of3 completions even though there weren't even three tests.
2019-10-06 14:07:30 -07:00
Ethan Atkins 9dff18d736 Fix scripted parser crash
In a local progress, I was able to induce a crash in tab completions
because the group key did not exist in pairMap.
2019-10-06 14:07:30 -07:00
eugene yokota 11bc90c481
Merge pull request #5157 from eatkins/safe-clean
Clean ivy resolution cache before regular clean
2019-10-06 06:38:54 -04:00
Ethan Atkins 5d8b94de55 Clean ivy resolution cache before regular clean
The way clean was implemented, it was running `clean`, `ivyModule` and
`streams` concurrently. This was problematic because clean could blow
away files needed by `ivyModule` and `streams`. To fix this, move the
cleanCachedResolutionCache into a separate task and run that before the
normal clean.

Should fix https://github.com/sbt/sbt/issues/5067.
2019-10-05 16:42:16 -07:00
Eugene Yokota 460d1f5aa7 Rename to lintUnused for clarification
Address other review comments
2019-10-04 09:04:43 -04:00
Eugene Yokota 3a96ffa2cf include lintBuild as part of reload command 2019-10-03 23:40:21 -04:00
Eugene Yokota 765c451832 add lintBuild task to warn on unsed settings
Fixes https://github.com/sbt/sbt/issues/3183

This implements an input task  lintBuild that checks for unused settings/tasks.
Because most settings are on the intermediary to other settings/tasks, they are included into the linting by default. The notable exceptions are settings used exclusively by a command. To opt-out, you can either append it to `Global / excludeLintKeys` or set the rank to invisible.

On the other hand, many tasks are on the leaf (called by human), so task keys are excluded from linting by default. However there are notable tasks that trip up users, so they are opted-in using `Global / includeLintKeys`.
2019-10-03 23:40:21 -04:00
eugene yokota 22a6ff5d57
Merge pull request #5148 from eatkins/supershell-console
Clear supershell lines before suppressed task
2019-10-03 20:46:28 -04:00
eugene yokota ee471a2a82
Merge pull request #5151 from eatkins/scripted-timeout
Add timeout to scripted statements
2019-10-03 20:45:57 -04:00
eugene yokota 5ed3de9b94
Merge pull request #5152 from eed3si9n/wip/xenial
Switch to xenial image
2019-10-03 20:43:37 -04:00