Commit Graph

2109 Commits

Author SHA1 Message Date
Justin Kaeser a50e351c58 don't warn when current sbt version doesn't match version in build.properties when version is set by system property.
mitigates https://github.com/sbt/sbt/issues/4303
2018-08-16 18:01:54 +03:00
eugene yokota bb8bd7b0ca
Merge pull request #4308 from seratch/fix-typos
Fix the several typos detected by github.com/client9/misspell
2018-08-15 10:51:03 -04:00
Arnout Engelen bed2e11d59 Update test to reflect new WindowsDiscoverConfig ctor 2018-08-15 16:19:14 +02:00
Arnout Engelen b699f0fc6f Also look in (x86) 2018-08-15 11:21:30 +02:00
Arnout Engelen b1fc7dc183 Support discovering JDK 11 in JAVA_HOME for CrossJava 2018-08-09 14:43:11 +02:00
Kazuhiro Sera 59dbc0645e Fix the several typos detected by github.com/client9/misspell 2018-08-08 15:57:34 +09:00
Julien Sirocchi bb49018c52 Fixes #4236 2018-08-07 10:26:56 +01:00
eugene yokota 1ebc1a7bfc
Merge pull request #4302 from eed3si9n/wip/remove-configuration-warning
Remove warnings about configuration
2018-08-06 08:34:05 -04:00
Eugene Yokota 780ca366d8 Remove warnings about configuration
Fixes #4293
Ref #4231, #4065

This fixes the regression on sbt 1.2.0 that displays a lot of warnings about configurations.

The warning was added in #4231 in an attempt to fix #4065. This actually highlights somewhat loose usage of configurations among the builds in the wild, and the limitation on the current slash syntax implementation.

I think we can remove this warning for now, and try to fix #4065 by making slash syntax more robust. In particular, we need to memorize the mapping between the configuration name and Scala identifier across the entire build, and use that in the shell.
2018-08-06 00:22:57 -04:00
Eugene Yokota 26c180e768 Revert "Switch inThisBuild (+friends) to use varargs SettingsDefinition"
This reverts commit f459b218c4.
2018-08-05 16:00:33 -04:00
Eugene Yokota eac7eef947 Revert "Switch to varargs inThisBuild (+friends)"
This reverts commit ccf938c786.
2018-08-05 15:44:37 -04:00
Philippus 15e6cdfd68
Set default maven configurations in pom configuration, fixes #1380 2018-08-05 09:25:33 +02:00
Eugene Platonov cc2159d565 add human readable total time 2018-07-21 15:56:48 -04:00
Eugene Yokota 1bf6f0d2a0 Make ++ fail when it doesn't affect any subprojects
Fixes #4267
2018-07-15 20:47:59 -04:00
eugene yokota c02bc2f9d1
Merge pull request #4264 from eed3si9n/wip/javacrossfix
Fixes contains bug
2018-07-14 03:13:05 -04:00
Eugene Yokota 439e67c8c4 Fixes contains bug
Ref https://github.com/scala/bug/issues/10831
Ref https://github.com/sbt/sbt/pull/4139#commitcomment-29633458
2018-07-14 01:05:14 -04:00
Eugene Yokota 5c2c8b262a sbt-giter8-resolver 0.11.0 2018-07-13 17:53:37 -04:00
Eugene Yokota b3342118f8 Add dependencyOverrides for scripted-plugin
Fixes #4249

This introduces an override rule into the metabuild so scripted-plugin will align with the sbt version.
2018-07-10 03:13:47 -04:00
xuwei-k f22809d152 correspond file names and class names, packages and directories 2018-07-09 14:41:44 +09:00
xuwei-k ae1fdff968 use SAM type 2018-07-09 13:06:34 +09:00
xuwei-k aa14656753 fix typo 2018-07-08 22:18:57 +09:00
Jason Zaugg c10ff305de Defer deprecation warn of last-grep/load-failed until they are used 2018-07-04 08:49:26 +10:00
eugene yokota 8692952e91
Merge pull request #4245 from raboof/selectLatestJavaVersion
Select most recent JDK
2018-07-03 12:29:47 -04:00
Arnout Engelen 46693548d7 Add missing copyright header 2018-07-03 15:50:57 +02:00
Arnout Engelen 57e3183b8d Discover jvm installed via Oracle Linux RPM's 2018-07-03 15:29:31 +02:00
Arnout Engelen 7630ed8201 Select most recent jdk
When multiple jdk minor/patch versions are available, select the most
recent one.
2018-07-03 11:06:04 +02:00
eugene yokota 773d35dadd
Merge pull request #4231 from steinybot/fix/3432
Add warning for unknown configurations
2018-06-27 20:59:43 -04:00
eugene yokota b0e025915a
Merge pull request #4227 from eed3si9n/wip/thin
Implement thin client
2018-06-27 15:27:42 -04:00
Eugene Yokota 3b7e6974c3 Fixes stacktrace of backgroun run
Ref https://github.com/sbt/sbt/issues/4121

