|
|
|
|
@ -42,7 +42,9 @@ def commonSettings: Seq[Setting[_]] = Def.settings(
|
|
|
|
|
case _ => old ++ List("-Ywarn-unused", "-Ywarn-unused-import", "-YdisableFlatCpCaching")
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
inCompileAndTest(scalacOptions in console --= Vector("-Ywarn-unused-import", "-Ywarn-unused", "-Xlint")),
|
|
|
|
|
inCompileAndTest(
|
|
|
|
|
scalacOptions in console --= Vector("-Ywarn-unused-import", "-Ywarn-unused", "-Xlint")
|
|
|
|
|
),
|
|
|
|
|
scalafmtOnCompile := true,
|
|
|
|
|
Test / scalafmtOnCompile := true,
|
|
|
|
|
publishArtifact in Compile := true,
|
|
|
|
|
@ -52,13 +54,22 @@ def commonSettings: Seq[Setting[_]] = Def.settings(
|
|
|
|
|
|
|
|
|
|
val mimaSettings = Def settings (
|
|
|
|
|
mimaPreviousArtifacts := Set(
|
|
|
|
|
"1.0.0", "1.0.1", "1.0.2", "1.0.3", "1.0.4",
|
|
|
|
|
"1.1.0", "1.1.1", "1.1.2", "1.1.3", "1.1.4",
|
|
|
|
|
"1.0.0",
|
|
|
|
|
"1.0.1",
|
|
|
|
|
"1.0.2",
|
|
|
|
|
"1.0.3",
|
|
|
|
|
"1.0.4",
|
|
|
|
|
"1.1.0",
|
|
|
|
|
"1.1.1",
|
|
|
|
|
"1.1.2",
|
|
|
|
|
"1.1.3",
|
|
|
|
|
"1.1.4",
|
|
|
|
|
"1.2.0",
|
|
|
|
|
) map (version =>
|
|
|
|
|
organization.value %% moduleName.value % version
|
|
|
|
|
cross (if (crossPaths.value) CrossVersion.binary else CrossVersion.disabled)
|
|
|
|
|
),
|
|
|
|
|
) map (
|
|
|
|
|
version =>
|
|
|
|
|
organization.value %% moduleName.value % version
|
|
|
|
|
cross (if (crossPaths.value) CrossVersion.binary else CrossVersion.disabled)
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
lazy val lmRoot = (project in file("."))
|
|
|
|
|
@ -73,7 +84,8 @@ lazy val lmRoot = (project in file("."))
|
|
|
|
|
Some(ScmInfo(url(s"https://github.com/$slug"), s"git@github.com:$slug.git"))
|
|
|
|
|
},
|
|
|
|
|
bintrayPackage := "librarymanagement",
|
|
|
|
|
)),
|
|
|
|
|
)
|
|
|
|
|
),
|
|
|
|
|
commonSettings,
|
|
|
|
|
name := "LM Root",
|
|
|
|
|
publish := {},
|
|
|
|
|
@ -134,33 +146,32 @@ lazy val lmCore = (project in file("core"))
|
|
|
|
|
mimaBinaryIssueFilters ++= Seq(
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.EvictionWarningOptions.this"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.EvictionWarningOptions.copy"),
|
|
|
|
|
exclude[IncompatibleResultTypeProblem]("sbt.librarymanagement.EvictionWarningOptions.copy$default$7"),
|
|
|
|
|
|
|
|
|
|
exclude[IncompatibleResultTypeProblem](
|
|
|
|
|
"sbt.librarymanagement.EvictionWarningOptions.copy$default$7"
|
|
|
|
|
),
|
|
|
|
|
// internal class moved
|
|
|
|
|
exclude[MissingClassProblem]("sbt.internal.librarymanagement.InlineConfigurationFunctions"),
|
|
|
|
|
// dropped internal class parent (InlineConfigurationFunctions)
|
|
|
|
|
exclude[MissingTypesProblem]("sbt.librarymanagement.ModuleDescriptorConfiguration$"),
|
|
|
|
|
|
|
|
|
|
// Configuration's copy method was never meant to be public
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.Configuration.copy"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.Configuration.copy$default$*"),
|
|
|
|
|
|
|
|
|
|
// the data type copy methods were never meant to be public
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ArtifactExtra.copy"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ArtifactExtra.copy$default$*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ModuleReportExtra.copy"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ModuleReportExtra.copy$default$*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ArtifactTypeFilterExtra.copy"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ArtifactTypeFilterExtra.copy$default$*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.librarymanagement.ArtifactTypeFilterExtra.copy$default$*"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ModuleIDExtra.copy"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ModuleIDExtra.copy$default$*"),
|
|
|
|
|
|
|
|
|
|
// these abstract classes are private[librarymanagement] so it's fine if they have more methods
|
|
|
|
|
exclude[ReversedMissingMethodProblem]("sbt.librarymanagement.ArtifactExtra.*"),
|
|
|
|
|
exclude[ReversedMissingMethodProblem]("sbt.librarymanagement.ModuleReportExtra.*"),
|
|
|
|
|
exclude[ReversedMissingMethodProblem]("sbt.librarymanagement.ArtifactTypeFilterExtra.*"),
|
|
|
|
|
exclude[ReversedMissingMethodProblem]("sbt.librarymanagement.ModuleIDExtra.*"),
|
|
|
|
|
|
|
|
|
|
// these abstract classes are private[librarymanagement] so they can lose these abstract methods
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ArtifactExtra.type"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ArtifactExtra.url"),
|
|
|
|
|
@ -170,9 +181,10 @@ lazy val lmCore = (project in file("core"))
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ArtifactExtra.classifier"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ArtifactExtra.extension"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ArtifactTypeFilterExtra.types"),
|
|
|
|
|
|
|
|
|
|
// contraband issue
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.ConfigurationReportLite.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ConfigurationReportLite.copy*"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.UpdateReportLite.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.Artifact.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ArtifactTypeFilter.copy*"),
|
|
|
|
|
@ -189,7 +201,9 @@ lazy val lmCore = (project in file("core"))
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.FileConfiguration.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.FileRepository.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.Full.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.GetClassifiersConfiguration.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.librarymanagement.GetClassifiersConfiguration.copy*"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.GetClassifiersModule.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.InclExclRule.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.IvyFileConfiguration.copy*"),
|
|
|
|
|
@ -198,7 +212,9 @@ lazy val lmCore = (project in file("core"))
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.MavenCache.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.MavenRepo.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ModuleConfiguration.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ModuleDescriptorConfiguration.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.librarymanagement.ModuleDescriptorConfiguration.copy*"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ModuleID.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ModuleInfo.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ModuleReport.copy*"),
|
|
|
|
|
@ -218,6 +234,10 @@ lazy val lmCore = (project in file("core"))
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.UpdateReport.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.UpdateStats.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.URLRepository.copy*"),
|
|
|
|
|
// private[sbt]
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.librarymanagement.ResolverFunctions.useSecureResolvers"
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
.configure(addSbtIO, addSbtUtilLogging, addSbtUtilPosition, addSbtUtilCache)
|
|
|
|
|
@ -242,33 +262,68 @@ lazy val lmIvy = (project in file("ivy"))
|
|
|
|
|
Vector("-Ywarn-unused-import", "-Ywarn-unused", "-Xlint"),
|
|
|
|
|
mimaSettings,
|
|
|
|
|
mimaBinaryIssueFilters ++= Seq(
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler#SbtUrlInfo.this"),
|
|
|
|
|
exclude[IncompatibleMethTypeProblem]("sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler#SbtUrlInfo.this"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler.checkStatusCode"),
|
|
|
|
|
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler#SbtUrlInfo.this"
|
|
|
|
|
),
|
|
|
|
|
exclude[IncompatibleMethTypeProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler#SbtUrlInfo.this"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler.checkStatusCode"
|
|
|
|
|
),
|
|
|
|
|
// sbt.internal methods that changed type signatures and aren't used elsewhere in production code
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.IvySbt#ParallelCachedResolutionResolveEngine.mergeErrors"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.IvySbt.cleanCachedResolutionCache"),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.IvySbt#ParallelCachedResolutionResolveEngine.mergeErrors"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.IvySbt.cleanCachedResolutionCache"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.IvyRetrieve.artifacts"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.IvyScalaUtil.checkModule"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.ivyint.CachedResolutionResolveEngine.mergeErrors"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.ivyint.CachedResolutionResolveCache.buildArtificialModuleDescriptor"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.ivyint.CachedResolutionResolveCache.buildArtificialModuleDescriptors"),
|
|
|
|
|
exclude[ReversedMissingMethodProblem]("sbt.internal.librarymanagement.ivyint.CachedResolutionResolveEngine.mergeErrors"),
|
|
|
|
|
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler#SbtUrlInfo.this"),
|
|
|
|
|
exclude[IncompatibleMethTypeProblem]("sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler#SbtUrlInfo.this"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler.checkStatusCode"),
|
|
|
|
|
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.IvyScalaUtil.checkModule"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ivyint.CachedResolutionResolveEngine.mergeErrors"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ivyint.CachedResolutionResolveCache.buildArtificialModuleDescriptor"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ivyint.CachedResolutionResolveCache.buildArtificialModuleDescriptors"
|
|
|
|
|
),
|
|
|
|
|
exclude[ReversedMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ivyint.CachedResolutionResolveEngine.mergeErrors"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler#SbtUrlInfo.this"
|
|
|
|
|
),
|
|
|
|
|
exclude[IncompatibleMethTypeProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler#SbtUrlInfo.this"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler.checkStatusCode"
|
|
|
|
|
),
|
|
|
|
|
// contraband issue
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ivy.ExternalIvyConfiguration.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.librarymanagement.ivy.ExternalIvyConfiguration.copy*"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ivy.InlineIvyConfiguration.copy*"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.librarymanagement.ivy.IvyPaths.copy*"),
|
|
|
|
|
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler.urlFactory"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler.http"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler.open"),
|
|
|
|
|
exclude[DirectMissingMethodProblem]("sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler.this"),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler.urlFactory"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler.http"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler.open"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.ivyint.GigahorseUrlHandler.this"
|
|
|
|
|
),
|
|
|
|
|
exclude[DirectMissingMethodProblem](
|
|
|
|
|
"sbt.internal.librarymanagement.CustomPomParser.versionRangeFlag"
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
@ -278,11 +333,13 @@ lazy val lmScriptedTest = (project in file("scripted-test"))
|
|
|
|
|
commonSettings,
|
|
|
|
|
skip in publish := true,
|
|
|
|
|
name := "scripted-test",
|
|
|
|
|
scriptedLaunchOpts := { scriptedLaunchOpts.value ++
|
|
|
|
|
Seq("-Xmx1024M", "-Dplugin.version=" + version.value)
|
|
|
|
|
scriptedLaunchOpts := {
|
|
|
|
|
scriptedLaunchOpts.value ++
|
|
|
|
|
Seq("-Xmx1024M", "-Dplugin.version=" + version.value)
|
|
|
|
|
},
|
|
|
|
|
scriptedBufferLog := false
|
|
|
|
|
).enablePlugins(SbtScriptedIT)
|
|
|
|
|
)
|
|
|
|
|
.enablePlugins(SbtScriptedIT)
|
|
|
|
|
|
|
|
|
|
// we are updating the nightly process, so we are commenting this out for now
|
|
|
|
|
// addCommandAlias("scriptedIvy", Seq(
|
|
|
|
|
@ -303,14 +360,16 @@ def customCommands: Seq[Setting[_]] = Seq(
|
|
|
|
|
}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
inThisBuild(Seq(
|
|
|
|
|
whitesourceProduct := "Lightbend Reactive Platform",
|
|
|
|
|
whitesourceAggregateProjectName := "sbt-lm-master",
|
|
|
|
|
whitesourceAggregateProjectToken := "9bde4ccbaab7401a91f8cda337af84365d379e13abaf473b85cb16e3f5c65cb6",
|
|
|
|
|
whitesourceIgnoredScopes += "scalafmt",
|
|
|
|
|
whitesourceFailOnError := sys.env.contains("WHITESOURCE_PASSWORD"), // fail if pwd is present
|
|
|
|
|
whitesourceForceCheckAllDependencies := true,
|
|
|
|
|
))
|
|
|
|
|
inThisBuild(
|
|
|
|
|
Seq(
|
|
|
|
|
whitesourceProduct := "Lightbend Reactive Platform",
|
|
|
|
|
whitesourceAggregateProjectName := "sbt-lm-master",
|
|
|
|
|
whitesourceAggregateProjectToken := "9bde4ccbaab7401a91f8cda337af84365d379e13abaf473b85cb16e3f5c65cb6",
|
|
|
|
|
whitesourceIgnoredScopes += "scalafmt",
|
|
|
|
|
whitesourceFailOnError := sys.env.contains("WHITESOURCE_PASSWORD"), // fail if pwd is present
|
|
|
|
|
whitesourceForceCheckAllDependencies := true,
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
def inCompileAndTest(ss: SettingsDefinition*): Seq[Setting[_]] =
|
|
|
|
|
Seq(Compile, Test) flatMap (inConfig(_)(Def.settings(ss: _*)))
|
|
|
|
|
|