Commit Graph

4689 Commits

Author SHA1 Message Date
Eugene Yokota 620a49bb0c Improve deprecation message 2016-10-14 14:42:38 -04:00
Eugene Yokota cfac453c07 Add "-deprecattion" flag to metabuild
Fixes #2783
Ref #2716

`build.sbt` is treated a Scala source of metabuild, so to enable
deprecation flag on build.sbt we set the option here.
2016-10-14 14:19:53 -04:00
Eugene Yokota 81284081e2 Use non-deprecated constructor 2016-10-14 14:15:05 -04:00
Eugene Yokota 6ad545efea Move deprecation warnings to macro body
Ref #2783
2016-10-14 14:12:37 -04:00
eugene yokota a6cfb528c9 Merge pull request #2780 from eed3si9n/wip/template_resolver
Safer template resolver
2016-10-13 22:29:40 -04:00
Eugene Yokota f1055c79df Remove unused match 2016-10-13 18:15:54 -04:00
Eugene Yokota 4e09e9ef68 Refactoring per review 2016-10-13 18:12:40 -04:00
Eugene Yokota 9430a1e1f8 Machine formatting fix 2016-10-13 00:50:42 -04:00
Eugene Yokota a1d972bb66 Remove dependencyOverrides 2016-10-13 00:49:06 -04:00
Eugene Yokota 6f3bbed47e 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.
2016-10-12 20:06:10 -04:00
Miles Sabin 0dfd40972d Added CrossVersion.patch which strips off -bin-suffix. (#2757) 2016-09-29 01:42:59 +01:00
Dale Wijnand f860d5ef31 Recycle classloaders to be anti-hostile to JIT: Notes (#2756) 2016-09-27 23:26:24 +01:00
eugene yokota 9598884104 Merge pull request #2755 from dwijnand/show-seq-0.13
[0.13.13] Improve `show` when key returns a `Seq`
2016-09-27 18:08:31 -04:00
Eugene Yokota 272ada1e74
Improve `show` when key returns a `Seq`
This changes the output to:

```
> show externalDependencyClasspath
[info] Updating {file:/xxx/hello/}root...
[info] Resolving jline#jline;2.12.1 ...
[info] Done updating.
[info] *
Attributed(/Users/xxx/.sbt/boot/scala-2.11.8/lib/scala-library.jar)
[info] *
Attributed(/Users/xxx/.ivy2/cache/commons-io/commons-io/jars/commons-io-
2.4.jar)
```
2016-09-27 14:23:53 +01:00
eugene yokota b4bc9f13fb Merge pull request #2754 from retronym/ticket/SD-232-2
SD-232 Recycle classloaders to be anti-hostile to JIT
2016-09-26 18:53:12 -04:00
Dale Wijnand 06cdefebb9 Replace var/set with withClassLoaderCache 2016-09-26 19:32:11 +10:00
Jason Zaugg 5005abfef2 SD-232 Recycle classloaders to be anti-hostile to JIT.
The compiler interface subclasses `scala.tools.nsc.Global`,
and loading this new subclass before each `compile` task forces
HotSpot JIT to deoptimize larges swathes of compiled code. It's
a bit like SBT has rigged the dice to always descend the longest
ladder in a game of Snakes and Ladders.

The slowdown seems to be larger with Scala 2.12. There are a number
of variables at play, but I think the main factor here is that
we now rely on JIT to devirtualize calls to final methods in traits
whereas we used to emit static calls. JIT does a good job at this,
so long as classloading doesn't undo that good work.

This commit extends the existing `ClassLoaderCache` to encompass
the classloader that includes the compiler interface JAR. I've
resorted to adding a var to `AnalyzingCompiler` to inject the
dependency to get the cache to the spot I need it without binary
incompatible changes to the intervening method signatures.
2016-09-26 14:49:47 +10:00
Dale Wijnand f3434a149f
Bump version in launchconfig to 0.13.13-RC2 2016-09-22 16:43:10 +01:00
Dale Wijnand 682d91c3c6
Add sbt-pgp, required by publishSigned in release-sbt 2016-09-22 16:42:54 +01:00
Dale Wijnand 86670caf37 Add back addPluginResolvers (#2749)
See https://github.com/sbt/sbt/pull/2715/files#r79729382
2016-09-22 13:35:03 +01:00
Eugene Yokota 4b6c0196e6 launchconfig 2016-09-16 03:15:38 -04:00
Eugene Yokota 1ed546d567 notes 2016-09-16 02:46:24 -04:00
eugene yokota 79b0fbbc56 Merge pull request #2746 from dwijnand/scalas-silent
Silent startup for scalas
2016-09-15 21:40:21 -04:00
Eugene Yokota d945925d0e
Silent startup for scalas
Fixes #840
2016-09-15 22:08:56 +01:00
eugene yokota a572af00b7 Merge pull request #2745 from dwijnand/0.13.13-notes
Hand merge notes, with my own tweaks
2016-09-15 16:19:15 -04:00
eugene yokota dea72b6471 Launcher fixes notes 2016-09-15 16:17:24 -04:00
eugene yokota dddbc8491e Update 0.13.13.markdown 2016-09-15 15:49:59 -04:00
eugene yokota cb9ac64ba4 Use third-person singular on the bullet points 2016-09-15 15:43:59 -04:00
Dale Wijnand 29c23eaaae
Hand merge notes, with my own tweaks 2016-09-15 13:19:01 +01:00
Dale Wijnand 8f2a5a659a Merge pull request #2742 from eed3si9n/wip/early2
[sbt 0.13] Rename early command to `early(command)`
2016-09-15 11:22:16 +01:00
Eugene Yokota ee718e8700 Rename early command to `early(command)`
Backports #2741, Fixes #1041

e93c445 added a feature called early command, which uses `--` as a
prefix to denote some commands that runs ahead of session loading.
While the feature might be useful especially for logging, `--` is too
useful just for this purpose.

In addition, this adds log level commands with single `-`, such as
-error to treat them as early commands; and keeps `--` variant for log
level for backward compatibility.
2016-09-15 03:06:12 -04:00
Eugene Yokota 5cc4f2fadb Use jEnv 2016-09-15 02:56:10 -04:00
Dale Wijnand 4fa4bda69f Merge pull request #2738 from eed3si9n/wip/extra_rename
Rename to extraProjects/derivedProjects
2016-09-15 07:12:26 +01:00
Eugene Yokota d1214bd823 jEnv 2016-09-14 20:09:25 -04:00
Eugene Yokota 675f70fd85 Rename to extraProjects/derivedProjects
Ref #2717
2016-09-14 20:09:16 -04:00
eugene yokota 0a13ac1231 Merge pull request #2730 from dwijnand/wip/forked_test
Fail when the forked test harness fails
2016-09-05 14:19:11 -04:00
eugene yokota 40b0b828e5 Merge pull request #2731 from dwijnand/wildcard-exclusions
Support wildcard exclusions
2016-09-05 14:15:41 -04:00
Dale Wijnand c6527b0665 Test throwing in Test#execute too 2016-09-02 15:39:09 +01:00
Dale Wijnand 6a26bb2fb6 Return a better forked test harness failure message 2016-09-02 14:19:42 +01:00
Jaroslaw Grabowski cfe3b801e1 Support wildcard exclusions in maven resolver
The idea here is that if a dependency contains exclude with wildcards
than it is inTransitive.
2016-09-02 12:20:22 +01:00
Jaroslaw Grabowski 4cdbafadbf Add failing transitive wildcard dependency test 2016-09-02 12:17:29 +01:00
Eugene Yokota 254c615f36 Fail when the forked test harness fails
Fixes #2442/#2722
2016-09-02 11:59:30 +01:00
Dale Wijnand 84cb5e3a86 Add another fork-uncaught scripted test
Originally from https://github.com/retronym/sbt-test-fork-swallows-error
2016-09-02 11:40:47 +01:00
eugene yokota 16a6906826 Deprecate the old operators `<<=`, `<+=`, and `<++=` (#2716)
* Backport style changes in tests and Defaults.scala

This backports the scripted tests and Defaults.scala style changes to
use `build.sbt` and `:=`.

* Fix backport

* 	Deprecate the old operators `<<=`, `<+=`, and `<++=`

The no-longer-documented operators `<<=`, `<+=`, and `<++=` are
deprecated in anticipation of the removal in sbt 1.0. Ref #2711

For `<<=`, the suggested migration would be to use either `:=` or `~=`
operators. The RHS of `<<=` takes an `Initialize[_]` expression, which
can be converted to `:=` style by wrapping the expression in
parenthesis, and calling `.value` at the end.
2016-08-29 21:15:13 +02:00
eugene yokota cd216a2758 Backport style changes in scripted tests and Defaults.scala (#2715)
* Backport style changes in tests and Defaults.scala

This backports the scripted tests and Defaults.scala style changes to
use `build.sbt` and `:=`.
2016-08-29 21:14:39 +02:00
eugene yokota d0ce0cef49 Merge pull request #2717 from eed3si9n/wip/plugin
Add buildExtras and projectExtras
2016-08-27 15:03:27 -04:00
Eugene Yokota 0fab1181c4 Add buildExtras and projectExtras. Fixes #2532
This adds support to generate synthetic subprojects from an auto plugin.

In addition, a method called `projectOrigin` is added to distinguish
Organic, BuildExtra, ProjectExtra, and GenericRoot.
2016-08-27 07:31:51 -04:00
eugene yokota 6631456eff Deprecate .value extension method from input tasks (#2709)
Calling the `.value` method on an input task returns `InputTask[A]`, which is completely unintuitive. I think it's basically a bug in `.value`. This change deprecates the `.value` call on input tasks, in preparation to the removal in sbt 1.0.

In most cases `.evaluated` should be called, which returns `A` by evaluating the task. Just in case `InputTask[A]` is needed, `inputTaskValue` method is now provided.

One of the motivation for doing this now is the deprecation of old operators `<<=`, which forces more users to convert to the `:=` style and potentially run into the `.value` behavior.
2016-08-26 14:44:49 -04:00
eugene yokota 239549617b Merge pull request #2708 from Duhemm/wip/fix-2707
Fix key selection for build level keys
2016-08-26 01:06:32 -04:00
Martin Duhem 5ed3ce7279 Scripted test for build level keys. 2016-08-25 15:59:43 +02:00