diff --git a/plugin/src/main/scala-2.10/coursier/CoursierPlugin.scala b/plugin/src/main/scala-2.10/coursier/CoursierPlugin.scala index 573e6e3ef..dcf7378c2 100644 --- a/plugin/src/main/scala-2.10/coursier/CoursierPlugin.scala +++ b/plugin/src/main/scala-2.10/coursier/CoursierPlugin.scala @@ -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) diff --git a/plugin/src/main/scala-2.10/coursier/Keys.scala b/plugin/src/main/scala-2.10/coursier/Keys.scala index 46f7c18a6..e8b5c5bc7 100644 --- a/plugin/src/main/scala-2.10/coursier/Keys.scala +++ b/plugin/src/main/scala-2.10/coursier/Keys.scala @@ -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" - ) } diff --git a/plugin/src/main/scala-2.10/coursier/Tasks.scala b/plugin/src/main/scala-2.10/coursier/Tasks.scala index efe428d39..4b5413bdd 100644 --- a/plugin/src/main/scala-2.10/coursier/Tasks.scala +++ b/plugin/src/main/scala-2.10/coursier/Tasks.scala @@ -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 = "\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) - } - } - } - }