Commit Graph

363 Commits

Author SHA1 Message Date
Dale Wijnand 90cd60f3b9
Merge branch '1.1.x' into merge-1.1.x-into-1.x
* 1.1.x:
  Use Java's redirectInput rather than sys.process's connectInput
  Re-write toolboxClasspath to use sbt-buildinfo
  Cleanup generateToolboxClasspath
  Upgrade to sbt-buildinfo 0.8.0
  Fix how fullClasspath is defined in TestBuildInfo
  delete buildinfo.BuildInfo from sbt main

Conflicts:
	project/plugins.sbt
2018-02-28 10:30:53 +00:00
Dale Wijnand 27fe5a6957
Re-write toolboxClasspath to use sbt-buildinfo 2018-02-23 13:20:19 +00:00
Dale Wijnand 8182741480
Cleanup generateToolboxClasspath 2018-02-23 13:19:07 +00:00
Dale Wijnand edb828a8d7
Upgrade to sbt-buildinfo 0.8.0 2018-02-23 13:19:05 +00:00
Dale Wijnand c7cc52092e
Fix how fullClasspath is defined in TestBuildInfo 2018-02-23 13:17:51 +00:00
xuwei-k c1e0785a1f
delete buildinfo.BuildInfo from sbt main
sbt-buildinfo plugin have `buildInfoScopedSettings(Compile)` in default.
I think it is unnecessary. or we should set "buildinfoPackage in Compile" and "buildinfoObject in Compile"

https://github.com/sbt/sbt-buildinfo/blob/v0.7.0/src/main/scala/sbtbuildinfo/BuildInfoPlugin.scala#L11
2018-02-22 16:46:58 +00:00
eugene yokota e078c126d1
Merge pull request #3964 from sbt/1.1.x
1.1.x
2018-02-21 15:12:44 -05:00
Eugene Yokota 594738bb9c add publishLocalAllModule command 2018-02-21 02:28:33 -05:00
Dale Wijnand 20367938b1
version := "1.2.0-SNAPSHOT" 2018-02-14 14:38:25 +00:00
Dale Wijnand 76e2f550ec
Merge branch '1.1.x' into merge-1.1.x-into-1.x
* 1.1.x:
  Update mimaPreviousArtifacts/sbt.version
  Introduce SBT_GLOBAL_SERVER_DIR env var to override too long paths
  Handle very long socket file paths on UNIX

Conflicts:
	project/build.properties
2018-02-14 14:38:07 +00:00
Dale Wijnand e8d1a30474
Update mimaPreviousArtifacts/sbt.version 2018-02-14 10:53:37 +00:00
Eugene Yokota 3db0e09b33 Merge branch '1.1.x' into wip/1.1.1
# Conflicts:
#	main/src/main/scala/sbt/internal/CommandExchange.scala
#	main/src/main/scala/sbt/internal/ConsoleProject.scala
#	notes/1.0.2/sample.md
#	notes/1.1.1/sample.md
#	notes/sample.md
#	sbt/src/test/scala/sbt/ServerSpec.scala
2018-02-09 23:55:23 -05:00
Eugene Yokota 39d9927179 1.1.2-SNAPSHOT 2018-02-08 13:08:32 -05:00
Eugene Yokota bd0e44c292 start an instance of sbt in the background 2018-02-07 17:49:22 -05:00
Eugene Yokota a2347332ab Use ipcsocket 2018-02-07 17:46:23 -05:00
Dale Wijnand 4f4328748c
Try RunFromSourceBasedRemoteSbtCreator 2018-02-06 14:14:26 +00:00
Eugene Yokota 1f9a8bf310 start an instance of sbt in the background 2018-01-30 23:46:12 -05:00
Eugene Yokota 50f3dd2e20 Use ipcsocket 2018-01-30 23:21:10 -05:00
Dale Wijnand e3f33ddf7d
Merge pull request #3897 from dwijnand/misc
Misc tweaks and cleanups
2018-01-30 13:02:55 +00:00
Dale Wijnand 2f48425511
Remove old zinc addSbtAlternateResolver stuff 2018-01-30 07:29:17 +00:00
Eugene Yokota c20029ce16 Work around package name confusion
This works around the name conflict between sbt.test package and sbt.Keys.test.

1. sbt.test package is renamed to sbt.scriptedtest. This allows 1.0 plugins and builds to use `test` to mean `Keys.test`.
2. To keep binary compatibility for sbt 0.13 scripted, I am adding `sbt.test.ScriptedRunner` and `sbt.test.ScriptedTests` in `scripted-plugin` artifact.
3. Another affected user is Giter8 plugin that uses ScriptedPlugin. Since the intereactions are limited to `sbt.ScriptedPlugin.*`, we should be fine here. - https://github.com/foundweekends/giter8/blob/v0.11.0-M2/plugin/src/main/scala-sbt-1.0/giter8/SBTCompat.scala
2018-01-22 14:03:02 -05:00
Eugene Yokota 08eaba9107 Add SbtPlugin
Fixes #3538

This brings in `sbt.ScriptedPlugin` as `sbt.plugins.ScriptedPlugin` into sbt mothership.
In addition, `sbt.plugins.SbtPlugin` is added that enables the scripted plugin and `sbtPlugin := true`.

This allows plugin authors to bring in scripted plugin by writing:

