diff --git a/source/dub/commandline.d b/source/dub/commandline.d index d49a6e7..738f30c 100644 --- a/source/dub/commandline.d +++ b/source/dub/commandline.d @@ -896,8 +896,8 @@ // the user provided a version manually dep = Dependency(packageParts.version_); } else { - const pack = dub.packageManager.getFirstPackage(packageParts.name); - if (pack) + if (packageParts.name.startsWith(":") || + dub.packageManager.getFirstPackage(packageParts.name)) // found locally return 0; diff --git a/test/issue1691-build-subpkg.sh b/test/issue1691-build-subpkg.sh new file mode 100755 index 0000000..ea70068 --- /dev/null +++ b/test/issue1691-build-subpkg.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +. $(dirname "${BASH_SOURCE[0]}")/common.sh +$DUB build --root="$CURR_DIR/issue1691-build-subpkg" :subpkg diff --git a/test/issue1691-build-subpkg/.gitignore b/test/issue1691-build-subpkg/.gitignore new file mode 100644 index 0000000..1ba3960 --- /dev/null +++ b/test/issue1691-build-subpkg/.gitignore @@ -0,0 +1,15 @@ +.dub +docs.json +__dummy.html +docs/ +/issue1691-build-subpkg +issue1691-build-subpkg.so +issue1691-build-subpkg.dylib +issue1691-build-subpkg.dll +issue1691-build-subpkg.a +issue1691-build-subpkg.lib +issue1691-build-subpkg-test-* +*.exe +*.o +*.obj +*.lst diff --git a/test/issue1691-build-subpkg/.no_build b/test/issue1691-build-subpkg/.no_build new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/issue1691-build-subpkg/.no_build diff --git a/test/issue1691-build-subpkg/dub.sdl b/test/issue1691-build-subpkg/dub.sdl new file mode 100644 index 0000000..e7ab799 --- /dev/null +++ b/test/issue1691-build-subpkg/dub.sdl @@ -0,0 +1,3 @@ +name "issue1691-build-subpkg" +dependency ":subpkg" version="*" +subPackage "./subpkg/" diff --git a/test/issue1691-build-subpkg/source/app.d b/test/issue1691-build-subpkg/source/app.d new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/issue1691-build-subpkg/source/app.d diff --git a/test/issue1691-build-subpkg/subpkg/dub.sdl b/test/issue1691-build-subpkg/subpkg/dub.sdl new file mode 100644 index 0000000..25c3c2a --- /dev/null +++ b/test/issue1691-build-subpkg/subpkg/dub.sdl @@ -0,0 +1 @@ +name "subpkg" diff --git a/test/issue1691-build-subpkg/subpkg/source/subpkg.d b/test/issue1691-build-subpkg/subpkg/source/subpkg.d new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/issue1691-build-subpkg/subpkg/source/subpkg.d