diff --git a/notes/1.0.0.markdown b/notes/1.0.0.markdown index 320c05a63..bfc541127 100644 --- a/notes/1.0.0.markdown +++ b/notes/1.0.0.markdown @@ -13,6 +13,8 @@ This is the RC-1 release of sbt 1.0. - sbt 0.12 style key dependency operators `<<=`, `<+=`, `<++=` are removed. Please [migrate to :=, +=, and ++=](http://www.scala-sbt.org/0.13/docs/Migrating-from-sbt-012x.html#Migrating+simple+expressions). These operators have been sources of confusion for many users, and have long been removed from 0.13 docs, and have been formally deprecated since sbt 0.13.13. - Zinc 1 drops support for Scala 2.9 and earlier. Scala 2.10 must use 2.10.2 and above. Scala 2.11 must use 2.11.2 and above. (latest patch releases are recommended) - Many of the case classes are replaced with pseudo case classes generated using Contraband. Migrate `.copy(foo = xxx)` to `withFoo(xxx)`. +- Java classes under the `xsbti.compile` package such as `IncOptions` hides the constructor. Use the factory method `xsbti.compile.Foo.of(...)`. +- `config("tooling")` must be directly assigned to a `val`, like `val Tooling = config("tooling")`. This captures the lhs identifier into the configuration so we can use it from the shell later. - Changes `publishTo` and `otherResolvers` from SettingKeys to TaskKeys. [#2059][2059]/[#2662][2662] by [@dwijnand][@dwijnand] - `PathFinder`'s `.***` method is renamed to `.allPaths` method. - Drops sbt 0.12 style hyphen-separated key names (use `publishLocal` instead of `publish-local`). @@ -37,7 +39,6 @@ This is the RC-1 release of sbt 1.0. - sbt 1.0 uses `ConfigRef` in places where `String` was used to reference configuration, such as `update.value.configuration(...)`. Pass in `Configuration`, which implicitly converts to `ConfigRef`. - Changes `sourceArtifactTypes` and `docArtifactTypes` from `Set[String]` to `Seq[String]` settings. - Renames `ivyScala: IvyScala` to `scalaModuleInfo: ScalaModuleInfo`. -- Java classes under the `xsbti.compile` package such as `IncOptions` hides the constructor. Use the factory method `xsbti.compile.Foo.of(...)`. The Scala Center is working with Lightbend to provide [an automatic migration tool][sbt-migration-rewrites]. diff --git a/sbt/src/sbt-test/compiler-project/macro-config/build.sbt b/sbt/src/sbt-test/compiler-project/macro-config/build.sbt index 12abb53bd..ea741ddf5 100644 --- a/sbt/src/sbt-test/compiler-project/macro-config/build.sbt +++ b/sbt/src/sbt-test/compiler-project/macro-config/build.sbt @@ -1,24 +1,27 @@ -// Adds a "macro" configuration for macro dependencies. +// Defines "macro" configuration. // By default, this includes the dependencies of the normal sources. // Drop the `extend(Compile)` to include no dependencies (not even scala-library) by default. -ivyConfigurations += config("macro").hide.extend(Compile) +lazy val Macro = config("macro").hide.extend(Compile) + +// Adds a "macro" configuration for macro dependencies. +ivyConfigurations += Macro // add the compiler as a dependency for src/macro/ libraryDependencies += - scalaVersion("org.scala-lang" % "scala-compiler" % _ % "macro").value + scalaVersion("org.scala-lang" % "scala-compiler" % _ % Macro).value // adds standard compile, console, package tasks for src/macro/ -inConfig(config("macro"))(Defaults.configSettings) +inConfig(Macro)(Defaults.configSettings) // puts the compiled macro on the classpath for the main sources unmanagedClasspath in Compile ++= - (fullClasspath in config("macro")).value + (fullClasspath in Macro).value // includes sources in src/macro/ in the main source package mappings in (Compile, packageSrc) ++= - (mappings in (config("macro"), packageSrc)).value + (mappings in (Macro, packageSrc)).value // Includes classes compiled from src/macro/ in the main binary // This can be omitted if the classes in src/macro/ aren't used at runtime mappings in (Compile, packageBin) ++= - (mappings in (config("macro"), packageBin)).value + (mappings in (Macro, packageBin)).value