diff --git a/.travis.yml b/.travis.yml index 397db5cfc..be24bf0a3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,6 +26,7 @@ env: - SCRIPTED_TEST="scripted source-dependencies/*2of3" - SCRIPTED_TEST="scripted source-dependencies/*3of3" - SCRIPTED_TEST="scripted tests/*" + - SCRIPTED_TEST="scripted project-load/*" - SCRIPTED_TEST="safeUnitTests" - SCRIPTED_TEST="checkBuildScala211" diff --git a/main/src/main/scala/sbt/Load.scala b/main/src/main/scala/sbt/Load.scala index 9cac96cde..d137d1415 100755 --- a/main/src/main/scala/sbt/Load.scala +++ b/main/src/main/scala/sbt/Load.scala @@ -439,7 +439,8 @@ object Load { val memoSettings = new mutable.HashMap[File, LoadedSbtFile] def loadProjects(ps: Seq[Project], createRoot: Boolean) = { - loadTransitive(ps, normBase, plugs, () => eval, config.injectSettings, Nil, memoSettings, config.log, createRoot, uri, config.pluginManagement.context, Nil) + val result = loadTransitive(ps, normBase, plugs, () => eval, config.injectSettings, Nil, memoSettings, config.log, createRoot, uri, config.pluginManagement.context, Nil) + result } val loadedProjectsRaw = loadProjects(initialProjects, !hasRootAlreadyDefined) @@ -567,14 +568,14 @@ object Load { case Seq(next, rest @ _*) => log.debug(s"[Loading] Loading project ${next.id} @ ${next.base}") val (finished, discovered, generated) = discoverAndLoad(next) - loadTransitive(rest ++ discovered, buildBase, plugins, eval, injectSettings, acc :+ finished, memoSettings, log, false, buildUri, context, generated) + loadTransitive(rest ++ discovered, buildBase, plugins, eval, injectSettings, acc :+ finished, memoSettings, log, false, buildUri, context, generated ++ generatedConfigClassFiles) case Nil if makeOrDiscoverRoot => log.debug(s"[Loading] Scanning directory ${buildBase}") discover(AddSettings.defaultSbtFiles, buildBase) match { case DiscoveredProjects(Some(root), discovered, files, generated) => log.debug(s"[Loading] Found root project ${root.id} w/ remaining ${discovered.map(_.id).mkString(",")}") val finalRoot = finalizeProject(root, files) - loadTransitive(discovered, buildBase, plugins, eval, injectSettings, finalRoot +: acc, memoSettings, log, false, buildUri, context, generated) + loadTransitive(discovered, buildBase, plugins, eval, injectSettings, finalRoot +: acc, memoSettings, log, false, buildUri, context, generated ++ generatedConfigClassFiles) // Here we need to create a root project... case DiscoveredProjects(None, discovered, files, generated) => log.debug(s"[Loading] Found non-root projects ${discovered.map(_.id).mkString(",")}") @@ -587,7 +588,7 @@ object Load { val root = finalizeProject(Build.defaultAggregatedProject(defaultID, buildBase, refs), files) val result = root +: (acc ++ otherProjects.projects) log.debug(s"[Loading] Done in ${buildBase}, returning: ${result.map(_.id).mkString("(", ", ", ")")}") - LoadedProjects(result, generated ++ otherGenerated) + LoadedProjects(result, generated ++ otherGenerated ++ generatedConfigClassFiles) } case Nil => log.debug(s"[Loading] Done in ${buildBase}, returning: ${acc.map(_.id).mkString("(", ", ", ")")}") diff --git a/sbt/src/sbt-test/project-load/sha-conflict/build.sbt b/sbt/src/sbt-test/project-load/sha-conflict/build.sbt new file mode 100644 index 000000000..8231138b6 --- /dev/null +++ b/sbt/src/sbt-test/project-load/sha-conflict/build.sbt @@ -0,0 +1,7 @@ +lazy val root = project in file(".") + +lazy val js = project + +def bigDataSesameVersion = "2.6.10" + +libraryDependencies += "foo" % "bar" % bigDataSesameVersion \ No newline at end of file diff --git a/sbt/src/sbt-test/project-load/sha-conflict/js/build.sbt b/sbt/src/sbt-test/project-load/sha-conflict/js/build.sbt new file mode 100644 index 000000000..007767b67 --- /dev/null +++ b/sbt/src/sbt-test/project-load/sha-conflict/js/build.sbt @@ -0,0 +1 @@ +bintraySettings \ No newline at end of file diff --git a/sbt/src/sbt-test/project-load/sha-conflict/project/plugins.sbt b/sbt/src/sbt-test/project-load/sha-conflict/project/plugins.sbt new file mode 100644 index 000000000..972538b79 --- /dev/null +++ b/sbt/src/sbt-test/project-load/sha-conflict/project/plugins.sbt @@ -0,0 +1 @@ +addSbtPlugin("me.lessis" % "bintray-sbt" % "0.1.2") \ No newline at end of file diff --git a/sbt/src/sbt-test/project-load/sha-conflict/test b/sbt/src/sbt-test/project-load/sha-conflict/test new file mode 100644 index 000000000..477407e68 --- /dev/null +++ b/sbt/src/sbt-test/project-load/sha-conflict/test @@ -0,0 +1 @@ +> name