From 36ba4b6252236667ffcc1ff8f967e95eafd5a4c5 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Tue, 21 Feb 2017 15:57:40 +0100 Subject: [PATCH] Remove unnecessary --default-artifact-type option, fix javadoc / sources --- .../scala-2.11/coursier/cli/Bootstrap.scala | 11 ++++------ .../main/scala-2.11/coursier/cli/Fetch.scala | 5 ++++- .../main/scala-2.11/coursier/cli/Helper.scala | 14 ++++++------- .../scala-2.11/coursier/cli/Options.scala | 21 +++++++++---------- .../scala-2.11/coursier/cli/SparkSubmit.scala | 4 ++-- 5 files changed, 27 insertions(+), 28 deletions(-) diff --git a/cli/src/main/scala-2.11/coursier/cli/Bootstrap.scala b/cli/src/main/scala-2.11/coursier/cli/Bootstrap.scala index 071de1c5e..1174dd156 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Bootstrap.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Bootstrap.scala @@ -65,10 +65,7 @@ final case class Bootstrap( sys.exit(1) } - val isolatedDeps = options.isolated.isolatedDeps( - options.common.defaultArtifactType, - options.common.scalaVersion - ) + val isolatedDeps = options.isolated.isolatedDeps(options.common.scalaVersion) val (_, isolatedArtifactFiles) = options.isolated.targets.foldLeft((Vector.empty[String], Map.empty[String, (Seq[String], Seq[File])])) { @@ -81,7 +78,7 @@ final case class Bootstrap( def subFiles0 = helper.fetch( sources = false, javadoc = false, - artifactTypes = artifactOptions.artifactTypes, + artifactTypes = artifactOptions.artifactTypes(sources = false, javadoc = false), subset = isolatedDeps.getOrElse(target, Seq.empty).toSet ) @@ -103,7 +100,7 @@ final case class Bootstrap( helper.fetch( sources = false, javadoc = false, - artifactTypes = artifactOptions.artifactTypes + artifactTypes = artifactOptions.artifactTypes(sources = false, javadoc = false) ) ) else @@ -111,7 +108,7 @@ final case class Bootstrap( helper.artifacts( sources = false, javadoc = false, - artifactTypes = artifactOptions.artifactTypes + artifactTypes = artifactOptions.artifactTypes(sources = false, javadoc = false) ).map(_.url), Seq.empty[File] ) diff --git a/cli/src/main/scala-2.11/coursier/cli/Fetch.scala b/cli/src/main/scala-2.11/coursier/cli/Fetch.scala index a541e02f0..916c0e546 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Fetch.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Fetch.scala @@ -17,7 +17,10 @@ final case class Fetch( val files0 = helper.fetch( sources = options.sources, javadoc = options.javadoc, - artifactTypes = options.artifactOptions.artifactTypes + artifactTypes = options.artifactOptions.artifactTypes( + options.sources || options.common.classifier0("sources"), + options.javadoc || options.common.classifier0("javadoc") + ) ) val out = diff --git a/cli/src/main/scala-2.11/coursier/cli/Helper.scala b/cli/src/main/scala-2.11/coursier/cli/Helper.scala index ee3df053a..6b2c2ee7e 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Helper.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Helper.scala @@ -249,7 +249,7 @@ class Helper( Dependency( module, version, - attributes = Attributes(defaultArtifactType, ""), + attributes = Attributes("", ""), configuration = configOpt.getOrElse(defaultConfiguration), exclusions = excludes ) @@ -260,7 +260,7 @@ class Helper( Dependency( module, version, - attributes = Attributes(defaultArtifactType, ""), + attributes = Attributes("", ""), configuration = configOpt.getOrElse(defaultConfiguration), exclusions = excludes, transitive = false @@ -523,11 +523,11 @@ class Helper( if (classifier0.nonEmpty || sources || javadoc) { var classifiers = classifier0 if (sources) - classifiers = classifiers :+ "sources" + classifiers = classifiers + "sources" if (javadoc) - classifiers = classifiers :+ "javadoc" + classifiers = classifiers + "javadoc" - res0.dependencyClassifiersArtifacts(classifiers.distinct).map(_._2) + res0.dependencyClassifiersArtifacts(classifiers.toVector.sorted).map(_._2) } else res0.dependencyArtifacts.map(_._2) @@ -616,7 +616,7 @@ class Helper( // FIXME That shouldn't be hard-coded this way... // This whole class ought to be rewritten more cleanly. - val artifactTypes = Set("jar") + val artifactTypes = Set("jar", "bundle") val files0 = fetch( sources = false, @@ -628,7 +628,7 @@ class Helper( (baseLoader, files0) else { - val isolatedDeps = isolated.isolatedDeps(common.defaultArtifactType, common.scalaVersion) + val isolatedDeps = isolated.isolatedDeps(common.scalaVersion) val (isolatedLoader, filteredFiles0) = isolated.targets.foldLeft((baseLoader, files0)) { case ((parent, files0), target) => diff --git a/cli/src/main/scala-2.11/coursier/cli/Options.scala b/cli/src/main/scala-2.11/coursier/cli/Options.scala index deb6df077..b2a183a54 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Options.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Options.scala @@ -61,10 +61,6 @@ final case class CommonOptions( @Value("configuration") @Short("c") defaultConfiguration: String = "default(compile)", - @Help("Default artifact type (default: follow packaging infos, else default to jar)") - @Value("type") - @Short("a") - defaultArtifactType: String = "", @Help("Maximum number of parallel downloads (default: 6)") @Short("n") parallel: Int = 6, @@ -91,7 +87,7 @@ final case class CommonOptions( cacheOptions: CacheOptions = CacheOptions() ) { val verbosityLevel = Tag.unwrap(verbose) - (if (quiet) 1 else 0) - lazy val classifier0 = classifier.flatMap(_.split(',')).filter(_.nonEmpty) + lazy val classifier0 = classifier.flatMap(_.split(',')).filter(_.nonEmpty).toSet } final case class CacheOptions( @@ -154,7 +150,7 @@ final case class IsolatedLoaderOptions( t -> modVers } - def isolatedDeps(defaultArtifactType: String, defaultScalaVersion: String) = + def isolatedDeps(defaultScalaVersion: String) = isolatedModuleVersions(defaultScalaVersion).map { case (t, l) => t -> l.map { @@ -163,7 +159,7 @@ final case class IsolatedLoaderOptions( mod, ver, configuration = "runtime", - attributes = Attributes(defaultArtifactType, "") + attributes = Attributes("", "") ) } } @@ -182,15 +178,18 @@ final case class ArtifactOptions( @Help("Fetch artifacts even if the resolution is errored") force: Boolean = false ) { - lazy val artifactTypes = { + def artifactTypes(sources: Boolean, javadoc: Boolean) = { val types0 = artifactType .flatMap(_.split(',')) .filter(_.nonEmpty) .toSet - if (types0.isEmpty) - ArtifactOptions.defaultArtifactTypes - else if (types0("*")) + if (types0.isEmpty) { + if (sources || javadoc) + Some("src").filter(_ => sources).toSet ++ Some("doc").filter(_ => javadoc) + else + ArtifactOptions.defaultArtifactTypes + } else if (types0("*")) Set("*") else types0 diff --git a/cli/src/main/scala-2.11/coursier/cli/SparkSubmit.scala b/cli/src/main/scala-2.11/coursier/cli/SparkSubmit.scala index 72f48b777..9b5abdfa5 100644 --- a/cli/src/main/scala-2.11/coursier/cli/SparkSubmit.scala +++ b/cli/src/main/scala-2.11/coursier/cli/SparkSubmit.scala @@ -73,7 +73,7 @@ final case class SparkSubmit( helper.fetch( sources = false, javadoc = false, - artifactTypes = options.artifactOptions.artifactTypes + artifactTypes = options.artifactOptions.artifactTypes(sources = false, javadoc = false) ) ++ options.extraJars.map(new File(_)) val (scalaVersion, sparkVersion) = @@ -195,7 +195,7 @@ final case class SparkSubmit( sparkVersion, options.noDefaultSubmitDependencies, options.submitDependencies.flatMap(_.split(",")).filter(_.nonEmpty), - options.artifactOptions.artifactTypes, + options.artifactOptions.artifactTypes(sources = false, javadoc = false), options.common )