Commit Graph

285 Commits

Author SHA1 Message Date
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 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
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
Eugene Yokota 254c615f36 Fail when the forked test harness fails
Fixes #2442/#2722
2016-09-02 11:59:30 +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 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
Martin Duhem d9722fa7e4 Notes for #2708 2016-08-24 14:01:34 +02:00
Eugene Yokota 954e744408 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/
2016-08-22 02:38:46 -04:00
xuwei-k b92e5773f7 `aggregate` can now be used inside a .sbt file 2016-07-25 12:07:49 +09:00
Dale Wijnand 83075a90f5 Fixes #2654 Silence macro recompilation info message
As well as add a test for the macro recompilation info message feature.
2016-07-08 01:03:32 +01:00
Eugene Yokota cbcdbf44d3 Notes 2016-06-30 23:37:13 +02:00
Eugene Yokota 1f50eacc50 Notes 2016-06-30 14:34:37 +02:00
Anatoly Fayngelerin 182fc544f0 Merge branch '0.13' into depends-on-build-sbt-two 2016-06-30 08:13:34 -04:00
Eugene Yokota 8004649040 Notes 2016-06-30 13:37:47 +02:00
Anatoly Fayngelerin fcedd17270 dependsOn can now be used inside a .sbt file for a subproject 2016-06-29 17:20:28 -04:00
Eugene Yokota ae58cf342b Fixes merged ModuleID dropping configuration specification. Fixes #2002/#1500
Given a dependency graph such as:

    libraryDependencies += "com.google.guava" % "guava-tests" % "18.0"
    libraryDependencies += "com.google.guava" % "guava-tests" % "18.0"
% "test" classifier "tests"

previous releases of sbt would drop the Test configuration from the
classifier "tests" artifacts, and end up including the test JARs into
the Compile configuration instead of the Test configuration, which
would result in runtime error.

This fix configures the explicit artifacts into the configuration
during merge even when it says `"*"`.
2016-06-12 01:27:19 -04:00
Eugene Yokota ec554f2d9d notes 2016-06-10 12:21:49 -04:00
Miles Sabin e98b2363c2 Override scala organization and version transitively at the Ivy level. Fixes #2286. 2016-06-02 12:07:30 +01:00
ekrich fd5f87e7b4 Add Windows script support and native file extensions on Unix platforms
When running a sbt script, this change lets the user on UNIX and
Windows platforms to use native file extensions like none/.sh or
.bat/.cmd. The code copies the file to the sbt boot/hash/src_managed
directory with a .scala extension.
2016-05-10 12:32:32 -07:00
Eugene Yokota c75a386a82 Adds withIncludeSynthToNameHashing. Ref #2537
Provides a workaround flag `incOptions :=
incOptions.value.withIncludeSynthToNameHashing(true)` for name hashing
not including synthetic methods. This will not be enabled by default in
sbt 0.13. It can also enabled by passing `sbt.inc.include_synth=true`
to JVM.
2016-04-05 22:57:59 -04:00
Dale Wijnand f2f12022a5 Deprecate the Build trait 2016-03-31 16:47:12 +01:00
Martin Duhem 791358abb0 Notes for #2469 2016-02-25 16:09:17 +01:00
Eugene Yokota d281c3561d notes 2016-02-22 02:22:29 -05:00
Eugene Yokota 7ebba1c54e sbt 0.13.11 is the new 0.13.10 2016-02-21 18:50:17 -05:00
Eugene Yokota be69daeb8d Add notes for #2453 2016-02-11 16:32:39 -05:00
Eugene Yokota 9da5fc871b Changed the flag name to "sbt.global.autoimport" per review. 2016-01-26 03:05:30 +09:00
Dale Wijnand 26b9d9c1ab Notes: Collapse an improvement into its fix 2016-01-22 23:19:03 +00:00
Dale Wijnand 8a12edbfa0 Notes: Reword some passages 2016-01-22 23:18:31 +00:00
Dale Wijnand 899ac9eb98 Notes: Fix links 2016-01-22 23:14:27 +00:00
Dale Wijnand 223cb2632e Notes: Sort issues, move ivy/jline to the top 2016-01-22 23:11:43 +00:00
Eugene Yokota 06658661a1 Hand merged notes 2016-01-22 14:47:37 -05:00
Tim Harper 7d86bc70d3 bugfix - apply autoImports for global plugins at global configuration stage
Previously, the autoimports for globally defined plugins were not
imported for global configuration files, although they were imported for
project configuration files.

This patch causes an additional plugin discovery phase to happen during
global config evaluation, so that auto-plugins can be detected and their
imports subsequently included.
2016-01-18 15:05:29 -07:00
Eugene Yokota c55c3ec966 Merge branch 'backport/internal-tracking' into wip/internal 2016-01-13 12:59:51 -05:00
Eugene Yokota 98b26ae5d3 Inter-project dependency tracking. Fixes #2266
Adds `trackInternalDependencies` and `exportToInternal` settings. These
can be used to control whether to trigger compilation of a dependent
subprojects when you call `compile`. Both keys will take one of three
values: `TrackLevel.NoTracking`, `TrackLevel.TrackIfMissing`, and
`TrackLevel.TrackAlways`. By default they are both set to
`TrackLevel.TrackAlways`.

When `trackInternalDependencies` is set to `TrackLevel.TrackIfMissing`,
sbt will no longer try to compile internal (inter-project) dependencies
automatically, unless there are no `*.class` files (or JAR file when
`exportJars` is `true`) in the output directory. When the setting is
set to `TrackLevel.NoTracking`, the compilation of internal
dependencies will be skipped. Note that the classpath will still be
appended, and dependency graph will still show them as dependencies.
The motivation is to save the I/O overhead of checking for the changes
on a build with many subprojects during development. Here's how to set
all subprojects to `TrackIfMissing`.

    lazy val root = (project in file(".")).
      aggregate(....).
      settings(
        inThisBuild(Seq(
          trackInternalDependencies := TrackLevel.TrackIfMissing,
          exportJars := true
        ))
      )

The `exportToInternal` setting allows the dependee subprojects to opt
out of the internal tracking, which might be useful if you want to
track most subprojects except for a few. The intersection of the
`trackInternalDependencies` and `exportToInternal` settings will be
used to determine the actual track level. Here's an example to opt-out
one project:

    lazy val dontTrackMe = (project in file("dontTrackMe")).
      settings(
        exportToInternal := TrackLevel.NoTracking
      )
2016-01-13 12:56:28 -05:00
Eugene Yokota 83b725559f Fix notes 2016-01-06 22:12:01 -05:00
Eugene Yokota 5661b0fac4 Adds release note to #2343 2016-01-06 17:52:53 -05:00
eugene yokota f00f6fd541 Merge pull request #2344 from smarter/0.13-dotty
Make sbt aware of Dotty
2016-01-03 20:22:13 -05:00
Guillaume Martres 10265efd9c Make sbt aware of Dotty
This small set of changes, together with the compiler-bridge I wrote
(https://github.com/smarter/dotty-bridge) enables us to compile code
using Dotty in sbt, see https://github.com/smarter/dotty-example-project
for an example.
2016-01-03 20:35:29 +01:00
Eugene Yokota 0d925630df Fixes #1827. Adds withInterProjectFirst to update option.
withInterProjectFirst when set to true will prioritize inter-project
resolver over all other resolver and Ivy cache.
This aimed to workaround the fact that on Maven Test configuration is
considered private, and thus project dependency with `test->test`
configuration may not under some condition. The condition is when
someone resolves `x:y:1.0` and you have a subproject named and
versioned exactly that, and some other subproject tries to depend on
it. This happens when the project does not change the version number on
the Github.
2015-12-31 01:22:27 -05:00
Eugene Yokota e82e6652d0 Move intransitive warning to update. Ref #2127 2015-12-30 13:41:31 -05:00
eugene yokota bfb602c29b Merge pull request #2313 from sbt/wip/refix-snapshots
Fixes #1514. Enable latest SNAPSHOT option by default
2015-12-30 10:31:07 -05:00
Eugene Yokota 1bf789eb3d Fixes #1616. Fixes the "latest snapshot" chain resolver
The "latest snapshot" chain resolver was assuming that there's at least
one artifact per module. I think that was the root cause of #1616.
2015-12-30 04:46:20 -05:00
eugene yokota b87a4acc2e Merge pull request #2338 from sbt/wip/nightly_launchconfig
Include sbt-ivy-snapshots to launchconfig
2015-12-29 23:45:50 -05:00
Eugene Yokota 585e727a97 Include sbt-ivy-snapshots to launchconfig
Include sbt-ivy-snapshots to launchconfig
Prior to this change, the launchconfig for sbt was generated using
Transform's resource generator so releases would include
`typesafe-ivy-releases` repo, and snapshot releases would include
`typesafe-ivy-snapshots` and `sonatype-snapshots` repos in addition.
This is no longer useful since nightly builds are now published to
`sbt-ivy-snapshots` instead, which is backed by Bintray.

This removes the switching logic, so both `typesafe-ivy-releases` and
`sbt-ivy-snapshots` repos are always included into the launchconfig.
This removes the step of needing to download a launcher just to try the
nightly builds.
2015-12-29 19:48:57 -05:00