sbt already has the facility to trim stack traces. This sets the trace level of the background run, which fixes the upper half of the `run` stacktrace.

```
[error] (run-main-0) java.lang.Exception
[error] java.lang.Exception
[error] 	at Hello$.delayedEndpoint$Hello$1(Hello.scala:5)
[error] 	at Hello$delayedInit$body.apply(Hello.scala:1)
[error] 	at scala.Function0.apply$mcV$sp(Function0.scala:34)
[error] 	at scala.Function0.apply$mcV$sp$(Function0.scala:34)
[error] 	at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
[error] 	at scala.App.$anonfun$main$1$adapted(App.scala:76)
[error] 	at scala.collection.immutable.List.foreach(List.scala:389)
[error] 	at scala.App.main(App.scala:76)
[error] 	at scala.App.main$(App.scala:74)
[error] 	at Hello$.main(Hello.scala:1)
[error] 	at Hello.main(Hello.scala)
[error] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] 	at java.lang.reflect.Method.invoke(Method.java:498)
[error] java.lang.RuntimeException: Nonzero exit code: 1
[error] 	at sbt.Run$.executeTrapExit(Run.scala:127)
[error] 	at sbt.Run.run(Run.scala:77)
[error] 	at sbt.Defaults$.$anonfun$bgRunTask$5(Defaults.scala:1254)
[error] 	at sbt.Defaults$.$anonfun$bgRunTask$5$adapted(Defaults.scala:1249)
[error] 	at sbt.internal.BackgroundThreadPool.$anonfun$run$1(DefaultBackgroundJobService.scala:377)
[error] 	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
[error] 	at scala.util.Try$.apply(Try.scala:209)
[error] 	at sbt.internal.BackgroundThreadPool$BackgroundRunnable.run(DefaultBackgroundJobService.scala:299)
[error] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] 	at java.lang.Thread.run(Thread.java:748)
[error] (Compile / run) Nonzero exit code: 1
```

The bottom half requires a similar fix to the foreground log.
2018-06-27 06:26:38 -04:00
Jason Pickens c9aa0c5285 Add warning for unknown project configurations. 2018-06-27 18:25:10 +12:00
Eugene Yokota f3038167a5 Fork server if it's not running
Fixes https://github.com/sbt/sbt/issues/3508

This forks an instance of sbt in the background when it's not running already.

```
$ time sbt -client compile
Getting org.scala-sbt sbt 1.2.0-SNAPSHOT  (this may take some time)...
:: retrieving :: org.scala-sbt#boot-app
	confs: [default]
	79 artifacts copied, 0 already retrieved (28214kB/130ms)
[info] entering *experimental* thin client - BEEP WHIRR
[info] server was not detected. starting an instance
[info] waiting for the server...
[info] waiting for the server...
[info] server found
> compile
[success] completed
sbt -client compile  9.25s user 2.39s system 33% cpu 34.893 total
$ time sbt -client compile
[info] entering *experimental* thin client - BEEP WHIRR
> compile
[success] completed
sbt -client compile  3.55s user 1.68s system 107% cpu 4.889 total
```
2018-06-25 22:37:22 -04:00
Eugene Yokota 1a1f530985 implement -client option 2018-06-25 22:26:13 -04:00
Guillaume Poirier 59465d9e1f Adding minimal support for commands in inspect
There's also a special case for aliases that will try to resolve
the target of the alias to a task key if possible and display the
output of that key if found.

see https://github.com/sbt/sbt/issues/2881
2018-06-22 09:04:56 -04:00
eugene yokota a34f76bab7
Merge pull request #4220 from regadas/issue/630
Add alternative scripted filenames
2018-06-19 22:03:18 -04:00
Filipe Regadas 0fb07a861b Add alternative scripted filenames 2018-06-19 14:59:04 -04:00
Anthony Garo d62a7465ae Addresses #4206 2018-06-19 11:55:57 -04:00
eugene yokota 6fbb7f055a
Merge pull request #4211 from eed3si9n/wip/loadplugin
addPluginSbtFile command
2018-06-18 22:35:08 -04:00
Eugene Yokota 932f911483 addPluginSbtFile command
Fixes https://github.com/sbt/sbt/issues/1502

This adds `--addPluginSbtFile=<file>` command, which adds the given .sbt file to the plugin build.
Using this mechanism editors or IDEs can start a build with required plugin.

```
$ cat /tmp/extra.sbt
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.7")

$ sbt --addPluginSbtFile=/tmp/extra.sbt
...
sbt:helloworld> plugins
In file:/xxxx/hellotest/
  ...
  sbtassembly.AssemblyPlugin: enabled in root
```
2018-06-18 01:50:36 -04:00
Eugene Yokota b3bcb3f47d Open up setPlugins to private[sbt]
This would make it easier for projectMatrix to be a plugin.
2018-06-18 00:36:43 -04:00
eugene yokota f3618c74b6
Merge pull request #4205 from sbt/1.1.x
Merge 1.1.x
2018-06-15 15:33:02 -04:00
Eugene Yokota e3c9eb0cd9 Remove the shutdown hook when it's done 2018-06-14 05:12:36 -04:00
eugene yokota 9b8648519f
Merge pull request #4198 from eed3si9n/wip/offline-props
-Dsbt.offline sets offline setting
2018-06-14 01:09:32 -04:00
Eugene Yokota 7b6ae46116 -Dsbt.offline sets offline setting
Fixes #771
2018-06-13 03:52:21 -04:00
eugene yokota 54ad0d865e
Merge branch '1.x' into sort-and-indent-plugins-output 2018-06-13 03:21:02 -04:00
Eugene Yokota 86427c7ce7 Merge branch '1.1.x' into wip/merge-1.1.x 2018-06-12 23:33:47 -04:00
veera venky e465aee36a Fix for #4191 (active.json should be removed on JVM shutdown)
Added a shutdown hook to clean up active.json file
2018-06-13 03:06:30 +05:30
Mark Canlas 5fd774693c sort and indent about plugins output 2018-06-09 01:31:45 -04:00
Ethan Atkins 27e93601b5 Add warning for slow hostname lookups on OS X
I spent a lot of time debugging why it took 5 seconds to run tests each
time. It turns out that if the hostname is not set explicitly on os x,
then getaddrinfo takes 5 seconds to try (and fail) to resolve the dns
entry for the localhostname. This is easily fixed by setting the
hostname, but it is not at all easy to figure out that a slow hostname
lookup is the reason why tests are slow to start.

I don't know if this is a common issue on other platforms, so only issue
the warning on OS X.
2018-06-06 10:53:46 -07:00
Eugene Yokota 9b7c224f93 use stringly-typed key so we can define it machine-wide 2018-05-30 00:59:12 -04:00
Eugene Yokota a7d85c8724 Formatting 2018-05-30 00:16:27 -04:00
Eugene Yokota 35e98f51fd Adjust to upstream change 2018-05-30 00:16:27 -04:00
Eugene Yokota 2da1aa61eb implement cross JDK forking
```
sbt:helloworld> java++ 10
[info] Reapplying settings...
sbt:helloworld> run
[info] Running (fork) Hello
[info] 10.0.1

sbt:helloworld> java++ 8
[info] Reapplying settings...

sbt:helloworld> run
[info] Running (fork) Hello
[info] 1.8.0_171
```
2018-05-30 00:16:27 -04:00
Eugene Yokota aff9e0110c Accept both 1.x and x for 1.1 to 1.8 2018-05-30 00:16:27 -04:00
Martynas Mickevičius c31583e4f8 Discovery of java homes 2018-05-30 00:16:27 -04:00
Antonio Cunei f2a7e1f1c3 Fix for #4148 (SessionSettingsSpec intermittently fails)
It turns out that `syntaxAnalyzer.UnitParser()` in global now also
needs to be synchronized. The alternative is adding `synchronizeNames = true`
in the global constructor, but that already proved unreliable in the
case of #3743 (see comment https://github.com/sbt/sbt/issues/3170#issuecomment-355218833)
2018-05-28 14:09:13 +02:00
eugene yokota 7e8e18b9fa
Merge pull request #4099 from eatkins/redundant
Handle managedSources writing into unmanaged source directories
2018-05-27 23:57:46 -04:00
alodavi 67efea6248 [alodavi/improving_loading_settings_messaging] logging file and project name instead of only file name 2018-05-23 17:20:41 +02:00
Aloisia Davì 9b5f44f1ea
Merge branch '1.x' into alodavi/improving_loading_settings_messaging 2018-05-23 17:08:50 +02:00
Dale Wijnand ab35c21c98
Drop deprecated write-sbt-version & notify-users-about-shell
Introduced in https://github.com/sbt/sbt/pull/4169, these commands
aren't "user-facing" and are quite new. So no need to keep the old kebab
syntax.
2018-05-21 17:24:38 +01:00
tiqwab b7c9862f16 Fix kebab-case commands: notify-users-about-shell, write-sbt-version 2018-05-19 18:31:20 +09:00
Aloisia Davì 145da16c7f
Merge branch '1.x' into alodavi/improving_loading_settings_messaging 2018-05-15 14:53:00 +02:00
Øyvind Høisæther 667a6be99e Show all lines when running help <task>, but only first line when listing tasks 2018-05-15 14:33:24 +02:00
alodavi b30159aded [alodavi/improving_loading_settings_messaging] logging the path instead of just the name 2018-05-15 14:06:50 +02:00
Øyvind Høisæther 34cc8cd273 Only use first line for multiline descriptions 2018-05-15 13:42:41 +02:00
Alexander Samsig 7dfe6097fb Removed Load and LoadCommand since they are no longer in use.
Changed add-defaults-commands directly since it is only used internally.
Added deprecation warning for LoadFailed and LastGrep.
2018-05-15 12:44:17 +02:00
Eugene Yokota 90931857c3 Merge branch 'pr/4096' into wip/bumpzinc 2018-05-05 04:58:19 -04:00
Eugene Yokota 094c2c602d Formatting 2018-05-05 04:57:14 -04:00
Eugene Yokota 8409735077 Merge branch '1.1.x' into wip/merge-1.1.x 2018-05-04 12:40:43 -04:00
Liu Fengyun 1057dcd291 update deprecated message 2018-05-04 17:10:50 +02:00
Liu Fengyun 50f2ebce88 overload autoPlugins for binary compatibility 2018-05-04 17:00:25 +02:00
Liu Fengyun ecbfdfef25 fix compilation error 2018-05-03 22:36:17 +02:00
liu fengyun 5d63035a27 Fix #4073: support detect dotty plugins 2018-05-03 22:29:34 +02:00
Eugene Yokota 28e90ea09b Merge branch '1.1.x' into wip/merge-1.1.x 2018-04-29 14:31:30 -04:00
Seth Tisue 4477a42b5a upgrade Scala 2.12.4 -> 2.12.6
I have no specific user-visible benefit in mind other than fewer
JARs to download for people who are on current versions of things
2018-04-27 23:20:51 -04:00
Ethan Atkins 0de8345e33 Remove watch loops
When source generators write into the unmanaged source directory, bad
things can happen. Continuous builds will loop indefinitely and
compiling will fail because the generated sources get added to the
source list twice, causing the incremental compiler to complain about
compiling classes it has already seen. My two-pronged solution is to
de-duplicate the sources task and to filter out managed source files in
watch sources. The drawback to the latter is that it causes the source
generation task to be executed twice per compile.
2018-04-27 14:42:37 -07:00
Dale Wijnand a0e27c719c
Cleanup Resolve 2018-04-24 16:30:56 +01:00
Dale Wijnand 8f4b8abb7b
Run scalafmt & test:scalafmt 2018-04-24 16:12:10 +01:00
Ethan Atkins 754385125a Use new EventMonitor in executeContinuously
In https://github.com/sbt/io/pull/142, I add a new api for watching for
source file events. This commit updates sbt to use the new EventMonitor
based api. The EventMonitor has an anti-entropy parameter, so that
multiple events on the same file in a short window of time do not
trigger a build. I add a key to tune it.

