Commit Graph

984 Commits

Author SHA1 Message Date
Jason Steenstra-Pickens 4dc76e2b38 Add dependencyResolution scoped to updateSbtClassifiers task
Fixes #3432
2018-04-06 10:41:31 +12:00
Ethan Atkins 8eb2d7389d Add test for async utest TestSuites
Sometimes when utest runs async tests (i.e. tests that return a future)
the test suite will fail even when none of the individual tests do. This
is due to a data race in sbt. Most, but not all, of the time, this test
will induce that race.
2018-03-21 10:41:41 -07:00
Eugene Yokota e5d2588927 Add test case for number id in JSON-RPC 2018-03-18 02:11:23 +09:00
Dale Wijnand c7cc52092e
Fix how fullClasspath is defined in TestBuildInfo 2018-02-23 13:17:51 +00:00
Dale Wijnand 74ff6aa1ce
Fix another Codacy issue in ServerSpec 2018-02-08 14:16:54 +00:00
Dale Wijnand 639ee220dc Fix Codacy issue in ServerSpec 2018-02-07 18:17:00 -05:00
Eugene Yokota bd0e44c292 start an instance of sbt in the background 2018-02-07 17:49:22 -05:00
Antonio Cunei c310ade9f8 Allow the full tests/fork-parallel to pass on less than four cores
The test will be meaningless on less than four cores, but the
scripted test will pass. On four or more cores, the test wil
test testForkedParallel as expected.

Closes #3545
2018-01-30 23:59:37 +01:00
Antonio Cunei eb0bf30712 Adjustments to test file. Scripted can't cope with empty comments
Apparently an empty comment line, meaning a single '#' on a line,
cannot be fed to scripted, which will complain with an odd error
message.

This commit tweaks the comments in the tests/fork-parallel file
so that there are no empty comment lines.
2017-12-23 05:00:38 +01:00
Antonio Cunei 8c7f93d7a5 Keep tests/fork-parallel disabled, but add an explanation
See https://github.com/sbt/sbt/issues/3545#issuecomment-353247827
2017-12-21 15:25:24 +01:00
Antonio Cunei ab2dfc7ec5 Restore test run/error
This reverts commit 4ac231dd49.
2017-12-14 12:17:41 +01:00
Dale Wijnand 7a8c89effc
Update version to 1.1.0-SNAPSHOT
.. & fix project/cross-plugins-defaults.
2017-12-12 16:27:11 +00:00
Eugene Yokota 824cfdf527 Add header 2017-11-29 17:12:40 -05:00
Eugene Yokota a6eb1260c8 Merge branch '1.0.x' into wip/bump 2017-11-29 16:45:02 -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
Miklos Martin 951c78a4d7 better naming + value class 2017-11-03 06:39:53 +01:00
Miklos Martin 79e75f02e5 add newline 2017-11-03 06:39:53 +01:00
Miklos Martin 8dacb72f9d Fixes #3297 and #3531
Add commandName as an extension method in Command
2017-11-03 06:39:53 +01:00
Dale Wijnand bb6d8d62ec
Merge pull request #3672 from RomanIakovlev/1.x
Add new setting to determine if running in CI env
2017-10-28 00:28:44 +01:00
Roman Iakovlev 69ae4f3073 Add a check for a change in SBT version before reload
Fixes #1055
2017-10-27 20:38:23 +02:00
Roman Iakovlev 5f143434a8 Add new setting to determine if running in CI env
Fixes #3653
2017-10-26 20:59:04 +02:00
Antonio Cunei 24a463cc6b Add scripted test for nested test classes/objects 2017-10-26 02:30:23 +02:00
Dale Wijnand 9f1d60be60
Rewrite to polymorphic function syntax 2017-10-25 10:23:46 +01:00
Dale Wijnand 35c3542492
Get rid of Fn1 2017-10-25 10:21:00 +01:00
PanAeon 64241e0d3a Fixes #3464. Escape imports from sbt files, so if user creates a backquoted definition then task evalution will not fail. 2017-10-13 11:04:15 +01:00
Eugene Yokota 2a6385fd94 Remove thunk for slash syntax
Ref #3606, #3611, and #3613

