Merged PR 770069: Disable InBoxSdkSourceResolver for Ninja builds

The inbox sdk source resolver fails for Ninja builds. Disable it explicitly in this case, to not require this configuration explicitly in the resolver settings.

Related work items: #2154307
This commit is contained in:
Marcelo Lynch 🧉 2024-03-18 23:09:16 +00:00
Родитель b87534ec18
Коммит 3b54737b0b
3 изменённых файлов: 9 добавлений и 11 удалений

Просмотреть файл

@ -5,8 +5,5 @@ config({
root: d`.`,
moduleName: "CMakeNinjaProject",
}
],
// Inbox SDK is not currently working with the CMake resolver
disableInBoxSdkSourceResolver: true,
]
});

Просмотреть файл

@ -6,8 +6,5 @@ config({
moduleName: "HelloWorld",
keepProjectGraphFile: true,
}
],
// Inbox SDK is not currently working with the Ninja resolver
disableInBoxSdkSourceResolver: true,
]
});

Просмотреть файл

@ -1267,11 +1267,11 @@ namespace BuildXL.FrontEnd.Core
AbsolutePath configFilePath = configuration.Layout.PrimaryConfigFile;
var resolverSettings = new List<IResolverSettings>();
var resolverNames = new HashSet<string>();
if (configuration.Resolvers != null)
{
// Ensure all resolvers have a name.
int i = 0;
var resolverNames = new HashSet<string>();
foreach (var resolver in configuration.Resolvers)
{
if (!string.IsNullOrEmpty(resolver.Name))
@ -1311,9 +1311,13 @@ namespace BuildXL.FrontEnd.Core
// If configured, add an implicit DScript resolver that owns all in-box SDKs deployed
// alongside bxl binaries
if (TryCreateInBoxSDKResolver(configFilePath, out IDScriptResolverSettings settings))
// The Ninja resolver is incompatible with the inbox SDK resolver so we disable it by default - see work item #1830391
if (!resolverNames.Contains(KnownResolverKind.NinjaResolverKind))
{
resolverSettings.Add(settings);
if (TryCreateInBoxSDKResolver(configFilePath, out IDScriptResolverSettings settings))
{
resolverSettings.Add(settings);
}
}
if (!existExplicitDefaultSourceResolver)