You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Because I'm using an external build system (esp-idf), my dub project is a subdirectory in the workspace.
Serve-d finds it just fine (with d.scanAllFolders) and uses it as a dub project, but gives an error when trying to set up the workspace folder as a project, which has no dub.sdl/json.
Currently there is no way to prevent the root folder being used as dub project (without d.neverUseDub).
One solution would be to not force add the workspace as a project, relying instead on d.scanAllFolders to find a dub.sdl/json in the workspace root. This would break projects using "d.scanAllFolders": false and not including "." in the d.extraRoots:
diff --git a/source/served/extension.d b/source/served/extension.d
index 715128e..a1a8d1d 100644
--- a/source/served/extension.d+++ b/source/served/extension.d@@ -506,31 +506,28 @@ RootSuggestion[] rootsForProject(string root, bool recursive, string[] blocked,
if (!ret.canFind!(a => a.dir == dir))
ret ~= RootSuggestion(dir, useDub);
}
- bool rootDub = dubRecipeExists(root, true);- addSuggestion(root, rootDub);-
if (recursive)
{
foreach (pkg; tryDirEntries(root, "dub.{json,sdl}", fs.SpanMode.breadth))
{
auto dir = dirName(pkg);
if (dir.canFind(".dub"))
continue;
- if (dir == root)- continue;
if (blocked.any!(a => globMatch(dir.relativePath(root), a)
|| globMatch(pkg.relativePath(root), a) || globMatch((dir ~ "/").relativePath, a)))
continue;
addSuggestion(dir, true);
}
}
Alternatively, another config option could be added to always include the workspace root as dub project, defaulting to true.
The text was updated successfully, but these errors were encountered:
Because I'm using an external build system (esp-idf), my dub project is a subdirectory in the workspace.
Serve-d finds it just fine (with
d.scanAllFolders
) and uses it as a dub project, but gives an error when trying to set up the workspace folder as a project, which has nodub.sdl/json
.Currently there is no way to prevent the root folder being used as dub project (without
d.neverUseDub
).One solution would be to not force add the workspace as a project, relying instead on
d.scanAllFolders
to find adub.sdl/json
in the workspace root. This would break projects using"d.scanAllFolders": false
and not including "." in thed.extraRoots
:Alternatively, another config option could be added to always include the workspace root as dub project, defaulting to
true
.The text was updated successfully, but these errors were encountered: