diff --git a/source/dub/project.d b/source/dub/project.d index fb006c2..5eadb2e 100644 --- a/source/dub/project.d +++ b/source/dub/project.d @@ -284,12 +284,13 @@ Dependency vspec = dep.spec; Package p; - // non-optional and optional-default dependencies (if no selections file exists) - // need to be satisfied - bool is_desired = !vspec.optional || (vspec.default_ && m_selections.bare); - auto basename = getBasePackageName(dep.name); auto subname = getSubPackageName(dep.name); + + // non-optional and optional-default dependencies (if no selections file exists) + // need to be satisfied + bool is_desired = !vspec.optional || m_selections.hasSelectedVersion(basename) || (vspec.default_ && m_selections.bare); + if (dep.name == m_rootPackage.basePackage.name) { vspec = Dependency(m_rootPackage.version_); p = m_rootPackage.basePackage;