From 78ea2932a44930bbb4b2f9ddb5a26772a6b0326e Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 5 Feb 2016 08:28:59 -0500 Subject: [PATCH] Fixes #2427 inter-project dependency interference with sbt-web sbt-web uses exportedProducts key as an extension point. This removes exportedProductsAlways from 0.13.10-RC1, and uses exportedProducts instead. --- main/src/main/scala/sbt/Defaults.scala | 6 +++--- main/src/main/scala/sbt/Keys.scala | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 62ee38116..e0deb84b0 100755 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -1068,8 +1068,7 @@ object Classpaths { internalDependencyClasspath <<= internalDependencies, unmanagedClasspath <<= unmanagedDependencies, managedClasspath := managedJars(classpathConfiguration.value, classpathTypes.value, update.value), - exportedProducts <<= exportProductsTask, - exportedProductsAlways <<= trackedExportedProducts(TrackLevel.TrackAlways), + exportedProducts <<= trackedExportedProducts(TrackLevel.TrackAlways), exportedProductsIfMissing <<= trackedExportedProducts(TrackLevel.TrackIfMissing), exportedProductsNoTracking <<= trackedExportedProducts(TrackLevel.NoTracking), unmanagedJars := findUnmanagedJars(configuration.value, unmanagedBase.value, includeFilter in unmanagedJars value, excludeFilter in unmanagedJars value) @@ -1669,6 +1668,7 @@ object Classpaths { } } + @deprecated("This is no longer used.", "0.13.10") def exportProductsTask: Initialize[Task[Classpath]] = Def.task { val art = (artifact in packageBin).value val module = projectID.value @@ -1788,7 +1788,7 @@ object Classpaths { track match { case TrackLevel.NoTracking => getClasspath(exportedProductsNoTracking, dep, conf, data) case TrackLevel.TrackIfMissing => getClasspath(exportedProductsIfMissing, dep, conf, data) - case TrackLevel.TrackAlways => getClasspath(exportedProductsAlways, dep, conf, data) + case TrackLevel.TrackAlways => getClasspath(exportedProducts, dep, conf, data) } private[sbt] def unmanagedLibs0(dep: ResolvedReference, conf: String, data: Settings[Scope], track: TrackLevel): Task[Classpath] = unmanagedLibs(dep, conf, data) diff --git a/main/src/main/scala/sbt/Keys.scala b/main/src/main/scala/sbt/Keys.scala index ed0baba92..fc8302b3b 100644 --- a/main/src/main/scala/sbt/Keys.scala +++ b/main/src/main/scala/sbt/Keys.scala @@ -277,7 +277,6 @@ object Keys { val productDirectories = TaskKey[Seq[File]]("product-directories", "Base directories of build products.", CTask) val exportJars = SettingKey[Boolean]("export-jars", "Determines whether the exported classpath for this project contains classes (false) or a packaged jar (true).", BSetting) val exportedProducts = TaskKey[Classpath]("exported-products", "Build products that go on the exported classpath.", CTask) - val exportedProductsAlways = TaskKey[Classpath]("exported-products-always", "Build products that go on the exported classpath for other projects.", CTask) val exportedProductsIfMissing = TaskKey[Classpath]("exported-products-if-missing", "Build products that go on the exported classpath if missing.", CTask) val exportedProductsNoTracking = TaskKey[Classpath]("exported-products-no-tracking", "Just the exported classpath without triggering the compilation.", CTask) val unmanagedClasspath = TaskKey[Classpath]("unmanaged-classpath", "Classpath entries (deep) that are manually managed.", BPlusTask)