diff --git a/centaur/test_cromwell.sh b/centaur/test_cromwell.sh index 44f9d22447b..0e3ab8c240b 100755 --- a/centaur/test_cromwell.sh +++ b/centaur/test_cromwell.sh @@ -124,11 +124,11 @@ cd "${RUN_DIR}" TEST_STATUS="failed" if [[ "${CENTAUR_SBT_COVERAGE}" == "true" ]]; then - sbt -Dsbt.supershell=false --warn coverage centaur/it:compile - CP=$(sbt -no-colors --error coverage "export centaur/it:dependencyClasspath") + sbt -Dsbt.supershell=false --warn coverage centaur/IntegrationTest/compile + CP=$(sbt -no-colors --error coverage "export centaur/IntegrationTest/dependencyClasspath") else - sbt -Dsbt.supershell=false --warn centaur/it:compile - CP=$(sbt -no-colors --error "export centaur/it:dependencyClasspath") + sbt -Dsbt.supershell=false --warn centaur/IntegrationTest/compile + CP=$(sbt -no-colors --error "export centaur/IntegrationTest/dependencyClasspath") fi # Add the it-classes folder to the classpath to ensure logback configuration files are picked up. diff --git a/codegen_java/build.sbt b/codegen_java/build.sbt index ab435f749ef..d9af475ae89 100644 --- a/codegen_java/build.sbt +++ b/codegen_java/build.sbt @@ -6,7 +6,7 @@ lazy val root = (project in file(".")). Seq(organization := "org.broadinstitute.cromwell", name := "cromwell-client", version := createVersion("0.1"), - scalaVersion := "2.12.12", // scala-steward:off (CROM-6777) - 2.12.13 blocked by duplicate import of nowarn + scalaVersion := "2.12.14", scalacOptions ++= Seq("-feature"), compile / javacOptions ++= Seq("-Xlint:deprecation"), Compile / packageDoc / publishArtifact := false, diff --git a/codegen_java/project/build.properties b/codegen_java/project/build.properties index dbae93bcfd5..10fd9eee04a 100644 --- a/codegen_java/project/build.properties +++ b/codegen_java/project/build.properties @@ -1 +1 @@ -sbt.version=1.4.9 +sbt.version=1.5.5 diff --git a/project/Dependencies.scala b/project/Dependencies.scala index c3127269699..21a4b5bcc48 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -21,12 +21,14 @@ object Dependencies { private val circeV = "0.13.0" private val circeYamlV = "0.13.1" private val commonsCodecV = "1.15" + private val commonsCsvV = "1.8" private val commonsIoV = "2.8.0" private val commonsLang3V = "3.11" private val commonsMathV = "3.6.1" private val commonsTextV = "1.9" private val configsV = "0.6.0" private val delightRhinoSandboxV = "0.0.15" + private val diffsonSprayJsonV = "4.0.3" private val ficusV = "1.5.0" // The "com.vladsch.flexmark" % "flexmark-profile-pegdown" % flexmarkV dependency is an implicit, version-specific // runtime dependency of ScalaTest. At the time of this writing this is the newest version known to work. @@ -57,7 +59,6 @@ object Dependencies { private val hsqldbV = "2.5.1" private val http4sVersion = "0.21.7" // scala-steward:off (CROM-6678) private val jacksonV = "2.12.2" - private val jacksonJqV = "1.0.0-preview.20201123" private val janinoV = "3.1.3" private val javaxActivationV = "1.2.0" // jaxb-impl 2.3.3 depends on com.sun.activation:jakarta.activation and jakarta.xml.bind:jakarta.xml.bind-api, @@ -94,9 +95,11 @@ object Dependencies { // For org.postgresql:postgresql 42.2.6 - 42.2.14: // java.lang.NoSuchFieldException: m_mesgParts in KeyValueSpec "fail if one of the inserts fails" private val postgresV = "42.2.5" // scala-steward:off + private val pprintV = "0.6.3" private val rdf4jV = "2.4.2" private val refinedV = "0.9.22" private val rhinoV = "1.7.13" + private val scalaCollectionCompatV = "2.5.0" private val scalaGraphV = "1.13.1" private val scalaLoggingV = "3.9.3" private val scalaPoolV = "0.4.3" @@ -138,7 +141,7 @@ object Dependencies { private val slf4jFacadeDependencies = List( "org.slf4j" % "slf4j-api" % slf4jV, - "com.typesafe.scala-logging" %% "scala-logging" % scalaLoggingV, + "com.typesafe.scala-logging" %% "scala-logging" % scalaLoggingV ) private val circeYamlDependency = "io.circe" %% "circe-yaml" % circeYamlV @@ -177,16 +180,16 @@ object Dependencies { exclude("com.google.guava", "guava-jdk5"), "com.google.api-client" % "google-api-client-jackson2" % googleApiClientV exclude("com.google.guava", "guava-jdk5"), - "com.google.cloud" % "google-cloud-resourcemanager" % googleCloudResourceManagerV, + "com.google.cloud" % "google-cloud-resourcemanager" % googleCloudResourceManagerV ) - val spiDependencies = List( - "com.iheart" %% "ficus" % ficusV, + val spiDependencies: List[ModuleID] = List( + "com.iheart" %% "ficus" % ficusV ) ++ googleApiClientDependencies ++ slf4jFacadeDependencies val spiUtilDependencies = List( "com.iheart" %% "ficus" % ficusV, - "org.typelevel" %% "cats-effect" % catsEffectV, + "org.typelevel" %% "cats-effect" % catsEffectV ) val implFtpDependencies = List( @@ -197,7 +200,7 @@ object Dependencies { "org.mockftpserver" % "MockFtpServer" % mockFtpServerV % Test ) - val implDrsDependencies = List( + val implDrsDependencies: List[ModuleID] = List( "org.apache.commons" % "commons-lang3" % commonsLang3V, "com.google.cloud" % "google-cloud-storage" % googleCloudStorageV, "com.google.oauth-client" % "google-oauth-client" % googleOauthClientV @@ -254,12 +257,12 @@ object Dependencies { private val akkaDependencies = List( "com.typesafe.akka" %% "akka-actor" % akkaV, - "com.typesafe.akka" %% "akka-testkit" % akkaV % Test, + "com.typesafe.akka" %% "akka-testkit" % akkaV % Test ) private val akkaStreamDependencies = List( "com.typesafe.akka" %% "akka-stream" % akkaV, - "com.typesafe.akka" %% "akka-stream-testkit" % akkaV % Test, + "com.typesafe.akka" %% "akka-stream-testkit" % akkaV % Test ) ++ akkaDependencies private val akkaHttpDependencies = List( @@ -267,7 +270,7 @@ object Dependencies { "com.typesafe.akka" %% "akka-http-testkit" % akkaHttpV % Test, // WOM internally embeds spray-json. Leave this import here until WOM externalizes the json library choice like // other libraries do. See akka-http, elastic4s, etc. - "com.typesafe.akka" %% "akka-http-spray-json" % akkaHttpV, + "com.typesafe.akka" %% "akka-http-spray-json" % akkaHttpV ) ++ akkaStreamDependencies private val akkaHttpCirceIntegrationDependency = List( @@ -300,11 +303,11 @@ object Dependencies { "com.google.code.findbugs" % "jsr305" % "3.0.2", "com.google.guava" % "guava" % guavaV, "org.apache.tika" % "tika-core" % tikaV, - "software.amazon.awssdk" % "s3" % awsSdkV, + "software.amazon.awssdk" % "s3" % awsSdkV ) ++ slf4jBindingDependencies private val awsCloudDependencies = List( - "com.fasterxml.jackson.core" % "jackson-annotations" % jacksonV, + "com.fasterxml.jackson.core" % "jackson-annotations" % jacksonV ) ++ s3fsDependencies ++ List( "batch", "core", @@ -346,7 +349,7 @@ object Dependencies { "com.sun.xml.bind" % "jaxb-impl" % jaxbV, "org.glassfish.jaxb" % "jaxb-runtime" % jaxbV // already included in com.sun.activation - exclude("jakarta.activation", "jakarta.activation-api"), + exclude("jakarta.activation", "jakarta.activation-api") ) private val aliyunBatchComputeDependencies = List( @@ -363,7 +366,7 @@ object Dependencies { "com.sun.xml.bind" % "jaxb-impl" % jaxbV, "org.glassfish.jaxb" % "jaxb-runtime" % jaxbV // already included in com.sun.activation - exclude("jakarta.activation", "jakarta.activation-api"), + exclude("jakarta.activation", "jakarta.activation-api") ) private val aliyunCrDependencies = List( @@ -388,17 +391,17 @@ object Dependencies { // Sub-project dependencies, added in addition to any dependencies inherited from .dependsOn(). - val commonDependencies = List( + val commonDependencies: List[ModuleID] = List( "org.typelevel" %% "cats-effect" % catsEffectV, "org.apache.commons" % "commons-lang3" % commonsLang3V, "org.apache.commons" % "commons-text" % commonsTextV, - "com.lihaoyi" %% "pprint" % "0.6.3", + "com.lihaoyi" %% "pprint" % pprintV ) ++ catsDependencies ++ configDependencies ++ slf4jFacadeDependencies ++ refinedTypeDependenciesList - val cloudSupportDependencies = googleApiClientDependencies ++ googleCloudDependencies ++ betterFilesDependencies ++ awsCloudDependencies + val cloudSupportDependencies: List[ModuleID] = googleApiClientDependencies ++ googleCloudDependencies ++ betterFilesDependencies ++ awsCloudDependencies - val databaseSqlDependencies = List( - "commons-io" % "commons-io" % commonsIoV, + val databaseSqlDependencies: List[ModuleID] = List( + "commons-io" % "commons-io" % commonsIoV ) ++ configDependencies ++ catsDependencies ++ slickDependencies ++ dbmsDependencies ++ refinedTypeDependenciesList val statsDDependencies = List( @@ -410,29 +413,29 @@ object Dependencies { "com.google.cloud" % "google-cloud-monitoring" % googleCloudMonitoringV ) - val gcsFileSystemDependencies = akkaHttpDependencies + val gcsFileSystemDependencies: List[ModuleID] = akkaHttpDependencies - val httpFileSystemDependencies = akkaHttpDependencies + val httpFileSystemDependencies: List[ModuleID] = akkaHttpDependencies - val ossFileSystemDependencies = googleCloudDependencies ++ aliyunOssDependencies ++ List( + val ossFileSystemDependencies: List[ModuleID] = googleCloudDependencies ++ aliyunOssDependencies ++ List( "com.github.pathikrit" %% "better-files" % betterFilesV ) - val statsDProxyDependencies = List( + val statsDProxyDependencies: List[ModuleID] = List( "co.fs2" %% "fs2-io" % fs2VStatsDProxy, "com.iheart" %% "ficus" % ficusV, "com.google.cloud" % "google-cloud-nio" % googleCloudNioV ) ++ commonDependencies - val womDependencies = List( + val womDependencies: List[ModuleID] = List( "com.typesafe.scala-logging" %% "scala-logging" % scalaLoggingV, "io.spray" %% "spray-json" % sprayJsonV, "org.scalacheck" %% "scalacheck" % scalacheckV % Test, "org.typelevel" %% "simulacrum" % simulacrumV, - "commons-codec" % "commons-codec" % commonsCodecV, + "commons-codec" % "commons-codec" % commonsCodecV ) ++ circeDependencies ++ refinedTypeDependenciesList - val wdlDependencies = List( + val wdlDependencies: List[ModuleID] = List( "commons-io" % "commons-io" % commonsIoV, "org.scala-graph" %% "graph-core" % scalaGraphV, "com.chuusai" %% "shapeless" % shapelessV @@ -470,7 +473,7 @@ object Dependencies { "org.apache.httpcomponents" % "httpclient" % apacheHttpClientV ) - val cwlDependencies = List( + val cwlDependencies: List[ModuleID] = List( "com.lihaoyi" %% "ammonite-ops" % ammoniteOpsV, "org.broadinstitute" % "heterodon" % heterodonV classifier "single", "org.scalactic" %% "scalactic" % scalacticV, @@ -482,42 +485,42 @@ object Dependencies { "commons-io" % "commons-io" % commonsIoV % Test ) ++ betterFilesDependencies ++ owlApiDependencies - val womtoolDependencies = catsDependencies ++ slf4jBindingDependencies + val womtoolDependencies: List[ModuleID] = catsDependencies ++ slf4jBindingDependencies - val centaurCwlRunnerDependencies = List( + val centaurCwlRunnerDependencies: List[ModuleID] = List( "com.github.scopt" %% "scopt" % scoptV, "io.circe" %% "circe-optics" % circeOpticsV ) ++ slf4jBindingDependencies - val coreDependencies = List( + val coreDependencies: List[ModuleID] = List( "com.google.auth" % "google-auth-library-oauth2-http" % googleOauth2V, "com.chuusai" %% "shapeless" % shapelessV, "com.storm-enroute" %% "scalameter" % scalameterV % Test, "com.github.scopt" %% "scopt" % scoptV, - "org.scalamock" %% "scalamock" % scalamockV % Test, + "org.scalamock" %% "scalamock" % scalamockV % Test ) ++ akkaStreamDependencies ++ configDependencies ++ catsDependencies ++ circeDependencies ++ googleApiClientDependencies ++ statsDDependencies ++ betterFilesDependencies ++ // TODO: We're not using the "F" in slf4j. Core only supports logback, specifically the WorkflowLogger. slf4jBindingDependencies ++ stackdriverDependencies - val databaseMigrationDependencies = liquibaseDependencies ++ dbmsDependencies + val databaseMigrationDependencies: List[ModuleID] = liquibaseDependencies ++ dbmsDependencies - val dockerHashingDependencies = http4sDependencies ++ circeDependencies ++ aliyunCrDependencies + val dockerHashingDependencies: List[ModuleID] = http4sDependencies ++ circeDependencies ++ aliyunCrDependencies - val cromwellApiClientDependencies = List( + val cromwellApiClientDependencies: List[ModuleID] = List( "org.scalaz" %% "scalaz-core" % scalazV, "org.typelevel" %% "cats-effect" % catsEffectV, - "co.fs2" %% "fs2-io" % fs2V % Test, + "co.fs2" %% "fs2-io" % fs2V % Test ) ++ akkaHttpDependencies ++ betterFilesDependencies ++ catsDependencies - val centaurDependencies = List( + val centaurDependencies: List[ModuleID] = List( "org.apache.commons" % "commons-math3" % commonsMathV, "com.github.kxbmap" %% "configs" % configsV, "com.google.cloud" % "google-cloud-bigquery" % googleCloudBigQueryV % IntegrationTest, - "org.gnieh" %% "diffson-spray-json" % "4.0.3" + "org.gnieh" %% "diffson-spray-json" % diffsonSprayJsonV ) ++ circeDependencies ++ slf4jBindingDependencies ++ cloudSupportDependencies ++ http4sDependencies - val engineDependencies = List( + val engineDependencies: List[ModuleID] = List( "commons-codec" % "commons-codec" % commonsCodecV, "commons-io" % "commons-io" % commonsIoV, "com.storm-enroute" %% "scalameter" % scalameterV @@ -530,12 +533,12 @@ object Dependencies { val servicesDependencies = List( "com.google.api" % "gax-grpc" % googleGaxGrpcV, - "org.apache.commons" % "commons-csv" % "1.8", + "org.apache.commons" % "commons-csv" % commonsCsvV ) - val serverDependencies = slf4jBindingDependencies + val serverDependencies: List[ModuleID] = slf4jBindingDependencies - val cromiamDependencies = List( + val cromiamDependencies: List[ModuleID] = List( "com.softwaremill.sttp" %% "core" % sttpV, "com.softwaremill.sttp" %% "async-http-client-backend-future" % sttpV, "com.typesafe.scala-logging" %% "scala-logging" % scalaLoggingV, @@ -543,20 +546,20 @@ object Dependencies { "org.broadinstitute.dsde.workbench" %% "workbench-util" % workbenchUtilV ) ++ akkaHttpDependencies ++ swaggerUiDependencies ++ slf4jBindingDependencies - val wes2cromwellDependencies = coreDependencies ++ akkaHttpDependencies + val wes2cromwellDependencies: List[ModuleID] = coreDependencies ++ akkaHttpDependencies val backendDependencies = List( "org.scalacheck" %% "scalacheck" % scalacheckV % Test, "co.fs2" %% "fs2-io" % fs2V ) - val bcsBackendDependencies = commonDependencies ++ refinedTypeDependenciesList ++ aliyunBatchComputeDependencies - val tesBackendDependencies = akkaHttpDependencies + val bcsBackendDependencies: List[ModuleID] = commonDependencies ++ refinedTypeDependenciesList ++ aliyunBatchComputeDependencies + val tesBackendDependencies: List[ModuleID] = akkaHttpDependencies val sfsBackendDependencies = List ( "org.lz4" % "lz4-java" % lz4JavaV ) - val testDependencies = List( + val testDependencies: List[ModuleID] = List( "org.scalatest" %% "scalatest" % scalatestV, "org.scalatestplus" %% "scalatestplus-mockito" % scalatestPlusMockitoV, "com.vladsch.flexmark" % "flexmark-profile-pegdown" % flexmarkV, @@ -572,12 +575,12 @@ object Dependencies { val paradisePlugin = "org.scalamacros" % "paradise" % paradiseV cross CrossVersion.full // Version of the swagger UI to write into config files - val swaggerUiVersion = swaggerUiV + val swaggerUiVersion: String = swaggerUiV - val perfDependencies = circeDependencies ++ betterFilesDependencies ++ commonDependencies ++ + val perfDependencies: List[ModuleID] = circeDependencies ++ betterFilesDependencies ++ commonDependencies ++ googleApiClientDependencies ++ googleCloudDependencies - val drsLocalizerDependencies = List( + val drsLocalizerDependencies: List[ModuleID] = List( "com.google.auth" % "google-auth-library-oauth2-http" % googleOauth2V, "com.google.cloud" % "google-cloud-storage" % googleCloudStorageV, "org.typelevel" %% "cats-effect" % catsEffectV, @@ -585,7 +588,7 @@ object Dependencies { "com.softwaremill.sttp" %% "circe" % sttpV ) ++ circeDependencies ++ catsDependencies ++ slf4jBindingDependencies ++ languageFactoryDependencies - val allProjectDependencies = + val allProjectDependencies: List[ModuleID] = backendDependencies ++ bcsBackendDependencies ++ centaurCwlRunnerDependencies ++ @@ -641,10 +644,10 @@ object Dependencies { https://mvnrepository.com/artifact/com.google.api-client/google-api-client/1.28.0 */ "com.google.http-client" % "google-http-client-apache" % googleHttpClientApacheV, - "com.google.http-client" % "google-http-client" % googleHttpClientV, + "com.google.http-client" % "google-http-client" % googleHttpClientV ) - val nettyDependencyOverrides = List( + val nettyDependencyOverrides: List[ModuleID] = List( "buffer", "codec", "codec-dns", @@ -657,10 +660,10 @@ object Dependencies { "resolver-dns", "transport", "transport-native-epoll", - "transport-native-unix-common", + "transport-native-unix-common" ).map(m => "io.netty" % s"netty-$m" % nettyV) - val rdf4jDependencyOverrides = List( + val rdf4jDependencyOverrides: List[ModuleID] = List( /* Yes. All of these are required to lock in the rdf4j version. @@ -685,11 +688,11 @@ object Dependencies { "rio-trig", "rio-trix", "rio-turtle", - "util", + "util" ).map(m => "org.eclipse.rdf4j" % s"rdf4j-$m" % rdf4jV) // Some libraries are importing older version of these dependencies, causing conflicts. Hence the need to override them. - val grpcDependencyOverrides = List( + val grpcDependencyOverrides: List[ModuleID] = List( "alts", "auth", "context", @@ -698,17 +701,27 @@ object Dependencies { "netty-shaded", "protobuf-lite", "protobuf", - "stub", + "stub" ).map(m => "io.grpc" % s"grpc-$m" % grpcV) + /* + Adding this dependency to the common lib instead of explicitly to the numerous derived executables. + A workaround for a shading bug in an earlier versions of scala-collection-compat. + https://github.com/scala/scala-collection-compat/issues/426 + */ + private val scalaCollectionCompatOverrides = List( + "org.scala-lang.modules" %% "scala-collection-compat" % scalaCollectionCompatV + ) + /* If we use a version in one of our projects, that's the one we want all the libraries to use ...plus other groups of transitive dependencies shared across multiple projects */ - val cromwellDependencyOverrides = + val cromwellDependencyOverrides: List[ModuleID] = allProjectDependencies ++ googleHttpClientDependencies ++ nettyDependencyOverrides ++ rdf4jDependencyOverrides ++ - grpcDependencyOverrides + grpcDependencyOverrides ++ + scalaCollectionCompatOverrides } diff --git a/project/Publishing.scala b/project/Publishing.scala index b10b5ab9dda..e72194185a0 100644 --- a/project/Publishing.scala +++ b/project/Publishing.scala @@ -47,7 +47,7 @@ object Publishing { val artifact: File = assembly.value val artifactTargetPath = s"/app/${artifact.name}" val projectName = name.value - val additionalDockerInstr: Seq[Instruction] = dockerCustomSettings.value + val additionalDockerInstr: Seq[Instruction] = (dockerCustomSettings ?? Nil).value new Dockerfile { from("us.gcr.io/broad-dsp-gcr-public/base/jre:11-debian") @@ -100,8 +100,7 @@ object Publishing { docker / buildOptions := BuildOptions( cache = false, removeIntermediateContainers = BuildOptions.Remove.Always - ), - ThisBuild / dockerCustomSettings := Nil // setting the default value + ) ) def dockerPushSettings(pushEnabled: Boolean): Seq[Setting[_]] = { diff --git a/project/Settings.scala b/project/Settings.scala index de83feea4ce..3359ec36b71 100644 --- a/project/Settings.scala +++ b/project/Settings.scala @@ -81,14 +81,12 @@ object Settings { lazy val assemblySettings = Seq( assembly / assemblyJarName := name.value + "-" + version.value + ".jar", assembly / test := {}, - assembly / assemblyMergeStrategy := customMergeStrategy.value, - assembly / logLevel := - sys.env.get("CROMWELL_SBT_ASSEMBLY_LOG_LEVEL").flatMap(Level.apply).getOrElse((assembly / logLevel).value) + assembly / assemblyMergeStrategy := customMergeStrategy.value ) - val Scala2_12Version = "2.12.12" // scala-steward:off (CROM-6777) - 2.12.13 blocked by duplicate import of nowarn - val ScalaVersion: String = Scala2_12Version - val sharedSettings: Seq[Setting[_]] = + val Scala2_12Version = "2.12.14" + private val ScalaVersion: String = Scala2_12Version + private val sharedSettings: Seq[Setting[_]] = cromwellVersionWithGit ++ publishingSettings ++ List( organization := "org.broadinstitute", scalaVersion := ScalaVersion, diff --git a/project/Testing.scala b/project/Testing.scala index f5544540489..fee6a5e1729 100644 --- a/project/Testing.scala +++ b/project/Testing.scala @@ -64,7 +64,7 @@ object Testing { spanScaleFactor, "-W", "300", - "300", + "300" ) /** Run minnie-kenny only once per sbt invocation. */ @@ -101,7 +101,11 @@ object Testing { CromwellBenchmarkTest / testFrameworks += new TestFramework("org.scalameter.ScalaMeterFramework"), // Don't execute benchmarks in parallel CromwellBenchmarkTest / parallelExecution := false, - // Make sure no secrets are commited to git + // Until we move away from Travis do not execute ANY tests in parallel (see also Settings.sharedSettings) + Test / parallelExecution := false, + // Since parallelExecution is off do not buffer test results + Test / logBuffered := false, + // Make sure no secrets are committed to git minnieKenny := { val log = streams.value.log val args = spaceDelimited("").parsed @@ -110,10 +114,10 @@ object Testing { Test / test := { minnieKenny.toTask("").value (Test / test).value - }, + } ) - val integrationTestSettings = List( + private val integrationTestSettings = List( libraryDependencies ++= testDependencies.map(_ % IntegrationTest) ) ++ itSettings diff --git a/project/build.properties b/project/build.properties index f0f04096225..2b4cbe4d584 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1,2 +1,2 @@ # scala-steward:off -sbt.version=1.4.9 +sbt.version=1.5.5 diff --git a/project/plugins.sbt b/project/plugins.sbt index 951fdd6711d..54686b205da 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,4 +1,4 @@ addSbtPlugin("se.marcuslonnberg" % "sbt-docker" % "1.8.2") -addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.15.0") +addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "1.0.0") addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "1.0.0") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.8.2") diff --git a/project/project/build.properties b/project/project/build.properties index f0f04096225..2b4cbe4d584 100644 --- a/project/project/build.properties +++ b/project/project/build.properties @@ -1,2 +1,2 @@ # scala-steward:off -sbt.version=1.4.9 +sbt.version=1.5.5 diff --git a/publish/docker-setup.sh b/publish/docker-setup.sh index d537171662f..1ef181bae19 100755 --- a/publish/docker-setup.sh +++ b/publish/docker-setup.sh @@ -33,7 +33,7 @@ apt-get install \ # sbt launcher non-deb package installation instructions adapted from # - https://github.com/sbt/sbt/releases/tag/v1.4.9 # - https://github.com/broadinstitute/scala-baseimage/pull/4/files -curl --location --fail --silent --show-error "https://github.com/sbt/sbt/releases/download/v1.4.9/sbt-1.4.9.tgz" | +curl --location --fail --silent --show-error "https://github.com/sbt/sbt/releases/download/v1.5.5/sbt-1.5.5.tgz" | tar zxf - -C /usr/share update-alternatives --install /usr/bin/sbt sbt /usr/share/sbt/bin/sbt 1 diff --git a/scripts/docker-develop/Dockerfile b/scripts/docker-develop/Dockerfile index 56fbb0dcfc5..3a0647084f0 100644 --- a/scripts/docker-develop/Dockerfile +++ b/scripts/docker-develop/Dockerfile @@ -17,8 +17,8 @@ RUN apt-get update -q && \ # Git # Env variables -ENV SCALA_VERSION 2.12.12 -ENV SBT_VERSION 1.4.9 +ENV SCALA_VERSION 2.12.14 +ENV SBT_VERSION 1.5.3 # ## AdoptOpenJDK Hotspot diff --git a/src/ci/bin/test.inc.sh b/src/ci/bin/test.inc.sh index fb2a695632e..a8640329f81 100644 --- a/src/ci/bin/test.inc.sh +++ b/src/ci/bin/test.inc.sh @@ -813,7 +813,7 @@ cromwell::private::install_sbt_launcher() { # Non-deb package installation instructions adapted from # - https://github.com/sbt/sbt/releases/tag/v1.4.9 # - https://github.com/broadinstitute/scala-baseimage/pull/4/files - curl --location --fail --silent --show-error "https://github.com/sbt/sbt/releases/download/v1.4.9/sbt-1.4.9.tgz" | + curl --location --fail --silent --show-error "https://github.com/sbt/sbt/releases/download/v1.5.5/sbt-1.5.5.tgz" | sudo tar zxf - -C /usr/share sudo update-alternatives --install /usr/bin/sbt sbt /usr/share/sbt/bin/sbt 1 } @@ -1147,9 +1147,9 @@ cromwell::private::assemble_jars() { # CROMWELL_BUILD_SBT_ASSEMBLY_COMMAND allows for an override of the default `assembly` command for assembly. # This can be useful to reduce time and memory that might otherwise be spent assembling unused subprojects. # shellcheck disable=SC2086 - CROMWELL_SBT_ASSEMBLY_LOG_LEVEL=error \ - sbt \ + sbt \ -Dsbt.supershell=false \ + 'set ThisBuild / assembly / logLevel := Level.Error' \ --warn \ ${CROMWELL_BUILD_SBT_COVERAGE_COMMAND} \ --error \ @@ -1198,11 +1198,11 @@ cromwell::private::generate_code_coverage() { } cromwell::private::publish_artifacts_only() { - CROMWELL_SBT_ASSEMBLY_LOG_LEVEL=warn sbt -Dsbt.supershell=false --warn "$@" publish + sbt 'set ThisBuild / assembly / logLevel := Level.Warn' -Dsbt.supershell=false --warn "$@" publish } cromwell::private::publish_artifacts_and_docker() { - CROMWELL_SBT_ASSEMBLY_LOG_LEVEL=warn sbt -Dsbt.supershell=false --warn "$@" publish dockerBuildAndPush + sbt 'set ThisBuild / assembly / logLevel := Level.Warn' -Dsbt.supershell=false --warn "$@" publish dockerBuildAndPush } cromwell::private::publish_artifacts_check() { @@ -1510,7 +1510,7 @@ cromwell:build::run_sbt_test() { sbt \ -Dsbt.supershell=false \ ${CROMWELL_BUILD_SBT_COVERAGE_COMMAND} \ - test:compile + Test/compile local sbt_tests diff --git a/src/ci/docker-compose/cromwell-test/docker-setup.sh b/src/ci/docker-compose/cromwell-test/docker-setup.sh index e48d7ffdc7c..c7970c7349b 100755 --- a/src/ci/docker-compose/cromwell-test/docker-setup.sh +++ b/src/ci/docker-compose/cromwell-test/docker-setup.sh @@ -66,7 +66,7 @@ apt-get clean # non-deb package installation instructions adapted from # - https://github.com/sbt/sbt/releases/tag/v1.4.9 # - https://github.com/broadinstitute/scala-baseimage/pull/4/files -curl -L --silent "https://github.com/sbt/sbt/releases/download/v1.4.9/sbt-1.4.9.tgz" | +curl -L --silent "https://github.com/sbt/sbt/releases/download/v1.5.5/sbt-1.5.5.tgz" | tar zxf - -C /usr/share update-alternatives --install /usr/bin/sbt sbt /usr/share/sbt/bin/sbt 1