Commit Graph

6664 Commits

Author SHA1 Message Date
Ethan Atkins 8bd953edc1
Merge pull request #4475 from eatkins/imports
Optimize imports
2018-12-03 15:28:05 -08:00
Ethan Atkins 77e01ca930
Merge branch 'develop' into imports 2018-12-03 14:15:53 -08:00
eugene yokota 9d562ff82c
Merge pull request #4474 from eatkins/type-annotations
Annotate type signature of public methods and fields
2018-12-03 17:05:21 -05:00
Ethan Atkins de7c67ea45 Optimize imports in Defaults, Main and Keys
It was becoming a pain to work on these files in intellij because the
auto-import feature would implicitly optimize all of the imports in
these files, leading to a large diff. I'd then have to go and manually
add the import that I care about. This change does add some wildcard
imports, which I don't always love, but these files are so unwieldy
already that I think it's worth it to have the imports follow the format
preferred by intellij.
2018-12-03 13:28:10 -08:00
Ethan Atkins 80eb76da36 Annotate type signature of public methods and fields
This file was littered with intellij warnings due to public members and
fields not having their types annotated. Although in this case it didn't
really matter, it is good practice to always annotate public methods and
fields so that they can evolve in a binary compatible way.
2018-12-03 12:57:28 -08:00
eugene yokota 34ef5ab500
Merge pull request #4454 from eed3si9n/wip/prompt-fix
Fix prompt for task progress
2018-11-29 10:47:30 -05:00
Eugene Yokota 9858bc29fb more tweaking on task progress
move the cursor up after the user enters command.
2018-11-29 04:40:40 -05:00
eugene yokota d220a0cc84
Merge pull request #4467 from eed3si9n/wip/travis
use AdoptOpenJDK 8 on Travis CI
2018-11-28 15:18:15 -05:00
eugene yokota b884dea2ca
Merge pull request #4468 from olafurpg/semanticdb
Update semanticdb-scalac to v4.1.0
2018-11-28 15:18:03 -05:00
Ólafur Páll Geirsson fefb83f8fd Update semanticdb-scalac to v4.1.0
This release supports more Scala versions, works on Java 11 and
is ~8mb smaller than v4.0.0.
2018-11-28 08:56:18 +01:00
eugene yokota 935afadeac
Merge pull request #4465 from eed3si9n/fport/ignore-files-in-scripted-group-dirs
[fport] Ignore files in scripted group dirs
2018-11-27 20:50:20 -05:00
Eugene Yokota 7c4412d960 use AdoptOpenJDK 8 2018-11-27 18:48:22 -05:00
Eugene Yokota fe8a74c229 drop notification override 2018-11-27 18:29:56 -05:00
Dale Wijnand 248b8b93d1 Ignore files in scripted group dirs
Scripted tests, in src/sbt-test/<group>/<name> blow up if <name> is a
plain file.  Filter them out.
2018-11-27 18:17:38 -05:00
eugene yokota 0313cc5758
Merge pull request #4462 from raboof/discoverOracleJdk
Discover Oracle JDK installed in /opt
2018-11-24 02:46:08 -05:00
Arnout Engelen ae932f7390 Discover Oracle JDK installed in /opt 2018-11-22 12:50:13 +01:00
eugene yokota 4f27319beb
Merge pull request #4456 from eatkins/multi-command
Multi command
2018-11-20 10:35:46 -05:00
Ethan Atkins c00cc37953 Do not require leading semicolon for multi command
It has long been a frustration of mine that it is necessary to prepend
multiple commands with a ';'. In this commit, I relax that restriction.
I had to reorder the command definitions so that multi comes before act.
This was because if the multi command did not have a leading semicolon,
then it would be handled by the action parser before the multi command
parser had a shot at it. Sadness ensued.
2018-11-19 10:42:51 -08:00
Ethan Atkins 51d986d751 Make multi command parser work with string literals
Presently the multi command parser doesn't work correctly if one of the
commands includes a string literal. For example, suppose that there is
an input task defined name "bash" that shells out and runs the input.
Then the following does not work with the current multi command parser:
; bash "rm target/classes/Foo.class; touch src/main/scala/Foo.scala"; comple
Note that this is a real use case that has caused me issues in the past.

The problem is that the semicolon inside of the quote gets interpreted
as a command separator token. To fix this, I rework the parser so that
it consumes string literals and doesn't modify them. By using
StringEscapable, I allow the string to contain quotation marks itself.

I couldn't write a scripted test for this because in a command like
`; foo "bar"; baz`, the quotes around bar seem to get stripped. This
could be fixed by adding an alternative to StringEscapable that matches
an escaped string, but that is more work than I'm willing to do right
now.
2018-11-19 10:38:22 -08:00
Ethan Atkins 05e3a8609b Fix watch command parser
I discovered that when I ran multi-commands with '~' that if there was a
space between the ';' and the command, then the parsing of the command
would fail and the watch would abort. To fix this, I refactor
Watched.watch to use the multi command parser and, if that parser fails,
we fallback on a single command.
2018-11-19 10:38:22 -08:00
Ethan Atkins 4281972f1a Refactor multi parser
Prior to this commit, there was no unit testing of the parser for
multiple commands. I wanted to make some improvements to the parser, so
I reworked the implementation to be testable. This change also allows
the multiParserImpl method to be shared with Watched.watch, which I will
also update in a subsequent commit.

There also were no explicit scripted tests for multiple commands, so I
added one that I will augment in later commits.
2018-11-19 10:38:22 -08:00
Eugene Yokota 44074983bc util 1.3.0-M3 2018-11-18 12:12:38 -05:00
Eugene Yokota b00dcb1b9d Fix task progress blank line behavior
Run readyLog lazily.
2018-11-16 23:06:36 -08:00
Eugene Yokota d58b302a97 Fix prompt for task progress 2018-11-16 23:05:51 -08:00
eugene yokota 93d77d593f
Merge pull request #4449 from eatkins/managed-source-fix-develop
Fix '~' for dependent projects with a broken parent
2018-11-13 15:49:50 -08:00
Ethan Atkins 7b5cf84fe1 Fix '~' for dependent projects with a broken parent
In #4446, @japgolly reported that in some projects, if a parent project
was broken, then '~' would immediately exit upon startup. I tracked it
down to this managed sources filter. The idea of this filter is to avoid
getting stuck in a build loop if managedSources writes into an unmanaged
source directory. If the (managedSources in ThisScope).value line
failed, however, it would cause the watchSources, and by delegation,
watchTransitiveSources task to fail. The fix is to only create this
filter if the managedSources task succeeds.

I'm not 100% sure if we shouldn't just get rid of this filter entirely
and just document that '~' will probably loop if a build writes the
result of managedSources into an unmanaged source directory.
2018-11-11 09:35:46 -08:00
eugene yokota f10455fe40
Merge pull request #4431 from andreaTP/sbtBig
adding sbt-big to the build
2018-11-10 01:53:51 -05:00
eugene yokota ab5e99c9c8
Merge pull request #4443 from eed3si9n/wip/metabuild-classpath
Use the classpath obtained by the launcher for metabuild
2018-11-09 16:43:32 -05:00
Eugene Yokota c51c00bb3f Use app classpath for metabuild
Fixes #4437

Until now, sbt was resolved twice once by the launcher, and the second time by the metabuild.
This excludes sbt from the metabuild graph, and instead uses app classpath from the launcher.
2018-11-09 04:32:38 -05:00
Eugene Yokota c91371b7f8 add isMetaBuild setting
Fixes #3436

This implements isMetaBuild setting that is explicitly for meta build only,
unlike sbtPlugin setting which can be used for both meta build and plugin development purpose.
2018-11-09 03:08:47 -05:00
andrea 39493f7869 adding a fatjar release (aka sbt-big) to the build 2018-11-07 08:37:49 +00:00
eugene yokota edd0c34186
Merge pull request #4436 from eatkins/unload-view
Close the current global file tree view on unload
2018-10-30 03:05:39 -04:00
Ethan Atkins 7ec65f174d Close the current global file tree view on unload
I noticed that when using the latest nightly, triggered execution would
fail to work if I switched projects with, e.g. ++2.10.7. This was
because the background thread that filled the file cache was incorrectly shutdown.
To fix this, we just need to close whatever view is cached in the
globalFileTreeView attribute in the exit hook rather than the view
created by the method.

After making this change and publishing a local SNAPSHOT build, I was
able to switch projects with ++ and have triggeredExecution continue to
work.
2018-10-29 14:21:36 -07:00
eugene yokota 23063e2813
Merge pull request #4427 from andreaTP/flakyCompletionsSpec
fix ServerSpec flaky test
2018-10-18 17:20:57 -04:00
andrea 76be2c1621 fix ServerSpec testing with dbuild 2018-10-18 17:57:14 +01:00
eugene yokota 7d79a13ba9
Merge pull request #4424 from eed3si9n/wip/cached-resolution
Set withMetadataDirectory by default, bump to lm 1.2.2
2018-10-15 12:40:29 -04:00
Eugene Yokota 10fa964b6f Adjust the tests 2018-10-15 11:24:44 -04:00
Eugene Yokota 93c8ab0a2d librarymanagement 1.2.2 2018-10-15 05:13:43 -04:00
Eugene Yokota f70ce9bab0 Set withMetadataDirectory by default
This partly fixes cached resolution.

Ref https://github.com/sbt/sbt/issues/3761
2018-10-15 03:26:39 -04:00
eugene yokota 1f8e9c9657
Merge pull request #4410 from eed3si9n/wip/semantic
ThisBuild / enableSemanticDB
2018-10-12 01:00:16 -04:00
eugene yokota bca5c23eb0
Merge pull request #4420 from andreaTP/refactorCancellations
[sbt-server] Refactor cancellations
2018-10-11 20:22:54 -04:00
eugene yokota 8698622c6f
Merge pull request #4398 from andreaTP/configurableLibraryManagement
Build time configurable library management
2018-10-11 20:21:57 -04:00
Eugene Yokota aa8c1f484b implement SemanticdbPlugin
This makes it easier to enable SemanticDB build wide.
2018-10-11 15:44:15 -04:00
Eugene Yokota 9c611f2c07 -Yrangepos for sbt 2018-10-11 15:44:15 -04:00
Andrea Peruffo e4c9fbad79
Merge branch 'develop' into configurableLibraryManagement 2018-10-11 18:59:38 +01:00
Andrea Peruffo a2607f1da6
Merge branch 'develop' into refactorCancellations 2018-10-11 18:57:57 +01:00
eugene yokota e759d17b2e
Merge pull request #4397 from andreaTP/lspCompletions
[sbt-server] LSP completions support
2018-10-11 12:49:23 -04:00
eugene yokota 7fe075974c
Merge pull request #4417 from andreaTP/moreRobustServerSpec
fix ServerSpec flaky tests
2018-10-11 09:32:33 -04:00
eugene yokota 58648d680e
Merge pull request #4419 from eatkins/reload-loop
Fix windows reload loop
2018-10-11 09:19:54 -04:00
andrea 02b19752eb refactoring of server cancellation request 2018-10-11 14:03:41 +01:00