diff --git a/build.sbt b/build.sbt index e2e301bb5..7e16726bd 100644 --- a/build.sbt +++ b/build.sbt @@ -413,7 +413,7 @@ lazy val sbtProj = (project in sbtPath). ) lazy val mavenResolverPluginProj = (project in file("sbt-maven-resolver")). - dependsOn(sbtProj). + dependsOn(sbtProj, ivyProj % "test->test"). settings(baseSettings: _*). settings( name := "sbt-maven-resolver", diff --git a/sbt-maven-resolver/src/main/scala/org/apache/maven/repository/internal/SbtExtraProperties.java b/ivy/src/main/java/sbt/SbtExtraProperties.java similarity index 94% rename from sbt-maven-resolver/src/main/scala/org/apache/maven/repository/internal/SbtExtraProperties.java rename to ivy/src/main/java/sbt/SbtExtraProperties.java index 5570d4fac..bcc9b8189 100644 --- a/sbt-maven-resolver/src/main/scala/org/apache/maven/repository/internal/SbtExtraProperties.java +++ b/ivy/src/main/java/sbt/SbtExtraProperties.java @@ -1,6 +1,4 @@ -package org.apache.maven.repository.internal; - - +package sbt; /** * Extra properties we dump from Aether into the properties list. diff --git a/ivy/src/main/scala/sbt/CustomPomParser.scala b/ivy/src/main/scala/sbt/CustomPomParser.scala index d931cefe6..c9e660833 100644 --- a/ivy/src/main/scala/sbt/CustomPomParser.scala +++ b/ivy/src/main/scala/sbt/CustomPomParser.scala @@ -13,7 +13,7 @@ import java.io.{ File, InputStream } import java.net.URL import java.util.regex.Pattern -import org.apache.maven.repository.internal.{ SbtExtraProperties, PomExtraDependencyAttributes } +import org.apache.maven.repository.internal.{ PomExtraDependencyAttributes } @deprecated("0.13.8", "We now use an Aether-based pom parser.") final class CustomPomParser(delegate: ModuleDescriptorParser, transform: (ModuleDescriptorParser, ModuleDescriptor) => ModuleDescriptor) extends ModuleDescriptorParser { diff --git a/ivy/src/main/scala/sbt/ModuleID.scala b/ivy/src/main/scala/sbt/ModuleID.scala index bf734f5f7..4b244df44 100644 --- a/ivy/src/main/scala/sbt/ModuleID.scala +++ b/ivy/src/main/scala/sbt/ModuleID.scala @@ -5,8 +5,6 @@ package sbt import java.net.URL -import org.apache.maven.repository.internal.SbtExtraProperties - final case class ModuleID(organization: String, name: String, revision: String, configurations: Option[String] = None, isChanging: Boolean = false, isTransitive: Boolean = true, isForce: Boolean = false, explicitArtifacts: Seq[Artifact] = Nil, exclusions: Seq[ExclusionRule] = Nil, extraAttributes: Map[String, String] = Map.empty, crossVersion: CrossVersion = CrossVersion.Disabled) { override def toString: String = organization + ":" + name + ":" + revision + diff --git a/main/src/main/scala/sbt/APIMappings.scala b/main/src/main/scala/sbt/APIMappings.scala index 59895a83e..40d26709d 100644 --- a/main/src/main/scala/sbt/APIMappings.scala +++ b/main/src/main/scala/sbt/APIMappings.scala @@ -3,8 +3,6 @@ package sbt import java.io.File import java.net.{ MalformedURLException, URL } -import org.apache.maven.repository.internal.SbtExtraProperties - private[sbt] object APIMappings { def extract(cp: Seq[Attributed[File]], log: Logger): Seq[(File, URL)] = cp.flatMap(entry => extractFromEntry(entry, log)) diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 45a92572f..21b1ae7bf 100755 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -5,7 +5,7 @@ package sbt import Attributed.data import Scope.{ fillTaskAxis, GlobalScope, ThisScope } -import org.apache.maven.repository.internal.{ SbtExtraProperties, PomExtraDependencyAttributes } +import org.apache.maven.repository.internal.PomExtraDependencyAttributes import sbt.Compiler.InputsWithPrevious import xsbt.api.Discovery import xsbti.compile.CompileOrder diff --git a/sbt-maven-resolver/src/main/scala/org/apache/ivy/plugins/resolver/MavenRepositoryResolver.scala b/sbt-maven-resolver/src/main/scala/org/apache/ivy/plugins/resolver/MavenRepositoryResolver.scala index a5336ad3b..183b7f839 100644 --- a/sbt-maven-resolver/src/main/scala/org/apache/ivy/plugins/resolver/MavenRepositoryResolver.scala +++ b/sbt-maven-resolver/src/main/scala/org/apache/ivy/plugins/resolver/MavenRepositoryResolver.scala @@ -15,7 +15,7 @@ import org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriter import org.apache.ivy.plugins.resolver.MavenRepositoryResolver.JarPackaging import org.apache.ivy.plugins.resolver.util.ResolvedResource import org.apache.ivy.util.Message -import org.apache.maven.repository.internal.{ PomExtraDependencyAttributes, SbtRepositoryLayout, SbtExtraProperties } +import org.apache.maven.repository.internal.{ PomExtraDependencyAttributes, SbtRepositoryLayout } import org.eclipse.aether.{ RepositorySystemSession, RepositorySystem } import org.eclipse.aether.artifact.{ DefaultArtifact => AetherArtifact } import org.eclipse.aether.metadata.{ Metadata, DefaultMetadata } @@ -29,7 +29,7 @@ import org.eclipse.aether.resolution.{ import org.eclipse.aether.deployment.{ DeployRequest => AetherDeployRequest } import org.eclipse.aether.installation.{ InstallRequest => AetherInstallRequest } import org.apache.ivy.core.cache.{ ModuleDescriptorWriter, ArtifactOrigin } -import sbt.{ MavenCache, MavenRepository } +import sbt.{ MavenCache, MavenRepository, SbtExtraProperties } import sbt.ivyint.{ CustomMavenResolver, CustomRemoteMavenResolver } import scala.collection.JavaConverters._ diff --git a/sbt-maven-resolver/src/main/scala/org/apache/maven/repository/internal/SbtArtifactDescriptorReader.java b/sbt-maven-resolver/src/main/scala/org/apache/maven/repository/internal/SbtArtifactDescriptorReader.java index c816145e9..7e45ed94c 100644 --- a/sbt-maven-resolver/src/main/scala/org/apache/maven/repository/internal/SbtArtifactDescriptorReader.java +++ b/sbt-maven-resolver/src/main/scala/org/apache/maven/repository/internal/SbtArtifactDescriptorReader.java @@ -81,6 +81,7 @@ import org.eclipse.aether.spi.log.Logger; import org.eclipse.aether.spi.log.LoggerFactory; import org.eclipse.aether.spi.log.NullLoggerFactory; import org.eclipse.aether.transfer.ArtifactNotFoundException; +import sbt.SbtExtraProperties; /** * A hacked version of maven's default artifact descriptor reader which we use in place of the standard aether adapter. diff --git a/sbt-maven-resolver/src/main/scala/org/apache/maven/repository/internal/SbtRepositoryLayout.scala b/sbt-maven-resolver/src/main/scala/org/apache/maven/repository/internal/SbtRepositoryLayout.scala index 23fe7630a..412ba690f 100644 --- a/sbt-maven-resolver/src/main/scala/org/apache/maven/repository/internal/SbtRepositoryLayout.scala +++ b/sbt-maven-resolver/src/main/scala/org/apache/maven/repository/internal/SbtRepositoryLayout.scala @@ -9,6 +9,7 @@ import org.eclipse.aether.metadata.Metadata import org.eclipse.aether.spi.connector.layout.RepositoryLayout.Checksum import org.eclipse.aether.artifact.Artifact import java.net.URI +import sbt.SbtExtraProperties import scala.util.matching.Regex diff --git a/ivy/src/test/scala/MavenResolutionSpec.scala b/sbt-maven-resolver/src/test/scala/MavenResolutionSpec.scala similarity index 99% rename from ivy/src/test/scala/MavenResolutionSpec.scala rename to sbt-maven-resolver/src/test/scala/MavenResolutionSpec.scala index 8015e78a8..1013fc80b 100644 --- a/ivy/src/test/scala/MavenResolutionSpec.scala +++ b/sbt-maven-resolver/src/test/scala/MavenResolutionSpec.scala @@ -55,7 +55,7 @@ class MavenResolutionSpec extends BaseIvySpecification { import ShowLines._ - def defaultUpdateOptions = UpdateOptions().withAetherResolution(true) + def defaultUpdateOptions = UpdateOptions().withResolverConverter(MavenResolverConverter.converter) def resolveMajorConflicts = { val m = module(ModuleID("com.example", "foo", "0.1.0", Some("compile")), diff --git a/sbt/src/sbt-test/dependency-management/mvn-local/project/plugin.sbt b/sbt/src/sbt-test/dependency-management/cache-classifiers/project/maven.sbt similarity index 100% rename from sbt/src/sbt-test/dependency-management/mvn-local/project/plugin.sbt rename to sbt/src/sbt-test/dependency-management/cache-classifiers/project/maven.sbt diff --git a/sbt/src/sbt-test/dependency-management/mvn-local/project/maven.sbt b/sbt/src/sbt-test/dependency-management/mvn-local/project/maven.sbt new file mode 100644 index 000000000..1ae548913 --- /dev/null +++ b/sbt/src/sbt-test/dependency-management/mvn-local/project/maven.sbt @@ -0,0 +1,2 @@ +libraryDependencies += Defaults.sbtPluginExtra("org.scala-sbt" % "sbt-maven-resolver" % sbtVersion.value, + sbtBinaryVersion.value, scalaBinaryVersion.value) diff --git a/sbt/src/sbt-test/dependency-management/pom-advanced/project/maven.sbt b/sbt/src/sbt-test/dependency-management/pom-advanced/project/maven.sbt new file mode 100644 index 000000000..1ae548913 --- /dev/null +++ b/sbt/src/sbt-test/dependency-management/pom-advanced/project/maven.sbt @@ -0,0 +1,2 @@ +libraryDependencies += Defaults.sbtPluginExtra("org.scala-sbt" % "sbt-maven-resolver" % sbtVersion.value, + sbtBinaryVersion.value, scalaBinaryVersion.value) diff --git a/sbt/src/sbt-test/dependency-management/t468/project/maven.sbt b/sbt/src/sbt-test/dependency-management/t468/project/maven.sbt new file mode 100644 index 000000000..1ae548913 --- /dev/null +++ b/sbt/src/sbt-test/dependency-management/t468/project/maven.sbt @@ -0,0 +1,2 @@ +libraryDependencies += Defaults.sbtPluginExtra("org.scala-sbt" % "sbt-maven-resolver" % sbtVersion.value, + sbtBinaryVersion.value, scalaBinaryVersion.value)