diff --git a/Makefile b/Makefile index cfe19614..c2e985f6 100644 --- a/Makefile +++ b/Makefile @@ -74,10 +74,10 @@ docs: dotnet run --project tools/DocGen -- src/Terrabuild.Extensions/bin/$(buildconfig)/net9.0/Terrabuild.Extensions.xml ../../websites/terrabuild.io/content/docs/extensions self: clean publish - .out/dotnet/terrabuild run build test dist --workspace src --configuration $(env) --retry --debug --logs --local-only + .out/dotnet/terrabuild run build test dist --configuration $(env) --retry --debug --logs --local-only terrabuild: - terrabuild run build test dist --workspace src --configuration $(env) --retry --debug --logs --local-only + terrabuild run build test dist --configuration $(env) --retry --debug --logs --local-only # diff --git a/src/WORKSPACE b/WORKSPACE similarity index 100% rename from src/WORKSPACE rename to WORKSPACE diff --git a/src/Terrabuild/Core/Configuration.fs b/src/Terrabuild/Core/Configuration.fs index cc7ca304..4e70856f 100644 --- a/src/Terrabuild/Core/Configuration.fs +++ b/src/Terrabuild/Core/Configuration.fs @@ -435,18 +435,24 @@ let read (options: ConfigOptions.Options) = let projectFiles = - let rec findDependencies dir = + let rec findDependencies isRoot dir = seq { - let projectFile = FS.combinePath dir "PROJECT" + let projectFile = FS.combinePath dir "PROJECT" match projectFile with | FS.File file -> file |> FS.parentDirectory |> FS.relativePath options.Workspace | _ -> - for subdir in dir |> IO.enumerateDirs do - yield! findDependencies subdir + // ignore sub WORKSPACE files if not root workspace + let workspaceFile = FS.combinePath dir "WORKSPACE" + match isRoot, workspaceFile with + | false, FS.File _ -> + () + | _ -> + for subdir in dir |> IO.enumerateDirs do + yield! findDependencies false subdir } - findDependencies options.Workspace + findDependencies true options.Workspace let projects = ConcurrentDictionary() let hub = Hub.Create(options.MaxConcurrency)