diff --git a/ivy/ConvertResolver.scala b/ivy/ConvertResolver.scala index f99a1fb9a..1d6920c5c 100644 --- a/ivy/ConvertResolver.scala +++ b/ivy/ConvertResolver.scala @@ -19,7 +19,7 @@ private object ConvertResolver { case repo: MavenRepository => { - val pattern = Collections.singletonList(repo.root + Resolver.mavenStyleBasePattern) + val pattern = Collections.singletonList(Resolver.resolvePattern(repo.root, Resolver.mavenStyleBasePattern)) final class PluginCapableResolver extends IBiblioResolver { def setPatterns() { // done this way for access to protected methods. setArtifactPatterns(pattern) diff --git a/ivy/IvyInterface.scala b/ivy/IvyInterface.scala index a1eadeb1c..d8c5c0ac6 100644 --- a/ivy/IvyInterface.scala +++ b/ivy/IvyInterface.scala @@ -275,12 +275,14 @@ object Resolver /** Resolves the ivy file and artifact patterns in `patterns` against the given base. */ private def resolvePatterns(base: String, basePatterns: Patterns): Patterns = { - val normBase = base.replace('\\', '/') - def resolve(pattern: String) = if(normBase.endsWith("/") || pattern.startsWith("/")) normBase +pattern else normBase + "/" + pattern - def resolveAll(patterns: Seq[String]) = patterns.map(resolve) + def resolveAll(patterns: Seq[String]) = patterns.map(p => resolvePattern(base, p)) Patterns(resolveAll(basePatterns.ivyPatterns), resolveAll(basePatterns.artifactPatterns), basePatterns.isMavenCompatible) } - + private[sbt] def resolvePattern(base: String, pattern: String): String = + { + val normBase = base.replace('\\', '/') + if(normBase.endsWith("/") || pattern.startsWith("/")) normBase + pattern else normBase + "/" + pattern + } def defaultFileConfiguration = FileConfiguration(true, None) def mavenStylePatterns = Patterns(Nil, mavenStyleBasePattern :: Nil, true) def ivyStylePatterns = defaultIvyPatterns//Patterns(Nil, Nil, false)