Commit Graph

315 Commits

Author SHA1 Message Date
Dale Wijnand 21bd7c3a91 Merge pull request #3434 from eed3si9n/wip/slash
Unify sbt shell and build.sbt syntax (unified slash syntax redux)
2017-09-28 09:26:25 +01: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
Alexey Alekhin 5384114185 Merge branch '1.x' into patch-1 2017-09-26 21:30:04 +02:00
Alexey Alekhin e99aa6d7b3 Added release note for the `version` new default 2017-09-26 01:22:44 +02:00
Jonas Fonseca 3a666705a6 Add release note 2017-09-25 14:08:41 -04:00
Eugene Yokota f21d190a65 `sbt.server.autostart` flag and startServer
Adds JVM flag `sbt.server.autostart` to enable/disable the automatic starting of sbt server with the sbt shell.

This also adds a new command `startServer` to manually start the server.
2017-09-16 03:24:30 -04:00
Eugene Yokota 8dbb00f3b1 notes 2017-09-16 02:37:30 -04:00
eugene yokota caf2fa2cb8 Merge pull request #3523 from guillaumebort/1.0.x
Sbt server could miss some messages
2017-09-15 23:31:13 -04:00
Dale Wijnand 71ae211841
Redefine crossScalaVersions, because it's Def.derive..
Fixes #3495
2017-09-15 16:59:47 +01:00
Guillaume Bort b355aa66e4 Sbt server could miss some messages
If the read buffer contains more that 2 messages, we need to consume them all before blocking on socket read again. For that we have to loop until the buffer does not contain anymore the message delimiter character.

Same problem in the client ServerConnection code.
2017-09-13 13:18:38 +02:00
Eugene Yokota 01e8f609e8 lm 1.0.1 2017-09-10 14:13:51 -04:00
Eugene Yokota 2a014781d6 Mention #3481 2017-08-28 13:23:53 -04:00
Eugene Yokota dd58299472 Fix typo 2017-08-28 12:01:47 -04:00
Eugene Yokota 6c6abc3ae6 1.0.1 notes 2017-08-28 11:54:59 -04:00
eugene yokota ddaa091dec Merge pull request #3442 from dwijnand/sbt-plugin-cross-version
[fport] Fix addSbtPlugin to use the correct version of sbt
2017-08-23 18:37:23 -04:00
Will Sargent 533365d8a4 "dreprecations" 2017-08-15 13:56:35 -07:00
Dale Wijnand a5afc21bf0
Fix addSbtPlugin to use the correct version of sbt
Fixes #3393
2017-08-15 12:13:28 +01:00
Eugene Yokota b4f7312171 Cleans up notes 2017-08-12 01:49:49 -04:00
Eugene Yokota dcff4dd5eb notes 2017-07-28 19:41:19 -04:00
Eugene Yokota 79394da920 notes 2017-07-17 01:00:57 -04:00
Eugene Yokota 2f8d7c2f7a Fixes tests/scala-instance-classloader 2017-07-16 17:50:23 -04:00
Eugene Yokota c279995cdd Fixes source-dependencies / transitive-memberRef 2017-07-16 17:38:58 -04:00
Eugene Yokota cc090344d9 Fixes project/auto-plugins 2017-07-16 17:22:33 -04:00
Eugene Yokota d8929ae135 Fixes dependency-management/pom-advanced 2017-07-16 15:33:35 -04:00
Eugene Yokota 6107242c24 Fixes compiler-project/semantic-errors 2017-07-16 14:43:31 -04:00
Eugene Yokota e1dc83cf08 Fixes compiler-project/macro-config 2017-07-16 14:31:58 -04:00
Eugene Yokota 12ae6e66ff Fixes compiler-project/error-in-invalidated 2017-07-16 14:16:08 -04:00
Eugene Yokota fa67110143 Fixes compiler-project/separate-analysis-per-scala 2017-07-16 14:12:45 -04:00
Eugene Yokota a7bb39d3cb notes 2017-07-16 14:07:59 -04:00
Eugene Yokota 99be5b25f4 Roll back Vector changes in Keys.scala
Keys should Seq type since it's fairly common to use List in build.sbt, and it would cause annoying build changes.
Fixes actions/cross
2017-07-16 13:58:51 -04:00
Eugene Yokota b4e4a48208 Fixes actions/external-doc 2017-07-16 10:19:42 -04:00
Dale Wijnand 0fe0de5fb3
Move the tuple enrichments into sbt.TupleSyntax
This undeprecates the syntax, but at the same times moves it out of
implicit scope, therefore requiring a 'import TupleSyntax._' to opt-in
to the old syntax.
2017-06-27 12:42:46 +01:00
Eugene Yokota f81598c6e9 Fixes test content logger dropping out, or displaying twice
Fixes #3117
2017-06-20 03:04:53 -04:00
Eugene Yokota 94ec0af21a notes change 2017-06-13 18:36:50 -04:00
Dale Wijnand 50ed5ee8fe Link Johannes 2017-05-31 17:48:48 +02:00
Eugene Yokota adb92f6bd9 sbt 1.0.0-M6 notes 2017-05-31 03:56:00 -04:00
eugene yokota d631d7e918 Merge pull request #3224 from eed3si9n/fport/3155
[fport] ScalaTest nested suites reported in JUnit XML reports as  "(It is not a test)"
2017-05-30 10:37:42 -04:00
eugene yokota 9fc9304638 Merge pull request #3223 from eed3si9n/fport/3153
[fport] Remove the "hit [ENTER] to switch to interactive mode" feature
2017-05-27 01:12:15 -04:00
eugene yokota 4d3b910a19 Merge pull request #3221 from eed3si9n/fport/3133
[fport] Port sbt-cross-building's ^ and ^^ commands
2017-05-27 01:12:00 -04:00
James Koch fe72a6e11d Issue #3154 - ScalaTest nested suites reported in JUnit XML reports as "(It is not a test)". 2017-05-27 00:18:40 -04:00
Eugene Yokota 0e979b4a3a Port sbt-cross-building's ^ and ^^ commands
This ports sbt-cross-building's cross (`^`) and switch (`^^`) commands.
Instead of making it a plugin, the default settings are now changed
to use `sbtVersion in pluginCrossBuild` for the sbt dependency.
2017-05-27 00:15:03 -04:00
Dale Wijnand e4be5f4a09 Remove the "hit [ENTER] to switch to interactive mode" feature
In sbt 0.13.15, in addition to notifying the user about the existence of
sbt's shell, a feature was added to allow the user to switch to sbt's
shell - a more pro-active approach to just displaying a message.

