23 public static readonly AbsolutePath
PlatformSdkRoot = AbsolutePath.Create(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData))
24 /
"Nuke.Unreal" /
"PlatformSdks"
27 private static readonly PlatformSdkCollection Sdks =
new();
41 internal static void RegisterSdks()
43 var platformSdks =
new []
45 Assembly.GetEntryAssembly()!,
46 Assembly.GetExecutingAssembly()
48 .SelectMany(a => a.GetTypes())
52 && t.GetInterfaces().Any(i => i.FullName ==
"Nuke.Unreal.Platforms.IPlatformSdk")
54 foreach (var platformSdkType
in platformSdks)
56 var platformSdk = (
IPlatformSdk) Activator.CreateInstance(platformSdkType)!;
57 Sdks[(platformSdk.Host, platformSdk.Target)] = platformSdk;
58 Console.WriteLine($
"Registered SDK manager for {platformSdk.Target} on {platformSdk.Host} ({platformSdkType.Name})");