The implementation of executeContinuously is pretty similar. The main
changes are that shouldTerminate now blocks (EventMonitor spins up a
thread to check the termination condition) and that the
EventMonitor.watch method only returns a Boolean. This is because
the event monitor contains mutable state. It does, however, have a
state() method that returns an immutable snapshot of the state.
2018-04-23 10:02:29 -07:00
Dale Wijnand a2af3bff15
Merge pull request #4098 from eatkins/filter
Exclude directories instead of including files
2018-04-23 08:15:11 +01:00
Dale Wijnand ccf938c786
Switch to varargs inThisBuild (+friends) 2018-04-19 22:34:52 +01:00
Dale Wijnand f459b218c4
Switch inThisBuild (+friends) to use varargs SettingsDefinition 2018-04-19 22:34:32 +01:00
Ethan Atkins 2bb717dbf9 Exclude directories instead of including files
The existing filter caused SourceModificationWatch.watch to ignore
deleted files because !file.exists implies !file.isFile. The intention
of the filter was to exclude directories that had a name ending in
".scala".
2018-04-13 11:36:40 -07:00
Alexey Alekhin a1e3146c08
Don't use initialize request id for the internal collectAnalyses call 2018-04-12 19:47:32 +02:00
Dale Wijnand 4fc45e0155
Merge pull request #4056 from BennyHill/fix/3042
Introduce CompositeProject
2018-04-09 11:30:17 +01:00
Nafer Sanabria 3e201cee4d Add lastGrep command 2018-04-08 10:56:25 -05:00
Alistair Johnson b0ad1a44c0 Remove projects parameter from CompositeProject.expand 2018-04-07 15:56:31 +02:00
Alistair Johnson 6cce4f6fd9 Remove duplicate Projects 2018-04-07 01:26:40 +02:00
Alistair Johnson 68c005e4b5 Ensure precedence of top level Projects over ComponentProjects 2018-04-07 01:04:45 +02:00
Jason Steenstra-Pickens 4dc76e2b38 Add dependencyResolution scoped to updateSbtClassifiers task
Fixes #3432
2018-04-06 10:41:31 +12:00
Alistair Johnson 03fc4ac686 Ensure unique project Id in composite projects 2018-04-04 21:01:05 +02:00
Alistair Johnson 77b536b25f Merge branch '1.x' of https://github.com/BennyHill/sbt into fix/3042
Conflicts:
	main/src/main/scala/sbt/internal/BuildDef.scala
	main/src/main/scala/sbt/internal/EvaluateConfigurations.scala
2018-04-04 18:30:56 +02:00
Dale Wijnand 9b3694e443
Merge pull request #4054 from eed3si9n/wip/repl
Fix console, JLine issue
2018-04-03 16:44:42 +01:00
Dale Wijnand d444b6b8ae
Merge pull request #4002 from eed3si9n/wip/opt-delegation-test
add tests around scope delegation
2018-04-03 16:43:09 +01:00
Alistair Johnson cbb953279c Intial implementation of CompositeProject 2018-03-31 20:28:09 +02:00
Eugene Yokota 88f50ce35d Fix console, JLine issue
Fixes #3482
2018-03-30 23:09:01 -04:00
Dale Wijnand 289077a405
Re-introduce Command.process
This was an unnecessary removal in
e83564a6b7.
2018-03-28 16:37:07 +01:00
Dale Wijnand 26c267e29e
Merge pull request #4043 from dwijnand/cleanup/ParseKey
Cleanup test/ParseKey
2018-03-28 16:10:03 +01:00
Dale Wijnand 25988d2256
Cleanup test/ParseKey 2018-03-28 09:04:12 +01:00
Eugene Yokota c2837c7714 Merge branch 'wip/bumpsbt' into wip/merge-1.1.x 2018-03-27 10:16:10 -04:00
Dale Wijnand b0f9fe77b6
Merge pull request #4036 from eed3si9n/wip/fix-startup-log
Fixes -error not suppressing startup logs
2018-03-26 15:28:50 +01:00