Merge remote-tracking branch 'upstream/stable' into merge_stable
commit e27b5fafc43ec50b2cdf1743a5f75577329e1f2d
2 parents 6df7522 + 5e20de1
@Martin Nowak Martin Nowak authored on 13 Jul 2021
Showing 2 changed files
View
22
source/dub/generators/build.d
private string shrinkPath(NativePath path, NativePath base)
{
auto orig = path.toNativeString();
if (!path.absolute) return orig;
auto ret = path.relativeTo(base).toNativeString();
return ret.length < orig.length ? ret : orig;
version (Windows)
{
// avoid relative paths starting with `..\`: https://github.com/dlang/dub/issues/2143
if (!path.startsWith(base)) return orig;
}
auto rel = path.relativeTo(base).toNativeString();
return rel.length < orig.length ? rel : orig;
}
 
unittest {
assert(shrinkPath(NativePath("/foo/bar/baz"), NativePath("/foo")) == NativePath("bar/baz").toNativeString());
assert(shrinkPath(NativePath("/foo/bar/baz"), NativePath("/foo/baz")) == NativePath("../bar/baz").toNativeString());
version (Windows)
assert(shrinkPath(NativePath("/foo/bar/baz"), NativePath("/foo/baz")) == NativePath("/foo/bar/baz").toNativeString());
else
assert(shrinkPath(NativePath("/foo/bar/baz"), NativePath("/foo/baz")) == NativePath("../bar/baz").toNativeString());
assert(shrinkPath(NativePath("/foo/bar/baz"), NativePath("/bar/")) == NativePath("/foo/bar/baz").toNativeString());
assert(shrinkPath(NativePath("/foo/bar/baz"), NativePath("/bar/baz")) == NativePath("/foo/bar/baz").toNativeString());
}
 
View
2
■■■
source/dub/version_.d
module dub.version_;
enum dubVersion = "v1.26.0";
enum dubVersion = "v1.26.1-beta.1";