Unfortunately sbt is often unintentionally invoked in shell scripts in
"interactive mode" when no interaction is expected by, for exmaple,
invoking `sbt package` instead of `sbt package < /dev/null`. In that
case hitting [ENTER] would silently trigger sbt to run its shell,
easily wrecking the script. In addition to that I was unhappy with the
implementation as it created a tight coupling between sbt's command
processing abstraction to sbt's shell command.

If you want to stay in sbt's shell after running a task like `package`
then invoke sbt like so:

    sbt package shell

Fixes #3091
2017-05-26 21:42:41 -04:00
Dale Wijnand b54c0ff059 Notify users about shell only if compile is present
This is a change in strategy.

The motivation is the need to find a good balance between:

  + informing the uninformed that would benefit from this information, &
  + not spamming the already informed

Making it dependent on "compile" being present in remainingCommands will
probably make it trigger for, for example, Maven users who are used to
running "mvn compile" and always run "sbt compile", and who therefore
are unneccesarily suffering terribly slow compile speeds by starting up
the jvm and sbt every time.

Fixes #3091
Fixes #3097
2017-05-26 21:33:49 -04:00
Dale Wijnand 859b334a51
Better toError migration notes [ci skip] 2017-05-16 10:21:14 +01:00
Dale Wijnand 31f61948d6
Add a few more migration notes to 1.0.0 notes 2017-05-08 15:18:36 +01:00
Eugene Yokota ab5e875ce4 notes 2017-04-19 16:15:48 -04:00
Eugene Yokota c6e8cc2e04 Release note for sbt 1.0.0-M5
Ref #3063
2017-04-19 16:02:13 -04:00
eugene yokota 1f02e61819 Merge pull request #3077 from eed3si9n/fport/3008
[fport] Notify & enable users to stay in the warm shell
2017-04-04 20:33:05 -07:00
eugene yokota 43d0013bf7 Merge pull request #3075 from eed3si9n/fport/3025
[fport] Write sbt.version to project/build.properties
2017-04-04 18:21:11 -07:00
Dale Wijnand 1a2bfc546b Notify & enable users to stay in the warm shell
Notify & enable users to stay in sbt's shell on the warm JVM by hitting
[ENTER] while sbt is running.

Looks like this; first I run 'sbt about', then I hit [ENTER]:

    $ sbt about
    [info] !!! Executing in batch mode !!! For better performance, hit [ENTER] to remain in the sbt shell

    [info] Loading global plugins from /Users/dnw/.dotfiles/.sbt/0.13/plugins
    [info] Loading project definition from /s/t/project
    [info] Set current project to t (in build file:/s/t/)
    [info] This is sbt 0.13.14-SNAPSHOT
    [info] The current project is {file:/s/t/}t 0.1.0-SNAPSHOT
    [info] The current project is built against Scala 2.12.1
    [info] Available Plugins: sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.CorePlugin, sbt.plugins.JUnitXmlReportPlugin, sbt.plugins.Giter8TemplatePlugin
    [info] sbt, sbt plugins, and build definitions are using Scala 2.10.6
    >
    >

Fixes #2987
2017-04-04 19:43:28 -04:00