mirror of https://github.com/sbt/sbt.git
Remove deprecated stuff
Not to have to make it Java 6-compatible
This commit is contained in:
parent
8813a31cd9
commit
d2c827a1a0
|
|
@ -19,7 +19,6 @@ object CoursierPlugin extends AutoPlugin {
|
|||
val coursierTtl = Keys.coursierTtl
|
||||
val coursierVerbosity = Keys.coursierVerbosity
|
||||
val mavenProfiles = Keys.mavenProfiles
|
||||
val coursierSourceRepositories = Keys.coursierSourceRepositories
|
||||
val coursierResolvers = Keys.coursierResolvers
|
||||
val coursierRecursiveResolvers = Keys.coursierRecursiveResolvers
|
||||
val coursierSbtResolvers = Keys.coursierSbtResolvers
|
||||
|
|
@ -39,11 +38,6 @@ object CoursierPlugin extends AutoPlugin {
|
|||
|
||||
val coursierDependencyTree = Keys.coursierDependencyTree
|
||||
val coursierDependencyInverseTree = Keys.coursierDependencyInverseTree
|
||||
|
||||
val coursierExport = Keys.coursierExport
|
||||
val coursierExportDirectory = Keys.coursierExportDirectory
|
||||
val coursierExportJavadoc = Keys.coursierExportJavadoc
|
||||
val coursierExportSources = Keys.coursierExportSources
|
||||
}
|
||||
|
||||
import autoImport._
|
||||
|
|
@ -67,7 +61,6 @@ object CoursierPlugin extends AutoPlugin {
|
|||
coursierTtl := Cache.defaultTtl,
|
||||
coursierVerbosity := Settings.defaultVerbosityLevel,
|
||||
mavenProfiles := Set.empty,
|
||||
coursierSourceRepositories := Nil,
|
||||
coursierResolvers <<= Tasks.coursierResolversTask,
|
||||
coursierRecursiveResolvers <<= Tasks.coursierRecursiveResolversTask,
|
||||
coursierSbtResolvers <<= externalResolvers in updateSbtClassifiers,
|
||||
|
|
@ -93,11 +86,7 @@ object CoursierPlugin extends AutoPlugin {
|
|||
coursierResolution <<= Tasks.resolutionTask(),
|
||||
coursierSbtClassifiersResolution <<= Tasks.resolutionTask(
|
||||
sbtClassifiers = true
|
||||
),
|
||||
coursierExport <<= Tasks.coursierExportTask,
|
||||
coursierExportDirectory := baseDirectory.in(ThisBuild).value / "target" / "repository",
|
||||
coursierExportJavadoc := false,
|
||||
coursierExportSources := false
|
||||
)
|
||||
) ++
|
||||
inConfig(Compile)(treeSettings) ++
|
||||
inConfig(Test)(treeSettings)
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ object Keys {
|
|||
|
||||
val mavenProfiles = SettingKey[Set[String]]("maven-profiles")
|
||||
|
||||
val coursierSourceRepositories = SettingKey[Seq[File]]("coursier-source-repositories")
|
||||
val coursierResolvers = TaskKey[Seq[Resolver]]("coursier-resolvers")
|
||||
val coursierRecursiveResolvers = TaskKey[Seq[Resolver]]("coursier-recursive-resolvers", "Resolvers of the current project, plus those of all from its inter-dependency projects")
|
||||
val coursierSbtResolvers = TaskKey[Seq[Resolver]]("coursier-sbt-resolvers")
|
||||
|
|
@ -52,21 +51,4 @@ object Keys {
|
|||
"coursier-dependency-inverse-tree",
|
||||
"Prints dependencies and transitive dependencies as an inverted tree (dependees as children)"
|
||||
)
|
||||
|
||||
val coursierExport = TaskKey[Option[File]](
|
||||
"coursier-export",
|
||||
"Generates files allowing using these sources as a source dependency repository"
|
||||
)
|
||||
val coursierExportDirectory = TaskKey[File](
|
||||
"coursier-export-directory",
|
||||
"Base directory for the products of coursierExport"
|
||||
)
|
||||
val coursierExportJavadoc = SettingKey[Boolean](
|
||||
"coursier-export-javadoc",
|
||||
"Build javadoc packages for the coursier source dependency repository"
|
||||
)
|
||||
val coursierExportSources = SettingKey[Boolean](
|
||||
"coursier-export-sources",
|
||||
"Build sources packages for the coursier source dependency repository"
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,14 +2,12 @@ package coursier
|
|||
|
||||
import java.io.{ OutputStreamWriter, File }
|
||||
import java.net.URL
|
||||
import java.nio.file.Files
|
||||
import java.util.concurrent.{ ExecutorService, Executors }
|
||||
|
||||
import coursier.core.{ Authentication, Publication }
|
||||
import coursier.ivy.{ IvyRepository, PropertiesPattern }
|
||||
import coursier.Keys._
|
||||
import coursier.Structure._
|
||||
import coursier.maven.WritePom
|
||||
import coursier.util.{ Config, Print }
|
||||
import org.apache.ivy.core.module.id.ModuleRevisionId
|
||||
|
||||
|
|
@ -397,38 +395,6 @@ object Tasks {
|
|||
else
|
||||
coursierRecursiveResolvers.value.distinct
|
||||
|
||||
val sourceRepositories = coursierSourceRepositories.value.map { dir =>
|
||||
// FIXME Don't hardcode this path?
|
||||
new File(dir, "target/repository")
|
||||
}
|
||||
|
||||
val sourceRepositoriesForcedDependencies = sourceRepositories.flatMap {
|
||||
base =>
|
||||
|
||||
def pomDirComponents(f: File, components: Vector[String]): Stream[Vector[String]] =
|
||||
if (f.isDirectory) {
|
||||
val components0 = components :+ f.getName
|
||||
Option(f.listFiles()).toStream.flatten.flatMap(pomDirComponents(_, components0))
|
||||
} else if (f.getName.endsWith(".pom"))
|
||||
Stream(components)
|
||||
else
|
||||
Stream.empty
|
||||
|
||||
Option(base.listFiles())
|
||||
.toVector
|
||||
.flatten
|
||||
.flatMap(pomDirComponents(_, Vector()))
|
||||
// at least 3 for org / name / version - the contrary should not happen, but who knows
|
||||
.filter(_.length >= 3)
|
||||
.map { components =>
|
||||
val org = components.dropRight(2).mkString(".")
|
||||
val name = components(components.length - 2)
|
||||
val version = components.last
|
||||
|
||||
Module(org, name) -> version
|
||||
}
|
||||
}
|
||||
|
||||
// TODO Warn about possible duplicated modules from source repositories?
|
||||
|
||||
val verbosityLevel = coursierVerbosity.value
|
||||
|
|
@ -449,7 +415,6 @@ object Tasks {
|
|||
forceVersions =
|
||||
// order matters here
|
||||
userForceVersions ++
|
||||
sourceRepositoriesForcedDependencies ++
|
||||
forcedScalaModules(so, sv) ++
|
||||
interProjectDependencies.map(_.moduleVersion)
|
||||
)
|
||||
|
|
@ -508,11 +473,6 @@ object Tasks {
|
|||
|
||||
val authenticationByRepositoryId = coursierCredentials.value.mapValues(_.authentication)
|
||||
|
||||
val sourceRepositories0 = sourceRepositories.map {
|
||||
base =>
|
||||
MavenRepository(base.toURI.toString, changing = Some(true))
|
||||
}
|
||||
|
||||
val fallbackDependenciesRepositories =
|
||||
if (fallbackDependencies.isEmpty)
|
||||
Nil
|
||||
|
|
@ -564,7 +524,6 @@ object Tasks {
|
|||
|
||||
val repositories =
|
||||
internalRepositories ++
|
||||
sourceRepositories0 ++
|
||||
resolvers.flatMap { resolver =>
|
||||
FromSbt.repository(
|
||||
resolver,
|
||||
|
|
@ -998,93 +957,4 @@ object Tasks {
|
|||
)
|
||||
}
|
||||
|
||||
def coursierExportTask =
|
||||
(
|
||||
sbt.Keys.state,
|
||||
sbt.Keys.thisProjectRef,
|
||||
sbt.Keys.projectID,
|
||||
sbt.Keys.scalaVersion,
|
||||
sbt.Keys.scalaBinaryVersion,
|
||||
sbt.Keys.ivyConfigurations,
|
||||
streams,
|
||||
coursierProject,
|
||||
coursierExportDirectory,
|
||||
coursierExportJavadoc,
|
||||
coursierExportSources
|
||||
).flatMap { (state, projectRef, projId, sv, sbv, ivyConfs, streams, proj, exportDir, exportJavadoc, exportSources) =>
|
||||
|
||||
val javadocPackageTasks =
|
||||
if (exportJavadoc)
|
||||
Seq(Some("javadoc") -> packageDoc)
|
||||
else
|
||||
Nil
|
||||
|
||||
val sourcesPackageTasks =
|
||||
if (exportJavadoc)
|
||||
Seq(Some("sources") -> packageSrc)
|
||||
else
|
||||
Nil
|
||||
|
||||
val packageTasks = Seq(None -> packageBin) ++ javadocPackageTasks ++ sourcesPackageTasks
|
||||
|
||||
val configs = Seq(None -> Compile, Some("tests") -> Test)
|
||||
|
||||
val productTasks =
|
||||
for {
|
||||
(classifierOpt, pkgTask) <- packageTasks
|
||||
(classifierPrefixOpt, config) <- configs
|
||||
if publishArtifact.in(projectRef).in(pkgTask).in(config).getOrElse(state, false)
|
||||
} yield {
|
||||
val classifier = (classifierPrefixOpt.toSeq ++ classifierOpt.toSeq).mkString("-")
|
||||
pkgTask.in(projectRef).in(config).get(state).map((classifier, _))
|
||||
}
|
||||
|
||||
val productTask = sbt.std.TaskExtra.joinTasks(productTasks).join
|
||||
|
||||
val dir = new File(
|
||||
exportDir,
|
||||
s"${proj.module.organization.replace('.', '/')}/${proj.module.name}/${proj.version}"
|
||||
)
|
||||
|
||||
def pom = "<?xml version='1.0' encoding='UTF-8'?>\n" + WritePom.project(proj, Some("jar"))
|
||||
|
||||
val log = streams.log
|
||||
|
||||
productTask.map { products =>
|
||||
|
||||
if (products.isEmpty)
|
||||
None
|
||||
else {
|
||||
|
||||
dir.mkdirs()
|
||||
|
||||
val pomFile = new File(dir, s"${proj.module.name}-${proj.version}.pom")
|
||||
Files.write(pomFile.toPath, pom.getBytes("UTF-8"))
|
||||
log.info(s"Wrote POM file to $pomFile")
|
||||
|
||||
for ((classifier, f) <- products) {
|
||||
|
||||
val suffix = if (classifier.isEmpty) "" else "-" + classifier
|
||||
|
||||
val jarPath = new File(dir, s"${proj.module.name}-${proj.version}$suffix.jar")
|
||||
|
||||
if (jarPath.exists()) {
|
||||
if (!jarPath.delete())
|
||||
log.warn(s"Cannot remove $jarPath")
|
||||
}
|
||||
|
||||
Files.createSymbolicLink(
|
||||
jarPath.toPath,
|
||||
dir.toPath.relativize(f.toPath)
|
||||
)
|
||||
log.info(s"Created symbolic link $jarPath -> $f")
|
||||
}
|
||||
|
||||
// TODO Clean extra files in dir
|
||||
|
||||
Some(exportDir)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue