Commit Graph

1726 Commits

Author SHA1 Message Date
Dale Wijnand 6d3129dcb7 Try communicating in actual English 2017-04-04 19:44:26 -04:00
Dale Wijnand 7b4a349d5b Instruct how to get into interactive mode directly 2017-04-04 19:44:18 -04:00
Dale Wijnand f5d7c384a4 Switch from log.info and !!! to log.warn
Good idea, Lars. Thanks.
2017-04-04 19:43:55 -04: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
Eugene Yokota 6606958d40 Add { for readability 2017-04-04 18:49:37 -04:00
Dale Wijnand 7ac43c5e59 Tell the user we're setting sbt.version 2017-04-04 18:47:52 -04:00
Dale Wijnand cd63c1f844 Add -Dsbt.skip.version.write=true opt-out 2017-04-04 18:47:43 -04:00
Dale Wijnand a974ce7bb4 Write sbt.version to project/build.properties
Have sbt.version set in project/build.properties is a best practice
because it makes the build more deterministic and reproducible.

With this change sbt, after ensuring that the base directory is probably
an sbt project, writes out sbt.version in project/build.properties if it
is missing.

Fixes #754
2017-04-04 18:46:24 -04:00
Guillaume Martres 2283c68031 Automatically choose proper compiler bridge for dotty
Before this commit, using dotty in your sbt project required to add:
  scalaCompilerBridgeSource := ("ch.epfl.lamp" % "dotty-sbt-bridge" %
    scalaVersion.value % "component").sources()
in your build.sbt. We might as well automatically do this, this reduces
the boilerplate for using dotty in your project to:
  scalaOrganization := "ch.epfl.lamp"
  scalaVersion := "0.1.1-SNAPSHOT"
  scalaBinaryVersion := "2.11" // dotty itself is only published as a
                               // 2.11 artefact currently
2017-04-04 14:49:32 -04:00
Dale Wijnand 4a6feb2b23
Switch Defaults.runnerTask back to a setting
I believe this was an unintentional change in
74cfbd4a9c.
2017-04-04 11:48:45 +01:00
Dale Wijnand 1020405d64 Merge pull request #3068 from dwijnand/kill-settingsSet
Kill settingsSets
2017-04-04 11:32:37 +01:00
Dale Wijnand 101187a3be
Kill settingsSets
Fixes #2617
2017-04-04 08:38:44 +01:00
Eugene Yokota 304d167813 Send ObjectEvent as JSON 2017-04-03 03:17:57 -04:00
Eugene Yokota 093fc061cc Send testing events to logger 2017-04-01 17:19:45 -04:00
Eugene Yokota d6e0fd2f0d Sort the import alphabetically in Defaults 2017-04-01 17:13:28 -04:00
Dale Wijnand 30bf72482b
Add test for a LM type
Use libraryDependencies which is a Seq[ModuleID]
2017-03-27 14:15:12 +01:00
Dale Wijnand 52de082b2e
Add OptJsonWriter to SettingKey 2017-03-27 14:15:11 +01:00
Dale Wijnand 6950a1e061
Use the OptJsonWriter on AttributeKey 2017-03-27 14:15:10 +01:00
Dale Wijnand 63fcca5543
Test setting query functionality 2017-03-27 14:15:10 +01:00
Dale Wijnand 70ac55d0b4
Encode success/failure in setting query response 2017-03-27 14:15:10 +01:00
Dale Wijnand 6211e8d7da
Move some things from terms to imports 2017-03-27 12:29:41 +01:00
Dale Wijnand 43eec230e6
Switch SettingQueryResponse to JValue, implement JValueFormat 2017-03-27 12:29:41 +01:00
Dale Wijnand f2b70de538
Implement a Manifest-based lookup 2017-03-27 12:29:41 +01:00
Dale Wijnand 342fc2cf8f
Commit to the current JsonFormatRegistry. 2017-03-27 12:29:41 +01:00
Dale Wijnand 6e6f66d6d0
Start structure to discover JsonWriter 2017-03-27 12:29:40 +01:00
Dale Wijnand 371f14d9a5
BuildStructure#root is SessionSettings#currentBuild 2017-03-27 12:29:40 +01:00
Dale Wijnand 992b35af3c
Start setup for JSON-format setting values 2017-03-27 12:29:39 +01:00
Dale Wijnand aa69d0d042
Split setting query things out into SettingQuery.scala 2017-03-27 12:29:39 +01:00
Dale Wijnand 4566c615c7
Move setting query things into SettingQuery 2017-03-27 12:29:39 +01:00
Dale Wijnand 8081661a7d
Fix ordering 2017-03-27 12:29:38 +01:00
Dale Wijnand 9f13499bcf
Don't double wrap setting value
Oh the wonderful world of Object#toString
2017-03-27 12:29:38 +01:00
eugene yokota 317085a458 Merge pull request #3031 from eed3si9n/wip/bump_modules
Bump underlying modules to latest
2017-03-23 22:19:53 -07:00
Eugene Yokota 180bdfd129 Bump underlying modules to latest 2017-03-23 12:41:24 -04:00
xuwei-k f04dbe50bf fix typo 2017-03-21 16:45:42 +09:00
xuwei-k 5b00e7326b s/newInstance/getDeclaredConstructor().newInstance()
java.lang.Class#newInstance deprecated since Java 9

http://download.java.net/java/jdk9/docs/api/java/lang/Class.html#newInstance--

```
Deprecated. This method propagates any exception thrown by the nullary constructor, including a checked exception. Use of this method effectively bypasses the compile-time exception checking that would otherwise be performed by the compiler. The Constructor.newInstance method avoids this problem by wrapping any exception thrown by the constructor in a (checked) InvocationTargetException.
The call

 clazz.newInstance()

can be replaced by

 clazz.getDeclaredConstructor().newInstance()

The latter sequence of calls is inferred to be able to throw the additional exception types InvocationTargetException and NoSuchMethodException. Both of these exception types are subclasses of ReflectiveOperationException.
Creates a new instance of the class represented by this Class object. The class is instantiated as if by a new expression with an empty argument list. The class is initialized if it has not already been initialized.
```
2017-03-15 11:53:49 +09:00
eugene yokota c6b593df95 Merge pull request #2990 from valydia/1.0.x
Add logging of the name(s) of build files
2017-03-09 14:46:19 -05:00
eugene yokota 00113e7133 Merge pull request #2962 from ekrich/wip/fix-2551
Fix #2551: scripted mode ignores quotation
2017-03-09 14:45:13 -05:00
Dale Wijnand 5cedfab81e
Bring back global project-axis reference 2017-03-05 13:42:17 +00:00
Dale Wijnand 07e2da9d85
Don't breach responsibility, NetworkChannel
Only depend on BuildStructure and currentBuild, not the whole of State!
2017-03-05 13:42:16 +00:00
Dale Wijnand bf5bc46d3c
Disallow SettingQuery relying on currentProject
Introduce a specialised scopedKeyParser on SettingQuery to redefine the
"projectRef" parser to never match "*" or omitted project refereneces.
2017-03-05 13:42:16 +00:00
Dale Wijnand b282ea51d7
Extract Act.taskKeyExtra 2017-03-05 13:42:15 +00:00
Dale Wijnand f09897ca29
Drop aggregation in querying settings 2017-03-05 13:42:14 +00:00
Dale Wijnand 2efacb8c46
Delete SettingQuery instances we don't need
.. now that there's a copy in the git history
2017-03-05 13:42:14 +00:00
Dale Wijnand d9d741851a
Add and handle GetSetting 2017-03-05 13:42:11 +00:00
Dale Wijnand 164b0fe830
Pass State to NetworkChannel 2017-03-05 13:40:50 +00:00
Dale Wijnand 1ef59759cc
Extract onExecCommand 2017-03-05 13:40:49 +00:00
valydia 047a061812 Add logging of the name(s) of build files
Fixes #1911
2017-03-04 14:13:39 +00:00
Dale Wijnand e67cd6948b
Fix a bunch but not all compile warnings 2017-03-03 01:33:44 +01:00
Eric K Richardson 3c0257d11c Merge branch '1.0.x' into wip/fix-2551 2017-02-14 10:39:24 -05:00
ekrich b97d68a214 Fix #2551: scripted mode ignores quotation 2017-02-14 10:29:58 -05:00
Devis Lucato 9fd3218eff Fix typo on sbtVersion description 2017-02-09 12:13:58 -08:00
Eugene Yokota 57b1b5baa9 Remove sbt.syntax 2017-02-08 02:26:50 -05:00
eugene yokota ba28c00a1a Merge branch '1.0.x' into topic/generators 2017-02-06 16:17:21 -05:00
eugene yokota 6b5f0980e8 Merge pull request #2940 from eed3si9n/wip/2706
[fport] Configurable explicit list of artifacts for Scala binary version check
2017-01-24 12:40:02 -05:00
Dale Wijnand 26a8b0816a Merge pull request #2937 from eed3si9n/wip/notuples
Migrate tuple usage in Defaults.scala to 0.13 build.sbt DSL
2017-01-24 17:18:26 +00:00
Eugene Yokota 51f7d2e24a Adds an Append instance that extracts taskValue
This adds a macro-level hack to support += op for sourceGenerators and resourceGenerators using RHS of Initialize[Task[Seq[File]]].
When the types match up, the macro now calls `.taskValue` automatically.
2017-01-22 22:53:27 -05:00
Eugene Yokota e2c7f58a14 Uncomment JLine.usingTerminal 2017-01-22 13:13:40 -05:00
Roman Iakovlev e8b951c0d1 Review comments for https://github.com/sbt/sbt/pull/2633 2017-01-22 13:10:34 -05:00
Roman Iakovlev 982a7c8724 Add new SBT global setting asciiGraphWidth
This setting controls the maximum width of the ASCII graphs printed
by commands like `inspect tree`. Default value corresponds to the
previously hardcoded value of 40 characters.
2017-01-22 13:06:20 -05:00
Eugene Yokota 6c4cf28202 Fix dependency-management/scala-organization-version-check
No implicit for Append.Value[Vector[String], String] found
2017-01-22 12:57:16 -05:00
Justin Kaeser cfecf1f6b9 avoid IntelliJ marking valid code as erroneous
relative imports and "println _" cause error highlighting in IntelliJ
2017-01-22 12:01:41 -05:00
Miles Sabin 56e843960b Configurable explicit list of artifacts for Scala binary version check 2017-01-22 11:53:45 -05:00
David Perez 618487eb58 New option sbt.task.timings.omit.paths, to produce even cleaner reports. 2017-01-21 18:48:13 -05:00
David Perez 6ab0bc403a Renamed:
sbt.task.timings.shutdown -> sbt.task.timings.on.shutdown
 sbt.task.timings.divider -> sbt.task.timings.unit
2017-01-21 18:48:13 -05:00
David Perez 4f5c5c92a2 Alignment of reported time measuring data 2017-01-21 18:48:13 -05:00
David Perez 70fa960f56 Improved time logging capabilities 2017-01-21 18:48:13 -05:00
David Perez b9c3a56454 Changed logging from error to debug, because it is quite annoying the error message when autocompleting 2017-01-21 18:48:13 -05:00
Eugene Yokota b47f281c6a Migrate tuple notation to 0.13 build.sbt DSL 2017-01-21 10:04:14 -05:00
eugene yokota 605e6047f1 Merge pull request #2936 from eed3si9n/wip/bgrun
Background run
2017-01-20 17:22:40 -05:00
Eugene Yokota 0419098d65 Fix tests/fork-uncaught 2017-01-20 15:13:35 -05:00
Eugene Yokota bf6452f193 Fix actions/run-task 2017-01-20 14:50:37 -05:00
Eugene Yokota 1e960b324c Implement copyClasspath for bgRun
Copies products to the workind directory, and the rest to the serviceTempDir of this service, both wrapped in SHA-1 hash of the file contents. This is intended to mimize the file copying and accumulation of the unused JAR file. Since working directory is wiped out when the background job ends, the product JAR is deleted too. Meanwhile, the rest of the dependencies are cached for the duration of this service.
2017-01-20 13:02:31 -05:00
Eugene Yokota 560c7a1364 Implements fullClasspathAsJars
fullClasspathAsJars forces the behavior as if exportJars has been set to true.
2017-01-20 13:02:31 -05:00
Eugene Yokota 2321648e96 Make sure background jobs are shut down 2017-01-20 13:02:31 -05:00
Eugene Yokota 74cfbd4a9c Implement bgRun based on sbt-core-next 2017-01-20 13:02:31 -05:00
Dale Wijnand e83564a6b7
Move some server pieces from main-command to main 2017-01-20 17:07:25 +00:00
Josh Soref 2791e68d0d spelling: strategy 2017-01-20 08:27:43 +00:00
Josh Soref 65f2d9a3d4 spelling: solely 2017-01-20 08:27:06 +00:00
Josh Soref eee37e1e93 spelling: setting 2017-01-20 08:24:10 +00:00
Josh Soref b2d7525b59 spelling: satisfied 2017-01-20 08:23:43 +00:00
Josh Soref ee13978a46 spelling: represent 2017-01-20 08:22:42 +00:00
Josh Soref 3f8e798505 spelling: plugin 2017-01-20 08:22:11 +00:00
Josh Soref 5dd0946be7 spelling: knowledge 2017-01-20 08:18:43 +00:00
Josh Soref 569b8750f1 spelling: hyphenated 2017-01-20 08:17:11 +00:00
Josh Soref 44d262844c spelling: generate 2017-01-20 08:15:31 +00:00
Josh Soref 3786aff09b spelling: exclusion 2017-01-20 08:14:52 +00:00
Josh Soref 950405f027 spelling: definition 2017-01-20 08:12:30 +00:00
Josh Soref 10c2a28d5d spelling: configuration 2017-01-20 08:11:53 +00:00
Josh Soref ffe0323803 spelling: appended 2017-01-20 08:09:24 +00:00
Eugene Yokota 904069700d Start RelayAppender automatically 2017-01-18 07:04:19 -05:00
Eugene Yokota 569e19d03c Add build-level keys to the tab completion
Fixes #2460
Fixes #2851
Ref #2707, #2708, #2469

Unlike the previous attempts at fixing the handling of build-level
keys, this change does not change the main parsing logic, which uses
`getKey` to retrieve the key from the key map.
The fact that shell worked pre-0.13.11 means that the parsing was ok.

What this changes is just the "example" keys supplied to the parser so
the tab completion works.
2017-01-16 15:39:01 -05:00
Eugene Yokota 4ea2a99c3b Revert "Completion for build-level keys"
This reverts commit e35f9bb11e.
2017-01-16 13:39:21 -05:00
Eugene Yokota 39ad8cfb7d Revert "Unspecified project axis means current project or its build"
This reverts commit 4fea604759.
2017-01-16 13:37:21 -05:00
Eugene Yokota 26bdccd80f Revert "Fix key selection for build level keys"
This reverts commit 60bcc58852.
2017-01-16 13:35:42 -05:00
Eugene Yokota ec2f6c9748 sbt-giter8-resolver 0.1.3 2017-01-16 08:44:13 -05:00
Eugene Yokota d91df1f189 Adjust to 1.0.x 2017-01-16 08:44:13 -05:00
Eugene Yokota b4a1f66aea Remove unused match 2017-01-16 08:44:13 -05:00
Eugene Yokota 2de32ca723 Refactoring per review 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