```scala
lazy val root = (project in file("."))
  .enablePlugins(SbtPlugin)
```
2018-01-22 14:02:06 -05:00
Dale Wijnand c00739ebcd
Fix sbtOn's prompt & echo
This is what it looks like now! 🎉

    > sbtOn /s/t-sbtOn
    [...]
    [info] Running (fork) sbt.RunFromSourceMain /s/t-sbtOn
    Listening for transport dt_socket at address: 5005
    [warn] sbt version mismatch, current: 1.0.3, in build.properties: "1.1.0", use 'reboot' to use the new value.
    [info] Loading settings from idea.sbt,global-plugins.sbt ...
    [info] Loading global plugins from /Users/dnw/.dotfiles/.sbt/1.0/plugins
    [info] Updating ProjectRef(uri("file:/Users/dnw/.sbt/1.0/plugins/"), "global-plugins")...
    [info] Done updating.
    [info] Loading settings from plugins.sbt ...
    [info] Loading project definition from /s/t-sbtOn/project
    [info] Updating ProjectRef(uri("file:/s/t-sbtOn/project/"), "t-sbton-build")...
    [info] Done updating.
    [info] Loading settings from build.sbt ...
    [info] Set current project to t (in build file:/s/t-sbtOn/)
    [info] sbt server started at local:///Users/dnw/.sbt/1.0/server/2c27eaf4c750902a3a41/sock
    > show baseDirectory
    [info] /s/t-sbtOn
    > exit
    [info] shutting down server
    [success] Total time: 34 s, completed 16-Jan-2018 14:37:32
    > Exception in thread "Thread-17" java.io.IOException: Stream closed
    	at java.lang.ProcessBuilder$NullOutputStream.write(ProcessBuilder.java:433)
    	at java.io.OutputStream.write(OutputStream.java:116)
    	at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
    	at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
    	at java.io.FilterOutputStream.close(FilterOutputStream.java:158)
    	at scala.sys.process.BasicIO$.$anonfun$input$1(BasicIO.scala:200)
    	at scala.sys.process.BasicIO$.$anonfun$input$1$adapted(BasicIO.scala:198)
    	at scala.sys.process.ProcessBuilderImpl$Simple.$anonfun$run$2(ProcessBuilderImpl.scala:75)
    	at scala.sys.process.ProcessImpl$Spawn$$anon$1.run(ProcessImpl.scala:23)

    > show {.}/baseDirectory
    [...]
    [info] ThisBuild / baseDirectory
    [info] 	/d/sbt
2018-01-16 14:40:03 +00:00
Eugene Yokota e58b303297 1.1.1-SNAPSHOT 2018-01-13 03:27:11 -05:00
Dale Wijnand cdba3e6bea
Add, configure & enforce sbt-whitesource 2018-01-11 14:13:21 +00:00
xuwei-k 57caee6152
update mimaPreviousArtifacts. add sbt 1.1.0 2018-01-10 15:46:14 +00:00
xuwei-k afd214d4b0 update mimaPreviousArtifacts. add sbt 1.1.0 2018-01-10 12:48:07 +09:00
Dale Wijnand 907fc2615b
Merge pull request #3839 from xuwei-k/delete-build-info
delete "buildinfo.BuildInfo" from sbt main
2018-01-09 14:30:07 +00:00
Dale Wijnand a0b27d29b7
Merge pull request #3854 from sbt/1.1.x
1.1.x
2018-01-08 11:16:26 +00:00
xuwei-k 7ff88a3e51 delete buildinfo.BuildInfo from sbt main
sbt-buildinfo plugin have `buildInfoScopedSettings(Compile)` in default.
I think it is unnecessary. or we should set "buildinfoPackage in Compile" and "buildinfoObject in Compile"

https://github.com/sbt/sbt-buildinfo/blob/v0.7.0/src/main/scala/sbtbuildinfo/BuildInfoPlugin.scala#L11
2018-01-08 14:50:42 +09:00
Eugene Yokota 13e1862c2f set jna.nosys to true programmatically
Previously I was seeing the error upon the first scripted test. I thought it was because Main was somehow not early enough. It might just be because scripted technically runs as part of the build.

Ref sbt/io#110
2017-12-21 00:08:56 -05:00
eugene yokota 34d311f9ce
Merge pull request #3807 from dwijnand/remove-warnings
Remove warnings
2017-12-19 13:18:59 -05:00
Eugene Yokota 3507403a36 -Djna.nosys=true 2017-12-19 02:46:46 -05:00
Eugene Yokota 294110e2b8 Remove JNA from sbt/sbt
There's a conflict in JNA version difference between sbt and IO.

Fixes #3821
2017-12-19 00:44:31 -05:00
Eugene Yokota c920919c2c Fix build so it works on Windows 2017-12-19 00:17:46 -05:00
Dale Wijnand a90832b593
Remove all warnings from mainProj 2017-12-14 15:40:03 +00:00
Dale Wijnand f50260218d
Remove all warnings from actionsProj 2017-12-14 13:19:23 +00:00
Dale Wijnand 4248f5a0af
Merge pull request #3809 from dwijnand/update-mimaPreviousArtifacts-1.1.x
update mimaPreviousArtifacts (in the 1.1.x branch)
2017-12-13 22:06:46 +00:00
Dale Wijnand 7a8c89effc
Update version to 1.1.0-SNAPSHOT
.. & fix project/cross-plugins-defaults.
2017-12-12 16:27:11 +00:00
Dale Wijnand 5d99bea89f
Remove all warnings from coreMacrosProj 2017-12-12 13:02:20 +00:00
Dale Wijnand b4c5d9de31
Remove all warnings from protocolProj 2017-12-12 13:02:20 +00:00
Dale Wijnand 4a5ff4fc0d
Remove all warnings from completeProj 2017-12-12 13:02:19 +00:00
Dale Wijnand b80a6b217b
Remove all warnings from collectionProj 2017-12-12 13:02:18 +00:00
kenji yoshida 8323609053 update mimaPreviousArtifacts 2017-12-05 16:43:40 +09:00
Eugene Yokota a6eb1260c8 Merge branch '1.0.x' into wip/bump 2017-11-29 16:45:02 -05:00
wpopielarski 73b0034cfc textDocument/definition for LSP / VS Code
This is an implementation of `textDocument/definition` request.
Supports types only, and only in case when type is found in Zinc Analysis. When source(s) are found then editor opens potential source(s).
This simple implementation does not use semantic data.

During the processing of `textDocument/didSave`, we will start collecting the location of Analysis files via `lspCollectAnalyses`.
Later on, when the user asked for `textDocument/definition`, sbt server will invoke a Future call to lspDefinition, which direct reads the files to locate the definition of a class.
2017-11-28 13:27:07 -05:00
Dale Wijnand 9c32c16ade
Create RunFromSourceMain & "sbtOn" command 2017-11-28 17:27:02 +00:00
Eugene Yokota f785750fc4 IPC Unix domain socket for sbt server
In addition to TCP, this adds sbt server support for IPC (interprocess communication) using Unix domain socket and Windows named pipe.

The use of Unix domain socket has performance and security benefits.
2017-11-27 21:37:31 -05:00
OlegYch f761dab63e Don't fail loading the build if npm is missing or we are on Windows 2017-10-29 16:37:53 +03:00
Dale Wijnand 9f1d60be60
Rewrite to polymorphic function syntax 2017-10-25 10:23:46 +01:00
Dale Wijnand fb17cc393f
Rewrite to inline syntax 2017-10-25 10:22:48 +01:00
Dale Wijnand c39e9af68c
Add kind-projector 2017-10-25 10:22:48 +01:00
Dale Wijnand 35c3542492
Get rid of Fn1 2017-10-25 10:21:00 +01:00
eugene yokota 8eb5879101 Merge pull request #3659 from eed3si9n/wip/reboot
Adds "reboot dev"
2017-10-25 04:06:59 -04:00
Eugene Yokota 6ac4571197 Adds "reboot dev"
This adds a new option `dev` to the `reboot` command, which deletes the only the current sbt artifacts from the boot directory. `reboot dev` reads actively from `build.properties` instead of using the current state since `reboot` can restart into another sbt version.

In general, `reboot dev` is intended for the local development of sbt.

Fixes #3590
2017-10-25 03:19:10 -04:00
Dale Wijnand e0d8079083
Scalafmt 1.3, sbt-scalafmt 1.14 2017-10-24 12:23:37 +01:00
Antonio Cunei 96b476f136 Print npm output, handle exit code in case of errors 2017-10-06 02:26:59 +02:00
Dale Wijnand f4b2fc4228
Correct handling of resolving ThisProject
In ca71b4b902 I went about fixing the
inexhaustive matching in Scope's resolveProjectBuild and
resolveProjectRef. Looking back the change was wrong.

For resolveProjectBuild the new implementation is less wrong, but still
not great, seeing as it doesn't actually do any build resolving.

For resolveProjectRef the new implementation now blows up instead of
lies. Which means it's less leneant, more "fail-fast".

isProjectThis is unused; remnant of the pre-AutoPlugin days when build
settings where defined in Plugin.settings.
2017-10-05 19:00:48 +01:00
Dale Wijnand a41727fb17
Add, configure & enforce file headers 2017-10-05 09:03:40 +01:00
Eugene Yokota 5d7641ee18 Filtering out mima issues 2017-10-02 15:52:02 -04:00
Eugene Yokota 0c1c380f71 begins language server protocol
This is the first cut for the Language Server Protocol on top of server that is still work in progress.

With this change, sbt is able to invoke `compile` task on saving files in VS Code.
2017-10-02 04:01:13 -04:00
Eugene Yokota 33a01f3ceb Unified slash syntax
Fixes sbt/sbt#1812

This adds unified slash syntax for both sbt shell and the build.sbt DSL.
Instead of the current `<project-id>/config:intask::key`,
this adds `<project-id>/<config-ident>/intask/key` where <config-ident> is the Scala identifier notation for the configurations like `Compile` and `Test`.

This also adds a series of implicits called `SlashSyntax` that adds `/` operators to project refererences, configuration, and keys such that the same syntax works in build.sbt.

These examples work for both from the shell and in build.sbt.

    Global / cancelable
    ThisBuild / scalaVersion
    Test / test
    root / Compile / compile / scalacOptions
    ProjectRef(uri("file:/xxx/helloworld/"),"root")/Compile/scalacOptions
    Zero / Zero / name

The inspect command now outputs something that can be copy-pasted:

    > inspect compile
    [info] Task: sbt.inc.Analysis
    [info] Description:
    [info] 	Compiles sources.
    [info] Provided by:
    [info] 	ProjectRef(uri("file:/xxx/helloworld/"),"root")/Compile/compile
    [info] Defined at:
    [info] 	(sbt.Defaults) Defaults.scala:326
    [info] Dependencies:
    [info] 	Compile/manipulateBytecode
    [info] 	Compile/incCompileSetup
    [info] Reverse dependencies:
    [info] 	Compile/printWarnings
    [info] 	Compile/products
    [info] 	Compile/discoveredSbtPlugins
    [info] 	Compile/discoveredMainClasses
    [info] Delegates:
    [info] 	Compile/compile
    [info] 	compile
    [info] 	ThisBuild/Compile/compile
    [info] 	ThisBuild/compile
    [info] 	Zero/Compile/compile
    [info] 	Global/compile
    [info] Related:
    [info] 	Test/compile
2017-09-28 01:01:43 -04:00
Dale Wijnand 67d1da48f1 Merge pull request #3566 from jonas/scripted-skip-1.0
Fix #3564: Filter scripted tests based on project/build.properties
2017-09-26 14:34:24 +01:00
Eugene Yokota 348a077797 implement tokenfile authentication 2017-09-21 23:05:48 -04:00
Jonas Fonseca 62a1d42c55 Fix #3564: Filter scripted tests based on project/build.properties
Skip scripted tests where the binary version configured in the build
does not match the binary version of sbt used for cross-building.
2017-09-21 00:27:21 -04:00
Eugene Yokota 9d40404915 JSON port file
This implements JSON-based port file. Thoughout the lifetime of the sbt server there will be `cwd / "project" / "target" / "active.json"`, which contains `url` field.

Using this `url` the potential client, such as IDEs can find out which port number to hit.

Ref #3508
2017-09-17 19:19:56 -04:00
Eugene Yokota 182b8296da 1.0.3-SNAPSHOT 2017-09-16 15:52:58 -04:00
Dale Wijnand 498ef3652b
Set version to 1.0.2-SNAPSHOT 2017-09-11 14:45:14 +01:00
Eugene Yokota afd5ff03f8 WatchSource = sbt.internal.io.Source
Ref #3438
2017-08-28 00:56:27 -04:00
Eugene Yokota 12be2e28a6 Use sbt 1.0.0 2017-08-26 14:40:58 -04:00
Dale Wijnand 4f0d2f9ffd
Scalafmt 1.2.0 2017-08-14 15:47:52 +01:00
eugene yokota 51570a3771 Merge pull request #3418 from dwijnand/scalafmt
Add back, re-configure & re-enable Scalafmt
2017-08-13 20:29:46 -04:00
Dale Wijnand 805b76f3d4
Add back, re-configure & re-enable Scalafmt 2017-08-10 16:35:23 +01:00
Eugene Yokota a100b47fcc 1.0.1-SNAPSHOT 2017-08-10 01:27:24 -04:00
Dale Wijnand deae720bf1
Bump mimaPreviousArtifacts to 1.0.0-RC3 2017-07-31 11:50:27 +01:00
Eugene Yokota d1a950868f Use LM API for cached update task
Fixes sbt/sbt#3326
2017-07-28 17:55:49 -04:00
Eugene Yokota 5768ad2468 Log4j 2 SLF4J Binding
Fixes sbt/sbt#3333
2017-07-28 01:00:47 -04:00
Dale Wijnand c103950b10
Add, configure & enable MiMa 2017-07-26 14:14:04 +01:00
Eugene Yokota 7b2b7d696b Don't wrap InputStream for Windows
Ref #3282

We used to wrap InputStream so it will inject Thread.sleep, which then allows the thread to be cancelled, emulating a non-blocking readLine. This trick doesn't seem to work for Windows.
For non-Cygwin, actually just removing the wrapping does the job, but I couldn't get it to work for Cygwin.

To test, run some command via network, and then type `show name` into the terminal. On Cygwin, it will not respond.
2017-07-22 03:34:10 -04:00
Eugene Yokota b2220fe9d4
sbt 1.0.0-RC2 2017-07-20 06:56:37 +01:00
Martin Duhem 347914191a Adapt to new library management API 2017-07-15 18:09:40 -04:00
Dale Wijnand 9494967e05
Upgrade util/lm/zinc & config build for util modules
Welcome back home!
2017-07-07 12:11:59 +01:00
Dale Wijnand f63306140e
Format the build 2017-07-07 09:48:48 +01:00
Eugene Yokota efa3b1d340
Bump to latest io, scalajson, sjsonnew, contraband, util, lm, zinc 2017-07-06 11:05:24 +01:00
Eugene Yokota 04f2a04fa4 sbt-scalafmt 1.3 2017-06-16 16:12:37 -04:00
Eugene Yokota d952dbb7ba Fix build to publish M6 2017-05-30 02:44:13 -04:00
Eugene Yokota 06c5ef4208 fix build 2017-05-26 00:59:49 -04:00
jvican 5b7180cfa7
Reorganize test structure for `mainSettings` 2017-05-24 11:27:04 +02:00
jvican fd4bf0e635
Replace previous scalafmt plugin by neo-scalafmt
The previous scalafmt plugin had two problems:

* Caching with Coursier did not work correctly
* It failed after the upgrade to 1.0 in my computer (from a clean fork):

```
[error] (testingProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (runProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (taskProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (stdTaskProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (actionsProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (protocolProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (commandProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (mainSettingsProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (mainProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (sbtProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (scriptedPluginProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (scriptedSbtProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] Total time: 19 s, completed May 24, 2017 10:44:56 AM
```

This commit replaces the previous scalafmt integration by the one
created by Lucidsoftware, big shoutout! (/cc @pauldraper)

https://github.com/lucidsoftware/neo-sbt-scalafmt
2017-05-24 11:15:22 +02:00
jvican e846f72ff3
Tell neg test suite the classpath via sbt 2017-05-24 10:27:51 +02:00
jvican 10c737ae20
Move to `core-macros` and depend on it 2017-05-24 00:16:26 +02:00
jvican d2f019a47a
Reformat all util-appmacro 2017-05-24 00:16:23 +02:00
jvican ed38fcd695
Move `util-appmacro` to sbt as `core-macros`
This commit moves everything behind the old util-appmacro over to
sbt/sbt.

appmacro has been renamed as core-macros. It is indeed the project
that defines the main logic to manipulate macros, and defines interfaces
that are then implemented by main-settings. Because of this strong
relationship between these two modules, I find that they have to stay
together and be able to be modified in one commit. I've realised this
while hacking on the macro changes for the usability of sbt.

The reason for this change is because the logic of this module is really
tight to the implementation of sbt and, I would even say, essentially
define the sbt DSL.
2017-05-24 00:16:21 +02:00
eugene yokota d3ff3fb63a migrate PluginTrigger and ProjectOrigin to Contraband (#3191)
and move TestFramework to a non case class.
2017-05-13 13:01:51 +01:00
Eugene Yokota 3724277704 migrate ForkOptions to Contraband 2017-05-12 05:22:08 -04:00
Dale Wijnand 0b33c195ef
Upgrade the build to sbt 1.0.0-M5
Some plugins remain commented out, for now.

sbt-doge is no longer needed because a variant of it has been folded
into sbt 1.

For some reason scripted requires src/doc jars of sbt, so switch back to
using `publishAll` rather than `publishLocalBinAll`. :(

Also, the sys.prop change in scripted is to force log4j2 to not use a
thread context classloader, and avoid the following:

    ERROR StatusLogger Unable to create custom ContextSelector. Falling back to default.
     java.lang.ClassCastException: Cannot cast org.apache.logging.log4j.core.async.AsyncLoggerContextSelector to org.apache.logging.log4j.core.selector.ContextSelector
    	at java.lang.Class.cast(Class.java:3369)
    	at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOf(LoaderUtil.java:201)
    	at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOfProperty(LoaderUtil.java:226)
    	at org.apache.logging.log4j.core.impl.Log4jContextFactory.createContextSelector(Log4jContextFactory.java:97)
    	at org.apache.logging.log4j.core.impl.Log4jContextFactory.<init>(Log4jContextFactory.java:58)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    	at java.lang.Class.newInstance(Class.java:442)
    	at org.apache.logging.log4j.LogManager.<clinit>(LogManager.java:94)
    	at org.apache.logging.log4j.spi.ThreadContextMapFactory.createThreadContextMap(ThreadContextMapFactory.java:73)
    	at org.apache.logging.log4j.ThreadContext.init(ThreadContext.java:223)
    	at org.apache.logging.log4j.ThreadContext.<clinit>(ThreadContext.java:202)
    	at org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createDefaultInjector(ContextDataInjectorFactory.java:83)
    	at org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createInjector(ContextDataInjectorFactory.java:67)
    	at org.apache.logging.log4j.core.lookup.ContextMapLookup.<init>(ContextMapLookup.java:34)
    	at org.apache.logging.log4j.core.lookup.Interpolator.<init>(Interpolator.java:117)
    	at org.apache.logging.log4j.core.config.AbstractConfiguration.<init>(AbstractConfiguration.java:125)
    	at org.apache.logging.log4j.core.config.DefaultConfiguration.<init>(DefaultConfiguration.java:46)
    	at org.apache.logging.log4j.core.layout.PatternLayout$Builder.build(PatternLayout.java:650)
    	at org.apache.logging.log4j.core.layout.PatternLayout.createDefaultLayout(PatternLayout.java:487)
    	at sbt.internal.util.ConsoleAppender.<init>(ConsoleAppender.scala:245)
    	at sbt.internal.util.ConsoleAppender$.apply(ConsoleAppender.scala:196)
    	at sbt.internal.util.ConsoleLogger.<init>(ConsoleAppender.scala:42)
    	at sbt.internal.util.ConsoleLogger$.apply(ConsoleAppender.scala:34)
    	at sbt.test.ScriptedRunner.run(ScriptedTests.scala:221)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at Scripted$.doScripted(Scripted.scala:125)
    	at $0483e89d182e9d240274$.$anonfun$scriptedTask$5(build.sbt:301)
2017-05-11 09:44:42 +01:00
jvican 272afa9d73
Try another travis structure + build tweaks
I've tried to put together some scripted tests to remove the overhead of
compiling the whole sbt, which is around 3 minutes every time.

This new structure *should* make the scripted tests run faster.

Aside from this, we do some more tweaks:

* Increase memory.
* Fork processes to compile and run (to see if it makes a difference).
* Pass in the server flag to sbt.
2017-05-10 21:40:23 +02:00
jvican 6813eb47af
Up memory for every scripted instance 2017-05-10 21:40:23 +02:00
jvican 628517e60c
Try travis with 3 cores and 725M per instance 2017-05-10 21:40:21 +02:00
jvican 6191f35f1c
Fix java options for scripted
* Remove MaxPermSize from another scripted opts
* Reduce memory of sbt host to 1g instead of 2g
* Add Xms java options to scripted
* Enable parallelism with 512M for sbt tests
* Parallelism + batch mode
2017-05-10 21:40:03 +02:00
jvican e69436adde
Remove `MaxPermSize` since sbt depends on JDK8
FTR:

```
[error] OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=256M; support was removed in 8.0
```
2017-05-10 21:40:01 +02:00
jvican 5ca2e3c87e
Reduce memory of scripted tests + extra
* Remove oversight in error message
* Up the memory limit per scripted instance
2017-05-10 21:39:45 +02:00
Dale Wijnand 55e055fa39
Upgrade to sbt-ghpages 0.6.0 2017-05-08 15:02:32 +01:00
Dale Wijnand ad03595584
Upgrade to sbt-site 1.2.0 2017-05-08 15:02:31 +01:00
Dale Wijnand f9e0dc0a48
Upgrade to sbt-mima 0.1.14 2017-05-08 14:16:35 +01:00
Dale Wijnand d5a10923f8
Drop myProvided from the build
Introduces by Mark in d928047678.

Dropped because Project#copy no longer exists (publically) in sbt 1.

It looks like it might have been added to deal with transitive
dependencies of scala-compiler, possibly JLine. Now it looks like it's
only used by launcher-interface, which has 0 dependencies.
2017-05-08 14:08:40 +01:00
Eugene Yokota da046791e0 Apply Scalafmt formatting 2017-04-21 04:48:31 -04:00
Eugene Yokota 306db4d788 Check for git diff at Travis CI 2017-04-21 03:11:48 -04:00
Eugene Yokota 9d87e6b3d4 Add Scalafmt 2017-04-21 03:11:48 -04:00
jvican fe23df1e52
Fix #3062: Reduce red squiggles in Intellij
This commit fixes most of the red squiggles created by the lack of
analysis of Contraband-generated Scala files. It does not end with all
the red squiggles but it substantially decreases the amount of them.
2017-04-19 07:53:40 +02:00
Dale Wijnand fa487ac8ea
Upgrade from -Ymacro-no-expand to -Ymacro-expand:none 2017-04-13 11:47:59 +01:00
Eugene Yokota 093fc061cc Send testing events to logger 2017-04-01 17:19:45 -04:00
Dale Wijnand 43eec230e6
Switch SettingQueryResponse to JValue, implement JValueFormat 2017-03-27 12:29:41 +01:00
Dale Wijnand b59258c50d
Fix build warnings 2017-03-02 14:44:01 +01:00
Eugene Yokota 958ba4dec8 sbt 1.0 nightly 2017-01-16 11:43:37 -05:00
Eugene Yokota d91df1f189 Adjust to 1.0.x 2017-01-16 08:44:13 -05:00
Eugene Yokota 1b79cb85b6 Safer template resolver
Fixes #2761

With sbt 0.13.13-RC1 rediscovered that the dependency pulled in from
Giter8 was affecting the plugins. To avoid this, this change splits up
the template resolver implementation to another module called
sbt-giter8-resolver, and it will be downloaded using Ivy into
`~/.sbt/0.13/templates/`, and then launched reflectively using Java as
the interface.
2017-01-16 08:44:13 -05:00
Eugene Yokota 73a427c0b8 Adds templateResolvers and `new` command
This adds `new` command, which helps create a new build definition. The
`new` command is extensible via a mechanism called the template
resolver,
which evaluates the arbitrary arguments passed to the command to find
and run a template.

As a reference implementation [Giter8][g8] is provided as follows:

    sbt new eed3si9n/hello.g8

This will run eed3si9n/hello.g8 using Giter8.

  [g8]: http://www.foundweekends.org/giter8/
2017-01-16 08:43:23 -05:00
Eugene Yokota 7ddbd69e53 Use Scala 2.12.1
Bump up the Scala version used by sbt to 2.12.1.
Most changes are migration of the integration tests.
2017-01-15 20:49:14 -05:00
Eugene Yokota 272e733b87 Update to Contraband 2017-01-06 11:27:06 -05:00
Dale Wijnand 7fcfec8b8e
-sbinary/+sjson-new, -datatype/+contraband & upgrades
* start to replace sbinary with sjson-new
* upgrade from sbt/datatype to sbt/contraband
* upgrade and migrate to new sbt modules APIs
2017-01-05 21:59:00 +00:00
Dale Wijnand b917011082
Add props to define source dependencies on io/util/lm/zinc
Use either:

* -Dsbtio.path / -Dsbtutil.path / -Dsbtlm.path / -Dsbtzinc.path on the
  command line, or

* -Dsbtio.path= / sbtutil.path= / sbtlm.path / -Dsbtzinc.path in
  project/local.properties
2016-12-11 12:08:28 +00:00
Dale Wijnand cb2e17a347
Cleanup Dependencies 2016-12-11 12:08:28 +00:00
Eugene Yokota 18233ace05 Using sbt-datatype + sjson-new for JSON serialization 2016-10-27 09:27:41 -04:00
Eugene Yokota e7456b5653 Use the new FullReader 2016-10-27 09:20:06 -04:00
Eugene Yokota f9dd8b73b7 Refactor to abstract listening for command line 2016-10-27 02:42:12 -04:00
Eugene Yokota 649dc0ce3c This is where we can multiplex commands 2016-10-27 02:42:12 -04:00
Johan Andrén 9557107c97 First sloppy stab at an embedded server in sbt 2016-10-27 02:42:12 -04:00
cunei ca53c68b87 Fix to bintray repo 2016-10-07 13:37:25 -05:00
Antonio Cunei 1124a88a50 See sbt #1696 2016-09-26 22:45:24 +02:00
Dale Wijnand 472d28964a Configure scripted to do less
Particularly doesn't compile, package and publish source and doc jars.
2016-09-01 01:14:14 +01:00
Eugene Yokota 5f9e6e4aad Don't use test artifacts from other projects
Fixes #2597
2016-05-12 12:45:09 -04:00
Eugene Yokota d8e763438c Fix POM 2016-05-08 22:26:55 -04:00
Eugene Yokota 426f43f618 Fix bintrayRepository 2016-05-08 15:29:28 -04:00
Eugene Yokota d150825e18 Set crossScalaVersions for sbt 2016-05-08 15:01:00 -04:00
Eugene Yokota a322684cb7 Remove comment per review 2016-05-07 20:31:28 -04:00
Eugene Yokota ee272d780e Reorganize directory structure 2016-05-06 16:01:49 -04:00
eugene yokota 6a9ced8eb6 Merge pull request #2589 from eed3si9n/wip/bumptozinc
[sbt 1.0] Bumping up to Zinc 1.0.0-M1
2016-05-06 05:40:58 -04:00
Eugene Yokota fd7c162ea8 Bumping up dependencies 2016-05-05 14:38:24 -04:00
Martin Duhem c70c9989e5 Upgrade to latest zinc 2016-05-04 16:44:31 +02:00
Eugene Yokota e3d2af9e40 We shouldn't cross publish sbt for backward compatibility
By keeping sbt artifact to be called sbt, the user can try by just
changing the build properties.
2016-05-04 00:09:02 -04:00
Eugene Yokota 0acf05626a Remove external dependencies 2016-05-02 04:17:22 -04:00
Eugene Yokota ab43ec51d8 Adds a scripted test that tests repo override 2016-05-01 03:31:18 -04:00
Eugene Yokota de4fef8a09 Move sbt-maven-resolver out of this repository 2016-04-29 04:08:09 -04:00
Eugene Yokota 3f08158bb6 Bump Scala version to 2.11.8 2016-04-29 04:00:50 -04:00
Eugene Yokota 63ff359aca Implements scriptedBufferLog on sbt build 2016-03-30 23:48:20 -04:00
eugene yokota 05799ca346 Merge pull request #2423 from Duhemm/wip/use-util-scripted
Use scripted engine from sbt/util
2016-02-27 04:28:44 -05:00
Martin Duhem e0dc556dcf Run tests in `otherUnitTests` task 2016-02-24 16:02:22 +01:00
Martin Duhem 9bc50e558e Use scripted engine from sbt/util 2016-01-26 14:51:14 +01:00
Eugene Yokota e31d8a7a0c FPORT: Bumping Scala version to 2.10.6.
Forward-port of #2311.
2016-01-17 02:38:40 +00:00
Dale Wijnand 0429fc82b0 Add sbt-mima. Fixes #2037. 2016-01-16 23:12:17 +00:00
Martin Duhem da6fa75f92 Change binarySbtVersion for maven resolver plugin, fix some builds 2015-09-29 19:16:45 -04:00
Eugene Yokota 51f1aaf429 bump incrementalcompiler to 0.1.0-M1-168cb7a4877917e01917e35b9b82a62afe5c2a01 2015-09-28 22:55:50 -04:00
Martin Duhem 09c322a7b1 Bump version number 2015-09-16 00:19:05 +02:00
Martin Duhem c981abd295 Fix all imports 2015-09-14 14:28:09 +02:00
Eugene Yokota 1b55efaf10 remove unused paths 2015-09-14 03:36:36 -04:00
Eugene Yokota 7132491f6c Rewire to new modules 2015-09-14 03:27:22 -04:00
Dale Wijnand 553dffec39 Upgrade to 0.13.9. 2015-08-19 12:16:03 +01:00
Dale Wijnand a0ac6033f6 Set version to 0.13.10-SNAPSHOT. 2015-08-03 22:18:33 +01:00
eugene yokota 5824ef6d7f Merge pull request #2106 from Duhemm/interface-specific-sources-clean
Find most specific version of compiler interface sources
2015-07-17 10:25:16 -04:00
fkorotkov 4c86117b79 Line content from diagnostic classes if available 2015-07-16 15:23:23 -04:00
Martin Duhem 8ba5b6f90e Don't set `publishMavenStyle := true` for compiler interface 2015-07-16 14:02:25 +02:00
Martin Duhem f3dc2ba282 Revive comment about sbt's build complications 2015-07-16 13:53:10 +02:00
Martin Duhem 90a8423d8e Find most specific version of compiler interface sources
This commit introduces a mechanism that allows sbt to find the most
specific version of the compiler interface sources that exists using
Ivy.

For instance, when asked for a compiler interface for Scala 2.11.8-M2,
sbt will look for sources for:

 - 2.11.8-M2 ;
 - 2.11.8 ;
 - 2.11 ;
 - the default sources.

This commit also modifies the build definition by removing the
precompiled projects and configuring the compiler-interface project so
that it publishes its source artifacts in a Maven-friendly format.
2015-07-16 11:18:48 +02:00
Josh Suereth 4abc8386f2 Merge pull request #2085 from twitter-forks/stuhood/java-static-final-fields-as-singletons
Encode static-final constant fields as Singletons
2015-07-14 12:35:56 -04:00
eugene yokota 67d908a4a6 Merge pull request #2101 from sbt/0.13.9
merge 0.13.9 on 0.13
2015-07-10 16:07:05 -04:00
Pierre DAL-PRA 3ffa333c14 Fix most build warnings 2015-07-10 11:53:48 +02:00
Eugene Yokota 8cde12887e Ref #2068. Scala version bump needs to accompany scala-reflect bump. 2015-07-09 21:20:47 -04:00
Stu Hood a83f5eabf2 Add missing dependency 2015-07-06 11:11:06 -07:00
Eugene Yokota 13c8d00848 Fixes #2043. bintrayRelease is repeated 20x? 2015-06-24 16:56:45 -04:00
Eugene Yokota bc163bbe3e Fix typo 2015-06-20 14:42:26 -04:00
Eugene Yokota 131e99b7c9 Skip process unit tests 2015-06-20 14:21:59 -04:00
Eugene Yokota 60e2057b15 Adds bundledLauncherProj to allProj
This matters when someone tries to locally build sbt from source.
2015-06-20 14:21:59 -04:00
Eugene Yokota 618ac5236a Bumping up Scala version to 2.10.5/2.11.6. Fixes #1980
To pass File => Unit callback across the classloader boundary
I am encoding it as a java.util.List[File] by overriding
 method.
This was needed since Java didn't allow me to cast
from one classloader to the other.
2015-06-19 16:51:39 -04:00
Eugene Yokota 3d90d92dbd Fixes the releasing 2015-06-09 17:20:03 +02:00
Eugene Yokota 72f8606f28 call bintrayRelease on nightly 2015-04-22 00:28:47 -04:00
Eugene Yokota 2da38b92b1 publish nightlies to bintray 2015-04-20 12:51:18 -04:00
Eugene Yokota f4dbdae3c3 publish to bintray 2015-04-20 10:56:37 -04:00
eugene yokota 6b89a134e7 Merge pull request #1946 from dwijnand/rename-root-project-to-sbtRoot
Rename root project to sbtRoot.
2015-04-07 14:50:27 -07:00
Dale Wijnand f4e692ca88 Rename root project to sbtRoot.
This is mostly for IntelliJ IDEA.

Currently IntelliJ IDEA's Scala (and SBT) plugin defines:

* the project name (as seen in the window title and in the "open recent
  project" list) from `name`
* the root module (as seen in the project view and in project structure)
  from `id`
* doesn't use `moduleName` at all

After this change the sbt project is no longer identified as "root".

I was undecided between `sbtRoot` and `sbtRootProj`, and went with the
shorter option. I'm happy to revise this decision.
2015-03-27 01:35:36 +00:00
Dale Wijnand 5c2ec63fa6 Make use of the nicer Project settings syntax in 0.13.8. 2015-03-27 01:19:26 +00:00
Josh Suereth 74a9c047f8 Merge pull request #1938 from sbt/wip/launcher-as-module
Removing launcher in favor of re-wrapping sbt/launcher module
2015-03-26 08:13:46 -04:00
Josh Suereth 004a557c37 Remove unused proguard configuration. 2015-03-24 18:37:57 -04:00
Josh Suereth a28663f06d fix launcher re-publication.
* The rebundled sbt launcher is now pushed into the old location again.
2015-03-24 18:32:56 -04:00
Josh Suereth a77a6fbc0b Add sonatype-snapshots resolver to the list for the launcher module snapshots. 2015-03-24 16:16:55 -04:00
Josh Suereth 9380ca02eb Migrate to using the sbt/launcher module, rather than having the code embedded.
* Remove launch/* code/tests, as these are in the sbt/launcher project.
* Create a new project which will resolve launcher module from sonatype-snapshots,
  and repackage it for the currently building version of sbt.
* Remove ComponentManagerTest which was relying DIRECTLY on launcher classes.
  We'll need to reconfigure this shortly to enable the tests again.

Remaining TODOs -

* Update resolvers so people can find the launcher.
* Add ComponentManagerTest back.
* Re-publish the sbt-launch.jar in the location it used to be published.
2015-03-24 16:12:51 -04:00
Josh Suereth 8e0862b011 Start using launcher interface from sbt/launcher module. 2015-03-24 11:14:13 -04:00
Eugene Yokota efd0c5a2e5 0.13.9-SNAPSHOT 2015-03-23 13:27:27 -04:00
Eugene Yokota 80291d95e7 bumping up to 0.13.8 2015-03-20 12:56:39 -04:00
Eugene Yokota b70fa6e0c2 Use pickler to cache UpdateReport for update task. #1763 2015-03-09 21:22:58 -04:00
Eugene Yokota ef1ec99bd0 Implement pickler for UpdateReport. #1763 2015-03-09 21:22:57 -04:00
Eugene Yokota 720e982507 Remove "so clean" 2015-03-09 12:57:52 -04:00
Eugene Yokota c384d6c2e4 Fixing precompiled and nightly build
We noticed that -SNAPSHOT is being published as our nightly.
This is because "wow" command (or ++) does not replay version injected
by stamp-version.
2015-02-25 12:31:21 -05:00
Eugene Yokota 4e3f614fd5 Adds release-nightly command 2015-02-20 21:09:43 -05:00
Eugene Yokota 2c82d339d7 Fix nightly publishing location by demoting publish-status to ThisBuild 2015-02-17 23:43:09 -05:00
Eugene Yokota ebfece10b9 Exclude precompiled from doc 2015-02-17 13:45:51 -05:00
Eugene Yokota 989446fbe6 Revert "remove precompiled compiler bridges"
This reverts commit f2e5d48b6b.
2015-02-17 13:33:54 -05:00
Eugene Yokota 8dbed8ad88 Split proguarded launcher out to a subproject 2015-02-06 14:40:19 -05:00
Eugene Yokota ea9e6b0a73 Fix stamp-version for nightlies 2015-02-06 14:40:19 -05:00
Eugene Yokota f2e5d48b6b remove precompiled compiler bridges
- Scala 2.8.x or 2.9.x are no longer used that often.
- Precompiled is a cross build liability as sbt (2.10.4) depends on 2.8.x/2.9.x code.
- Scripted test was modified to check 2.8 and 2.9 compilation
2015-02-03 19:36:45 -05:00