Commit Graph

17940 Commits

Author SHA1 Message Date
Alexandre Archambault eac1e53899
Merge pull request #96 from alexarchambault/sbt-coursier-2.0.0-RC2
Switch to sbt-coursier 2.0.0-RC2
2019-07-02 14:44:12 +02:00
Alexandre Archambault 50c69c3634 Fix mima checks 2019-07-02 14:01:08 +02:00
Alexandre Archambault 8bd4073ec2 Switch to sbt-coursier 2.0.0-RC2 2019-07-01 10:17:53 +02:00
Scala Steward a71b1ddc4d Update coursier to 2.0.0-RC2-5 (#94) 2019-06-30 22:51:53 +02:00
Christian Lachner 4a61c27538 Add --java-home to sbt.bat
In contrast to the unix version of the sbt launcher, the windows
version lacks the functionality of specifying JAVA_HOME via launch
parameters. This commit adds the missing --java-home parameter to
sbt.bat.
2019-06-30 14:14:57 +02:00
Christian Lachner 53f847d703 Fix JVM_DEBUG in sbt.bat
JVM_DEBUG was broken due to a copy-pasta error in sbt.bat. This
commit corrects the value assignment to the variable and therefore
fixes the problem.
2019-06-30 11:19:18 +02:00
Steve Waldman 315fbec370 Add more neurotic resource management, close()ing of streams. 2019-06-29 12:41:26 -07:00
Steve Waldman 20ca549612 Fix detection of truncation (so messages exactly max length aren't flagged truncated) 2019-06-29 00:08:44 -07:00
Steve Waldman 1b21f200b5 Update scalafmt version. 2019-06-28 23:31:36 -07:00
Steve Waldman 25f36e65a7 Capture and report any error message in the response body when uploads fail. 2019-06-28 23:30:10 -07:00
Alexandre Archambault 3a69ac7466
Switch to coursier 2.0.0-RC2-4 (#93) 2019-06-27 14:20:33 +02:00
Eugene Yokota c342b4d662 0.3.1-SNAPSHOT 2019-06-27 07:58:11 +08:00
Eugene Yokota adeae01394 readme 2019-06-27 07:57:50 +08:00
Alexandre Archambault 6be594e52e
Take explicit artifact name and extension into account (#86) 2019-06-26 11:40:39 +02:00
Ethan Atkins 4e2c1858f2 Don't append empty comp.append
In some cases, comp.append could be an empty string. This would happen
if a parser was something like `(token(foo) <~ ;).+ <~ fo.?` because there were
no completions for the `fo` available anchor. The effect of this was
that tab would never complete foo;f to foo;foo, even though that was the
only possible completion. It would, _display_, foo as a possible
completion though.

This came up because the multi parser has a similar parser to that
described above and it broke tab completion to the right of a semi
colon.
2019-06-25 13:45:09 -07:00
Ethan Atkins 60b1ac7ac4 Improve multi parser performance
The multi parser had very poor performance if there were many commands.
Evaluating the expansion of something like "compile;" * 30 could cause
sbt to hang indefinitely. I believe this was due to excessive
backtracking due to the optional `(parser <~ semi.?).?` part of the
parser in the non-leading semicolon case.

I also reworked the implementation so that the multi command now has a
name. This allows us to partition the commands into multi and non-multi
commands more easily in State while still having multi in the command
list. With this change, builds and plugins can exclude the multi parser
if they wish.

Using the partitioned parsers, I removed the high/priority low priority
distinction. Instead, I made it so that the multi command will actually
check if the first command is a named command, like '~'. If it is, it
will pass the raw command argument with the named command stripped out
into the parser for the named command. If that is parseable, then we
directly apply the effect. Otherwise we prefix each multi command to the
state.
2019-06-25 13:45:09 -07:00
eugene yokota 4fb332a3a5
Merge pull request #16 from sbt/wip/scala-native
Add Scala Native support
2019-06-25 01:32:00 -04:00
Eugene Yokota e37ce28e81 replace NATIVE with Native 2019-06-25 01:21:43 -04:00
Eugene Yokota a985d4f079 limit to Scala 2.11 2019-06-25 01:21:02 -04:00
kenji yoshida 5db20c2007
Update dependencies (#202) 2019-06-25 11:17:26 +09:00
Eugene Yokota f0f55c38a5 quote run argument if it contains a whitespace
Fixes #4834
2019-06-24 19:32:55 -04:00
eugene yokota 9cc8913131
Merge pull request #4829 from eed3si9n/wip/crossplugin
add back typesafe-ivy-releases resolver
2019-06-23 20:44:59 -04:00
Eugene Yokota 29d3894b27 add back typesafe-ivy-releases resolver
Fixes #4698
Fixes #4827
2019-06-22 09:45:15 -04:00
eugene yokota eb877757ba
Merge pull request #4811 from eatkins/strict-multi-parser
Strict multi parser
2019-06-21 16:19:24 -04:00
Alexandre Archambault dcc7d87503
Follow http to https redirections by default (#85) 2019-06-21 17:13:32 +02:00
Alexandre Archambault dc8b787ca6
Merge pull request #90 from alexarchambault/coursier-2.0.0-RC2-3
Switch to coursier 2.0.0-RC2-3
2019-06-21 14:46:25 +02:00
Alexandre Archambault 6185d646af Temporary workaround
Until we bump the coursier version again
2019-06-21 13:44:10 +02:00
Alexandre Archambault 75ac7b6ca1 Switch to coursier 2.0.0-RC2-3 2019-06-21 13:44:10 +02:00
Scala Steward 1a297411b7 Update sbt-coursier, sbt-shading to 1.1.0-M14-4 (#89) 2019-06-20 10:29:47 +02:00
Alexandre Archambault f928399dfa
Merge pull request #87 from alexarchambault/update-report-details
Tweak update report, add eviction details
2019-06-20 10:17:32 +02:00
Scala Steward 32e4d44e6d Update sbt-ci-release to 1.2.6 (#88) 2019-06-20 09:42:22 +02:00
eugene yokota ca8381e057
Merge pull request #4814 from eatkins/session-save
Clear meta build state on session save
2019-06-20 00:08:35 -04:00
eugene yokota 6fec4d350f
Merge pull request #4781 from eatkins/improve-reload-warnings
Improve reload warnings
2019-06-19 19:22:06 -04:00
Ethan Atkins 494755f0f7 Clear meta build state on session save
The `session save` command has the side effect of modifying a "*.sbt"
file so we don't want to warn about changes or automatically reload when
we return to the shell. Setting the hasCheckedMetaBuild attribute key to
false is sufficient to prevent this.

Ref: https://github.com/sbt/sbt/issues/4813
2019-06-19 16:15:00 -07:00
Ethan Atkins 30a16d1e10 Update Continuous to directly use multi parser
It didn't really make sense for Continuous to use the other command
parser and then reparse the results. I was able to slightly simplify
things by using the multi parser directly.
2019-06-19 16:12:45 -07:00
Ethan Atkins ff16d76ad3 Remove matchers from MultiParserSpec
We've been trying to move away from the wordy dsl and stick with bare
assertions.
2019-06-19 16:12:45 -07:00
Ethan Atkins 4c814752fb Support braces in multi command parser
We run into issues if we naively split the command input on ';' and
treat each part as a separate command unless the ';' is inside of a
string because it is also valid to have ';'s inside of braced
expressions, e.g. `set foo := { val x = 1; x + 1 }`. There was no parser
for expressions enclosed in braces. I add one that should parse any
expression wrapped in braces so long as each opening brace is matched by a
closing brace. The parser returns the original expression. This allows
the multi parser to ignore ';' inside of '{...}'.

I had to rework the scripted tests to individually run 'reload' and
'setUpScripted' because the new parser rejects setUpScripted because it
isn't a valid command until reload has run.
2019-06-19 16:12:45 -07:00
Ethan Atkins ccfc3d7bc7 Validate commands in multiparser
It was reported in https://github.com/sbt/sbt/issues/4808 that compared
to 1.2.8, sbt 1.3.0-RC2 will truncate the command args of an input task
that contains semicolons. This is actually intentional, but not
completely robust. For sbt >= 1.3.0, we are making ';' syntactically
meaningful. This means that it always represents a command separator
_unless_ it is inside of a quoted string. To enforce this, the multi parser
will effectively split the input on ';', it will then validate that each
command that it extracted is valid. If not, it throws an exception. If
the input is not a multi command, then parsing fails with a normal
failure.

I removed the multi command from the state's defined commands and reworked
State.combinedParser to explicitly first try multi parsing and fall back
to the regular combined parser if it is a regular command. If the multi
parser throws an uncaught exception, parsing fails even if the regular
parser could have successfully parsed the command. The reason is so that
we do not ever allow the user to evaluate, say 'run a;b'. Otherwise the
behavior would be inconsitent when the user runs 'compile; run a;b'
2019-06-19 16:12:45 -07:00
Ethan Atkins 2fe26403e7 Add test for using switch version in multi command
I noticed that in 1.3.0-RC2, the following commands worked:
  ++2.11.12 ;test
  ;++2.11.12;test
but
  ++2.11.12; test
did not. This issue is fixed in the next commit.
2019-06-19 16:12:45 -07:00
eugene yokota b0bfa63911
Merge pull request #4821 from eed3si9n/wip/source
Fix updateClassifiers
2019-06-19 17:39:35 -04:00
Eugene Yokota 7b10b372f8 Fix updateClassifiers
Fixes #4816

Copied sbt-lm-coursier hacks from 9173406bb3/modules/sbt-lm-coursier/src/main/scala/sbt/hack/Foo.scala.
2019-06-19 12:20:26 -04:00
Alexandre Archambault 8185c94b1c Add evicted stuff to update report
Should make evicted work fine from sbt-lm-coursier and sbt itself
2019-06-19 17:16:09 +02:00
Alexandre Archambault 7bf70bce97 Clean-up update report 2019-06-19 17:16:09 +02:00
eugene yokota ff516eea2d
Merge pull request #308 from eed3si9n/wip/gigahorse
Gigahorse 0.5.0
2019-06-19 00:36:45 -04:00
Eugene Yokota 68adae1c8e remove jabba 2019-06-18 23:16:30 -04:00
Eugene Yokota 8a6bdff169 bump AdoptOpenJDK 2019-06-18 23:15:55 -04:00
Eugene Yokota ef4311acc8 Gigahorse 0.5.0 2019-06-18 23:10:35 -04:00
Dale Wijnand 4fb0706930
Cleanup Load.loadTransitive
The largest win is creating the helper, inner, "load" method.
2019-06-17 11:11:52 +01:00
Scala Steward 9173406bb3 Update utest to 0.7.1 (#84) 2019-06-17 09:46:46 +02:00
eugene yokota 57a86e60f6
Merge pull request #4806 from eatkins/incomplete-hash
Don't use Set[Incomplete]
2019-06-14 09:10:39 +02:00