diff --git a/main/Build.scala b/main/Build.scala index cc2cc32da..44f53c8bf 100644 --- a/main/Build.scala +++ b/main/Build.scala @@ -57,7 +57,9 @@ object RetrieveUnit object Path { - def unapply(uri: URI) = Option(uri.getPath) + import RichURI.fromURI + + def unapply(uri: URI) = Option(uri.withoutMarkerScheme.getPath) } } object EvaluateConfigurations diff --git a/main/Resolvers.scala b/main/Resolvers.scala index 0e7d49e42..063a1a288 100644 --- a/main/Resolvers.scala +++ b/main/Resolvers.scala @@ -63,7 +63,7 @@ object Resolvers } } - val uri = info.uri + val uri = info.uri.withoutMarkerScheme val staging = info.staging Some { () => diff --git a/util/io/RichURI.scala b/util/io/RichURI.scala index 1cd4cab48..94e4de29c 100644 --- a/util/io/RichURI.scala +++ b/util/io/RichURI.scala @@ -20,6 +20,19 @@ class RichURI(uri: URI) new URI(uri.getScheme, uri.getSchemeSpecificPart, null) else uri + + def hasMarkerScheme = new URI(uri.getSchemeSpecificPart).getScheme ne null + + def withoutMarkerScheme = + { + if (hasMarkerScheme) + if (hasFragment) + new URI(uri.getSchemeSpecificPart + "#" + uri.getFragment) + else + new URI(uri.getSchemeSpecificPart) + else + uri + } } object RichURI