in tools/nuget2bazel/rules/RuntimeCoreGenerator.cs [32:91]
private async Task Handle(StreamWriter f, Sdk sdk)
{
var sdkDirWin = await ZipDownloader.DownloadIfNeeded(_configDir, sdk.WindowsUrl);
var sdkDirLinux = await ZipDownloader.DownloadIfNeeded(_configDir, sdk.LinuxUrl);
var sdkDirOsx = await ZipDownloader.DownloadIfNeeded(_configDir, sdk.DarwinUrl);
await f.WriteLineAsync("\"\"");
await f.WriteLineAsync();
await f.WriteLineAsync("load(\"@io_bazel_rules_dotnet//dotnet/private:rules/stdlib.bzl\", \"core_stdlib_internal\")");
await f.WriteLineAsync("load(\"@io_bazel_rules_dotnet//dotnet/private:rules/libraryset.bzl\", \"core_libraryset\")");
await f.WriteLineAsync();
await f.WriteLineAsync("# buildifier: disable=unnamed-macro");
await f.WriteLineAsync("def define_runtime():");
await f.WriteLineAsync(" \"Declares runtime\"");
if (sdk.Packs != null && !sdk.Version.StartsWith("6"))
{
await f.WriteLineAsync(" native.alias(name = \"system.security.accesscontrol.dll\", actual = \":p1_system.security.accesscontrol.dll\")");
await f.WriteLineAsync(" native.alias(name = \"system.security.principal.windows.dll\", actual = \":p1_system.security.principal.windows.dll\")");
await f.WriteLineAsync(" native.alias(name = \"microsoft.win32.registry.dll\", actual = \":p1_microsoft.win32.registry.dll\")");
await f.WriteLineAsync(" native.alias(name = \"system.security.cryptography.cng.dll\", actual = \":p1_system.security.cryptography.cng.dll\")");
}
var infosWindows = await ProcessDirectory(f, $"windows_runtime_deps", sdkDirWin, sdk);
var infosLinux = await ProcessDirectory(f, $"linux_runtime_deps", sdkDirLinux, sdk);
var infosDarwin = await ProcessDirectory(f, $"darwin_runtime_deps", sdkDirOsx, sdk);
await f.WriteLineAsync();
await f.WriteLineAsync($" core_libraryset(");
await f.WriteLineAsync($" name = \"runtime\",");
await f.WriteLineAsync($" deps = select({{");
await f.WriteLineAsync($" \"@bazel_tools//src/conditions:windows\": [");
foreach (var i in infosWindows.Item1)
await f.WriteLineAsync($" \":{i.Name}\",");
await f.WriteLineAsync($" ],");
await f.WriteLineAsync($" \"@bazel_tools//src/conditions:darwin\": [");
foreach (var i in infosDarwin.Item1)
await f.WriteLineAsync($" \":{i.Name}\",");
await f.WriteLineAsync($" ],");
await f.WriteLineAsync($" \"//conditions:default\": [");
foreach (var i in infosLinux.Item1)
await f.WriteLineAsync($" \":{i.Name}\",");
await f.WriteLineAsync($" ],");
await f.WriteLineAsync($" }}),");
await f.WriteLineAsync($" data = select({{");
await f.WriteLineAsync($" \"@bazel_tools//src/conditions:windows\": [");
foreach (var i in infosWindows.Item2)
await f.WriteLineAsync($" \"{i}\",");
await f.WriteLineAsync($" ],");
await f.WriteLineAsync($" \"@bazel_tools//src/conditions:darwin\": [");
foreach (var i in infosDarwin.Item2)
await f.WriteLineAsync($" \"{i}\",");
await f.WriteLineAsync($" ],");
await f.WriteLineAsync($" \"//conditions:default\": [");
foreach (var i in infosLinux.Item2)
await f.WriteLineAsync($" \"{i}\",");
await f.WriteLineAsync($" ],");
await f.WriteLineAsync($" }}),");
await f.WriteLineAsync($" )");
}