This removes unnecessary thunk for slash syntax.
The semantics using this approach is strictly better than the previous `in (ref, config, task)`. By removing the thunk, we retain `(a / b) / c == a / b / c`.

See the following example:

```scala
scala> import sbt._, Keys._
scala> val t: TaskKey[Unit] = (test in Test)
t: sbt.TaskKey[Unit] = TaskKey(This / Select(ConfigKey(test)) / This / test)

scala> ThisBuild / t
ThisBuild / t
res1: sbt.TaskKey[Unit] = TaskKey(Select(ThisBuild) / Select(ConfigKey(test)) / This / test)

scala> ThisBuild / t / name
ThisBuild / t / name
res2: sbt.SettingKey[String] = SettingKey(Select(ThisBuild) / Select(ConfigKey(test)) / Select(test) / name)
```

so far so good? Now look at this:

```
scala> scala> name in (ThisBuild, t)
name in (ThisBuild, t)
res3: sbt.SettingKey[String] = SettingKey(Select(ThisBuild) / This / Select(test) / name)
```

`Test` configuration knowledge is lost! For `in (..)` maybe it was ok because mostly we don't use unscoped keys, but that's the difference between `in (..)` and `/`.

Fixes #3605
2017-10-06 15:47:46 -04:00
Dale Wijnand 97ddc1ffb7
Copy the non-runtime parts of project/unified to SlashSyntaxTest 2017-10-06 15:07:17 +01:00
Dale Wijnand a41727fb17
Add, configure & enforce file headers 2017-10-05 09:03:40 +01:00
Eugene Yokota 53bbb99617 Fixes Zero / Zero / Zero / name handling
Prior to this change `Zero / Zero / Zero / name` broke as folllows:

```
scala> Zero / Zero / Zero / name
Zero / Zero / Zero / name
<console>:18: error: inferred type arguments [sbt.Zero.type] do not conform to method /'s type parameter bounds [K <: sbt.SlashSyntax.Key[K]]
       Zero / Zero / Zero / name
                   ^
```
2017-10-05 02:43:50 -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
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 b0306b738e Add whitespaces in Show of scoped keys
```
Provided by:
    ProjectRef(uri("...."), "root") / Test / test
Dependencies:
    Test / executeTests
    Test / test / streams
    Test / state
    Test / test / testResultLogger
```
2017-09-28 03:34:49 -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
Alexey Alekhin 5384114185 Merge branch '1.x' into patch-1 2017-09-26 21:30:04 +02: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
Alexey Alekhin 402b9ef95c Fixed version in the package-delete-target test 2017-09-26 13:13:33 +02:00
Eugene Yokota d5e24979bf Reference token file using URI and full file path
Node didn't seem to like read URI out of the box, and I am not sure if File -> URI -> File conversion is universally accepted.

Ref sbt/sbt#3088
2017-09-25 01:35:49 -04: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 8a8215cf1b Use uri instead of url 2017-09-18 23:07:29 -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 6b8e716428 implement server handshake test 2017-09-16 22:29:58 -04:00
eugene yokota b4744486a8 Merge pull request #3546 from eed3si9n/wip/flaky
Comment out flaky tests
2017-09-15 19:41:42 -04:00
eugene yokota 43538bdbe6 Merge pull request #3526 from dwijnand/crossplusplus
Redefine crossScalaVersions, because it's Def.derive..
2017-09-15 19:09:11 -04:00
Eugene Yokota 3c5aaca15c comment out part of tests/fork-parallel
Ref #3545
2017-09-15 18:50:31 -04:00
Eugene Yokota 4ac231dd49 comment out part of run/error
Ref #3543
2017-09-15 18:48:07 -04:00
Dale Wijnand 71ae211841
Redefine crossScalaVersions, because it's Def.derive..
Fixes #3495
2017-09-15 16:59:47 +01:00
Dale Wijnand 936733b2b1
Cleanup 2017-09-13 16:03:51 +01:00
Dale Wijnand 103e40882f
Fix run's support of directories in the classpath
Fixes #3504
2017-09-13 10:21:41 +01:00