mirror of https://github.com/sbt/sbt.git
Merge pull request #3184 from dwijnand/sbt-1-on-1
Upgrade the build to use sbt 1.0.0-M5
This commit is contained in:
commit
0b2081bc3c
|
|
@ -16,7 +16,8 @@ matrix:
|
|||
|
||||
env:
|
||||
matrix:
|
||||
- SBT_CMD=";mimaReportBinaryIssues;test:compile;scalafmtCheck;safeUnitTests;otherUnitTests"
|
||||
- SBT_CMD=";test:compile;scalafmtCheck;safeUnitTests;otherUnitTests"
|
||||
# - SBT_CMD="mimaReportBinaryIssues"
|
||||
- SBT_CMD="scripted actions/*"
|
||||
- SBT_CMD="scripted apiinfo/* compiler-project/* ivy-deps-management/*"
|
||||
- SBT_CMD="scripted dependency-management/*1of4"
|
||||
|
|
|
|||
10
build.sbt
10
build.sbt
|
|
@ -44,16 +44,17 @@ def commonSettings: Seq[Setting[_]] =
|
|||
concurrentRestrictions in Global += Util.testExclusiveRestriction,
|
||||
testOptions += Tests.Argument(TestFrameworks.ScalaCheck, "-w", "1"),
|
||||
javacOptions in compile ++= Seq("-target", "6", "-source", "6", "-Xlint", "-Xlint:-serial"),
|
||||
incOptions := incOptions.value.withNameHashing(true),
|
||||
crossScalaVersions := Seq(baseScalaVersion),
|
||||
bintrayPackage := (bintrayPackage in ThisBuild).value,
|
||||
bintrayRepository := (bintrayRepository in ThisBuild).value,
|
||||
publishArtifact in Test := false,
|
||||
/*
|
||||
mimaPreviousArtifacts := Set.empty, // Set(organization.value % moduleName.value % "1.0.0"),
|
||||
mimaBinaryIssueFilters ++= {
|
||||
import com.typesafe.tools.mima.core._, ProblemFilters._
|
||||
Seq()
|
||||
},
|
||||
*/
|
||||
fork in compile := true,
|
||||
fork in run := true
|
||||
) flatMap (_.settings)
|
||||
|
|
@ -69,9 +70,9 @@ def testedBaseSettings: Seq[Setting[_]] =
|
|||
baseSettings ++ testDependencies
|
||||
|
||||
lazy val sbtRoot: Project = (project in file("."))
|
||||
.enablePlugins(ScriptedPlugin, SiteScaladocPlugin, GhpagesPlugin)
|
||||
.enablePlugins(ScriptedPlugin) // , SiteScaladocPlugin, GhpagesPlugin)
|
||||
.configs(Sxr.sxrConf)
|
||||
.aggregate(nonRoots: _*)
|
||||
.aggregateSeq(nonRoots)
|
||||
.settings(
|
||||
buildLevelSettings,
|
||||
minimalSettings,
|
||||
|
|
@ -294,7 +295,8 @@ lazy val sbtProj = (project in file("sbt"))
|
|||
|
||||
def scriptedTask: Def.Initialize[InputTask[Unit]] = Def.inputTask {
|
||||
val result = scriptedSource(dir => (s: State) => Scripted.scriptedParser(dir)).parsed
|
||||
publishLocalBinAll.value
|
||||
// publishLocalBinAll.value // TODO: Restore scripted needing only binary jars.
|
||||
publishAll.value
|
||||
// These two projects need to be visible in a repo even if the default
|
||||
// local repository is hidden, so we publish them to an alternate location and add
|
||||
// that alternate repo to the running scripted test (in Scripted.scriptedpreScripted).
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import org.scalafmt.bootstrap.ScalafmtBootstrap
|
||||
import org.scalafmt.cli.Cli
|
||||
import org.scalafmt.sbt.ScalafmtPlugin
|
||||
import sbt._
|
||||
import sbt.Keys._
|
||||
import sbt.inc.Analysis
|
||||
import sbt.internal.inc.Analysis
|
||||
|
||||
// Taken from https://github.com/akka/alpakka/blob/master/project/AutomateScalafmtPlugin.scala
|
||||
object AutomateScalafmtPlugin extends AutoPlugin {
|
||||
|
|
@ -18,7 +18,7 @@ object AutomateScalafmtPlugin extends AutoPlugin {
|
|||
},
|
||||
sourceDirectories.in(scalafmtInc) := Seq(scalaSource.value),
|
||||
scalafmtInc := {
|
||||
val cache = streams.value.cacheDirectory / "scalafmt"
|
||||
val cache = streams.value.cacheStoreFactory / "scalafmt"
|
||||
val include = includeFilter.in(scalafmtInc).value
|
||||
val exclude = excludeFilter.in(scalafmtInc).value
|
||||
val sources =
|
||||
|
|
@ -39,14 +39,14 @@ object AutomateScalafmtPlugin extends AutoPlugin {
|
|||
handler(files)
|
||||
files
|
||||
}
|
||||
FileFunction.cached(cache)(FilesInfo.hash, FilesInfo.exists)(update(handler, msg))(
|
||||
FileFunction.cached(cache, FilesInfo.hash, FilesInfo.exists)(update(handler, msg))(
|
||||
sources
|
||||
)
|
||||
}
|
||||
def formattingHandler(files: Set[File]) =
|
||||
if (files.nonEmpty) {
|
||||
val filesArg = files.map(_.getAbsolutePath).mkString(",")
|
||||
ScalafmtBootstrap.main(List("--quiet", "-i", "-f", filesArg))
|
||||
Cli.main(Array("--quiet", "-i", "-f", filesArg))
|
||||
}
|
||||
format(formattingHandler, "Formatting")
|
||||
format(_ => (), "Reformatted") // Recalculate the cache
|
||||
|
|
|
|||
|
|
@ -1,12 +1,17 @@
|
|||
import sbt._, Keys._
|
||||
/*
|
||||
import StatusPlugin.autoImport._
|
||||
import com.typesafe.sbt.site.SitePlugin.autoImport._
|
||||
import com.typesafe.sbt.site.SiteScaladocPlugin.autoImport._
|
||||
import com.typesafe.sbt.sbtghpages.GhpagesPlugin.autoImport._
|
||||
import com.typesafe.sbt.SbtGit, SbtGit.{ git, GitKeys }
|
||||
import Sxr.{ sxr, sxrConf }
|
||||
*/
|
||||
|
||||
object Docs {
|
||||
def settings: Seq[Setting[_]] = Nil
|
||||
|
||||
/*
|
||||
val siteExcludes = Set(".buildinfo", "objects.inv")
|
||||
def siteInclude(f: File) = !siteExcludes.contains(f.getName)
|
||||
|
||||
|
|
@ -47,4 +52,5 @@ object Docs {
|
|||
IO.copy(toCopy)
|
||||
repo
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,12 +17,11 @@ object NightlyPlugin extends AutoPlugin {
|
|||
import autoImport._
|
||||
|
||||
override def buildSettings: Seq[Setting[_]] = Seq(
|
||||
// Avoid 2.12.x nightlies
|
||||
// Avoid 2.9.x precompiled
|
||||
// Avoid 2.8.x precompiled
|
||||
includeTestDependencies := {
|
||||
val v = scalaVersion.value
|
||||
v.startsWith("2.10.") || v.startsWith("2.11.")
|
||||
v.startsWith("2.10.") || v.startsWith("2.11.") || v.startsWith("2.12.")
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
import sbt._, Keys._
|
||||
|
||||
import sbt.internal.librarymanagement.PublishConfiguration
|
||||
|
||||
/** This local plugin provides ways of publishing just the binary jar. */
|
||||
object PublishBinPlugin extends AutoPlugin {
|
||||
override def requires = plugins.JvmPlugin
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import com.typesafe.sbt.JavaVersionCheckPlugin.autoImport._
|
||||
//import com.typesafe.sbt.JavaVersionCheckPlugin.autoImport._
|
||||
import _root_.bintray.BintrayPlugin.autoImport._
|
||||
import _root_.bintray.InternalBintrayKeys._
|
||||
|
||||
|
|
@ -26,6 +26,6 @@ object Release {
|
|||
)
|
||||
|
||||
def javaVersionCheckSettings = Seq(
|
||||
javaVersionPrefix in javaVersionCheck := Some("1.8")
|
||||
//javaVersionPrefix in javaVersionCheck := Some("1.8")
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import sbt.io.Path._
|
||||
import sbt._
|
||||
import Keys._
|
||||
|
||||
|
|
@ -41,7 +42,7 @@ object SbtLauncherPlugin extends AutoPlugin {
|
|||
IO.unzip(jar, dir)
|
||||
IO.copy(overrides.map({ case (n, f) => (f, dir / n) }), overwrite = true)
|
||||
// TODO - is the ok for creating a jar?
|
||||
IO.zip((dir.*** --- dir) pair relativeTo(dir), target)
|
||||
IO.zip((dir.allPaths --- dir) pair relativeTo(dir), target)
|
||||
}
|
||||
target
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Def.Initialize
|
||||
import sbt.internal.inc.ScalaInstance
|
||||
import sbt.internal.inc.classpath
|
||||
|
||||
import scala.language.reflectiveCalls
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import sbt.io.Path._
|
||||
import sbt._
|
||||
|
||||
object SiteMap {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,10 @@ import sbt._
|
|||
import Keys._
|
||||
import Scope.ThisScope
|
||||
|
||||
import sbt.librarymanagement.syntax._
|
||||
|
||||
import sbt.internal.inc.RawCompiler
|
||||
|
||||
object Sxr {
|
||||
val sxrConf = config("sxr").hide
|
||||
val sxr = TaskKey[File]("sxr")
|
||||
|
|
@ -31,7 +35,7 @@ object Sxr {
|
|||
IO.delete(out)
|
||||
IO.createDirectory(out)
|
||||
val comp =
|
||||
new compiler.RawCompiler(scalaInstance.value, classpathOptions.value, streams.value.log)
|
||||
new RawCompiler(scalaInstance.value, classpathOptions.value, streams.value.log)
|
||||
comp(in.toSeq.sorted, fullClasspath.value.files, out, scalacOptions.value)
|
||||
Set(outputDir)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import sbt.io.Path._
|
||||
import sbt._
|
||||
import Keys._
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ import scala.util.control.NonFatal
|
|||
import sbt._
|
||||
import Keys._
|
||||
|
||||
import sbt.internal.inc.Analysis
|
||||
|
||||
object Util {
|
||||
val ExclusiveTest: Tags.Tag = Tags.Tag("exclusive-test")
|
||||
|
||||
|
|
@ -86,17 +88,17 @@ object Util {
|
|||
IO.createDirectory(out)
|
||||
val args = "xsbti.api" :: out.getAbsolutePath :: defs.map(_.getAbsolutePath).toList
|
||||
val mainClass = main getOrElse "No main class defined for datatype generator"
|
||||
toError(run.run(mainClass, cp.files, args, s.log))
|
||||
run.run(mainClass, cp.files, args, s.log).failed foreach (e => sys error e.getMessage)
|
||||
(out ** "*.java").get
|
||||
}
|
||||
def lastCompilationTime(analysis: sbt.inc.Analysis): Long = {
|
||||
def lastCompilationTime(analysis: Analysis): Long = {
|
||||
val lastCompilation = analysis.compilations.allCompilations.lastOption
|
||||
lastCompilation.map(_.startTime) getOrElse 0L
|
||||
}
|
||||
def generateVersionFile(version: String,
|
||||
dir: File,
|
||||
s: TaskStreams,
|
||||
analysis: sbt.inc.Analysis): Seq[File] = {
|
||||
analysis: Analysis): Seq[File] = {
|
||||
import java.util.{ Date, TimeZone }
|
||||
val formatter = new java.text.SimpleDateFormat("yyyyMMdd'T'HHmmss")
|
||||
formatter.setTimeZone(TimeZone.getTimeZone("GMT"))
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
sbt.version=0.13.13
|
||||
sbt.version=1.0.0-M5
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
scalaVersion := "2.10.6"
|
||||
scalaVersion := "2.12.2"
|
||||
scalacOptions ++= Seq("-feature", "-language:postfixOps")
|
||||
|
||||
addSbtPlugin("com.eed3si9n" % "sbt-doge" % "0.1.5")
|
||||
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.14")
|
||||
addSbtPlugin("com.typesafe.sbt" % "sbt-ghpages" % "0.6.0")
|
||||
addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.9.2")
|
||||
addSbtPlugin("com.typesafe.sbt" % "sbt-javaversioncheck" % "0.1.0")
|
||||
addSbtPlugin("com.geirsson" % "sbt-scalafmt" % "0.6.8")
|
||||
addSbtPlugin("com.typesafe.sbt" % "sbt-site" % "1.2.0")
|
||||
// addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.14")
|
||||
// addSbtPlugin("com.typesafe.sbt" % "sbt-ghpages" % "0.6.0")
|
||||
// addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.9.2")
|
||||
// addSbtPlugin("com.typesafe.sbt" % "sbt-javaversioncheck" % "0.1.0")
|
||||
addSbtPlugin("com.geirsson" % "sbt-scalafmt" % "0.7.0-RC1")
|
||||
// addSbtPlugin("com.typesafe.sbt" % "sbt-site" % "1.2.0")
|
||||
addSbtPlugin("org.foundweekends" % "sbt-bintray" % "0.4.0")
|
||||
addSbtPlugin("org.scala-sbt" % "sbt-contraband" % "0.3.0-M4")
|
||||
|
|
|
|||
|
|
@ -308,11 +308,16 @@ class ScriptedRunner {
|
|||
tests: Array[String],
|
||||
bootProperties: File,
|
||||
launchOpts: Array[String],
|
||||
prescripted: java.util.List[File]): Unit =
|
||||
prescripted: java.util.List[File]): Unit = {
|
||||
|
||||
// Force Log4J to not use a thread context classloader otherwise it throws a CCE
|
||||
sys.props(org.apache.logging.log4j.util.LoaderUtil.IGNORE_TCCL_PROPERTY) = "true"
|
||||
|
||||
run(resourceBaseDirectory, bufferLog, tests, ConsoleLogger(), bootProperties, launchOpts, {
|
||||
f: File =>
|
||||
prescripted.add(f); ()
|
||||
}) //new FullLogger(Logger.xlog2Log(log)))
|
||||
}
|
||||
|
||||
def run(resourceBaseDirectory: File,
|
||||
bufferLog: Boolean,
|
||||
|
|
|
|||
Loading…
Reference in New Issue