mirror of https://github.com/sbt/sbt.git
Fix issue where last path component of local repository was dropped if it did not exist.
git-svn-id: https://simple-build-tool.googlecode.com/svn/trunk@1057 d89573ee-9141-11dd-94d4-bdf5e562f29c
This commit is contained in:
parent
1cee3e8542
commit
42b343ca9a
|
|
@ -623,7 +623,7 @@ object ManageDependencies
|
|||
import XmlModuleDescriptorParser.Parser
|
||||
class CustomParser(settings: IvySettings, defaultConfig: Option[String]) extends Parser(CustomXmlParser, settings) with NotNull
|
||||
{
|
||||
defaultConfig.foreach(x => setDefaultConfMapping("*->default(compile)"))
|
||||
if(defaultConfig.isDefined) setDefaultConfMapping("*->default(compile)")
|
||||
|
||||
def setSource(url: URL) =
|
||||
{
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@ object Resolver
|
|||
/** Constructs a file resolver with the given name and base directory. */
|
||||
def apply(name: String, baseDirectory: File)(implicit basePatterns: Patterns): FileRepository =
|
||||
{
|
||||
if(baseDirectory.exists && !baseDirectory.isDirectory) error("Not a directory: " + baseDirectory.getAbsolutePath) else baseDirectory.mkdirs()
|
||||
if(baseDirectory.exists && !baseDirectory.isDirectory) error("Not a directory: " + baseDirectory.getAbsolutePath)
|
||||
baseRepository(baseDirectory.toURI)(FileRepository(name, defaultFileConfiguration, _))
|
||||
}
|
||||
}
|
||||
|
|
@ -274,7 +274,7 @@ object Resolver
|
|||
baseRepository(baseURL.toURI)(URLRepository(name, _))
|
||||
}
|
||||
private def baseRepository[T](baseURI: java.net.URI)(construct: Patterns => T)(implicit basePatterns: Patterns): T =
|
||||
construct(resolvePatterns(baseURI.normalize, basePatterns))
|
||||
construct(resolvePatterns(normalize(baseURI), basePatterns))
|
||||
|
||||
/** If `base` is None, `patterns` is returned unchanged.
|
||||
* Otherwise, the ivy file and artifact patterns in `patterns` are resolved against the given base. */
|
||||
|
|
@ -291,6 +291,14 @@ object Resolver
|
|||
def resolveAll(patterns: Seq[String]) = patterns.map(resolve)
|
||||
Patterns(resolveAll(basePatterns.ivyPatterns), resolveAll(basePatterns.artifactPatterns), basePatterns.isMavenCompatible)
|
||||
}
|
||||
/** Normalizes the given URI, which is assumed to represent a directory, even if that directory does not exist. This method exists
|
||||
* because URI.normalize does not append a slash if the directory does not exist.*/
|
||||
private def normalize(uri: URI) =
|
||||
{
|
||||
val normalized = uri.normalize
|
||||
val normString = normalized.toString
|
||||
if(normString.endsWith("/")) normalized else new URI(normString + "/")
|
||||
}
|
||||
/** Constructs a `URI` with the path component set to `path` and the other components set to null.*/
|
||||
private def pathURI(path: String) = new URI(null, null, path, null)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue