Skip to content

Commit

Permalink
Merge pull request #381 from microsoft/pete-dev
Browse files Browse the repository at this point in the history
Pete dev
  • Loading branch information
Psychlist1972 authored Jul 31, 2024
2 parents 7608cc7 + 7ff2007 commit 9ad6c51
Show file tree
Hide file tree
Showing 179 changed files with 10,173 additions and 2,013 deletions.
16 changes: 9 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

# binaries for staging builds
/build/**/*.dll
/build/**/*.exe
/build/**/*.winmd
/build/**/*.msi
/build/**/*.msix
/build/**/*.zip
/build/**/*.nupkg
*.dll
*.exe
*.msi
*.msix
*.zip
*.nupkg
build/release/**/*.*
build/staging/**/*.*
build/dependencies/**/*.*

# Dump files
*.etl
Expand Down
6 changes: 2 additions & 4 deletions .nuke/build.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,8 @@
"enum": [
"BuildAndPackAllAppSDKs",
"BuildAndPublishAll",
"BuildAppSdkRuntimeInstaller",
"BuildAppSdkRuntimeAndToolsInstaller",
"BuildConsoleApp",
"BuildConsoleAppInstaller",
"BuildCppSamples",
"BuildServiceAndPlugins",
"BuildServiceAndPluginsInstaller",
Expand All @@ -86,9 +85,8 @@
"enum": [
"BuildAndPackAllAppSDKs",
"BuildAndPublishAll",
"BuildAppSdkRuntimeInstaller",
"BuildAppSdkRuntimeAndToolsInstaller",
"BuildConsoleApp",
"BuildConsoleAppInstaller",
"BuildCppSamples",
"BuildServiceAndPlugins",
"BuildServiceAndPluginsInstaller",
Expand Down
112 changes: 68 additions & 44 deletions build/nuke_build/Build.cs
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,7 @@ class Build : NukeBuild
"Microsoft.Windows.Devices.Midi2.Messages",
"Microsoft.Windows.Devices.Midi2.Endpoints.Loopback",
"Microsoft.Windows.Devices.Midi2.Endpoints.Virtual",
"Microsoft.Windows.Devices.Midi2.Utilities.SysEx",
"Microsoft.Windows.Devices.Midi2.Initialization" // this last one gets packed 100% in the nuget, including the impl
})
{
Expand Down Expand Up @@ -291,20 +292,43 @@ class Build : NukeBuild
FileSystemTasks.CopyFileToDirectory(file, AppSdkStagingFolder / platform, FileExistsPolicy.Overwrite, true);
}

}



foreach(var targetPlatform in InProcPlatforms)
{
string sourcePlatform;

if (targetPlatform.ToLower() == "arm64ec")
{
sourcePlatform = "Arm64";
}
else
{
sourcePlatform = targetPlatform;
}

// MIDI diagnostics app
FileSystemTasks.CopyFileToDirectory(sdkOutputRootFolder / "mididiag" / platform / Configuration.Release / $"mididiag.exe", AppSdkStagingFolder / platform, FileExistsPolicy.Overwrite, true);
FileSystemTasks.CopyFileToDirectory(sdkOutputRootFolder / "mididiag" / platform / Configuration.Release / $"mididiag.exe.manifest", AppSdkStagingFolder / platform, FileExistsPolicy.Overwrite, true);
FileSystemTasks.CopyFileToDirectory(sdkOutputRootFolder / "mididiag" / sourcePlatform / Configuration.Release / $"mididiag.exe", AppSdkStagingFolder / targetPlatform, FileExistsPolicy.Overwrite, true);
FileSystemTasks.CopyFileToDirectory(sdkOutputRootFolder / "mididiag" / sourcePlatform / Configuration.Release / $"mididiag.exe.manifest", AppSdkStagingFolder / targetPlatform, FileExistsPolicy.Overwrite, true);

// MIDI USB info utility
FileSystemTasks.CopyFileToDirectory(sdkOutputRootFolder / "midiusbinfo" / sourcePlatform / Configuration.Release / $"midiusbinfo.exe", AppSdkStagingFolder / targetPlatform, FileExistsPolicy.Overwrite, true);

// sample manifest
FileSystemTasks.CopyFileToDirectory(AppSdkSolutionFolder / "MyMidiApp.exe.manifest", AppSdkStagingFolder / platform, FileExistsPolicy.Overwrite, true);
FileSystemTasks.CopyFileToDirectory(AppSdkSolutionFolder / "MyMidiApp.exe.manifest", AppSdkStagingFolder / targetPlatform, FileExistsPolicy.Overwrite, true);

}

});



Target BuildAppSdkRuntimeInstaller => _ => _
Target BuildAppSdkRuntimeAndToolsInstaller => _ => _
.DependsOn(Prerequisites)
.DependsOn(BuildConsoleApp)
//.DependsOn(BuildSettingsApp)
.DependsOn(BuildAndPackAllAppSDKs)
.Executes(() =>
{
Expand Down Expand Up @@ -343,7 +367,7 @@ class Build : NukeBuild

FileSystemTasks.CopyFile(
setupSolutionFolder / "main-bundle" / "bin" / platform / Configuration.Release / "WindowsMidiServicesSdkRuntimeSetup.exe",
ThisReleaseFolder / $"Windows MIDI Services (App SDK Runtime) - {fullSetupVersionString}-{platform.ToLower()}.exe");
ThisReleaseFolder / $"Windows MIDI Services (Tools and SDKs) {fullSetupVersionString}-{platform.ToLower()}.exe");

}

Expand Down Expand Up @@ -515,6 +539,7 @@ void UpdateSetupBundleInfoIncludeFile(string platform)
FileSystemTasks.CopyFileToDirectory(runtimesFolder / "Microsoft.Windows.Devices.Midi2.Messages.dll", stagingFolder, FileExistsPolicy.Overwrite, true);
FileSystemTasks.CopyFileToDirectory(runtimesFolder / "Microsoft.Windows.Devices.Midi2.Endpoints.Loopback.dll", stagingFolder, FileExistsPolicy.Overwrite, true);
FileSystemTasks.CopyFileToDirectory(runtimesFolder / "Microsoft.Windows.Devices.Midi2.Endpoints.Virtual.dll", stagingFolder, FileExistsPolicy.Overwrite, true);
FileSystemTasks.CopyFileToDirectory(runtimesFolder / "Microsoft.Windows.Devices.Midi2.Utilities.SysEx.dll", stagingFolder, FileExistsPolicy.Overwrite, true);
FileSystemTasks.CopyFileToDirectory(runtimesFolder / "Microsoft.Windows.Devices.Midi2.Initialization.dll", stagingFolder, FileExistsPolicy.Overwrite, true);

FileSystemTasks.CopyFileToDirectory(runtimesFolder / "Microsoft.Windows.Devices.Midi2.pri", stagingFolder, FileExistsPolicy.Overwrite, true);
Expand All @@ -525,6 +550,7 @@ void UpdateSetupBundleInfoIncludeFile(string platform)
FileSystemTasks.CopyFileToDirectory(runtimesFolder / "Microsoft.Windows.Devices.Midi2.Messages.pri", stagingFolder, FileExistsPolicy.Overwrite, true);
FileSystemTasks.CopyFileToDirectory(runtimesFolder / "Microsoft.Windows.Devices.Midi2.Endpoints.Loopback.pri", stagingFolder, FileExistsPolicy.Overwrite, true);
FileSystemTasks.CopyFileToDirectory(runtimesFolder / "Microsoft.Windows.Devices.Midi2.Endpoints.Virtual.pri", stagingFolder, FileExistsPolicy.Overwrite, true);
FileSystemTasks.CopyFileToDirectory(runtimesFolder / "Microsoft.Windows.Devices.Midi2.Utilities.SysEx.pri", stagingFolder, FileExistsPolicy.Overwrite, true);
FileSystemTasks.CopyFileToDirectory(runtimesFolder / "Microsoft.Windows.Devices.Midi2.Initialization.pri", stagingFolder, FileExistsPolicy.Overwrite, true);

//FileSystemTasks.CopyFileToDirectory(consoleOutputFolder / "Microsoft.Windows.Devices.Midi2.winmd", stagingFolder, FileExistsPolicy.Overwrite, true);
Expand All @@ -541,49 +567,49 @@ void UpdateSetupBundleInfoIncludeFile(string platform)

});

Target BuildConsoleAppInstaller => _ => _
.DependsOn(BuildConsoleApp)
.DependsOn(BuildServiceAndPluginsInstaller)
.Executes(() =>
{
// we build for Arm64 and x64. No EC required here
foreach (var platform in OutOfProcPlatforms)
{
//UpdateSetupBundleInfoIncludeFile(platform); // happens as part of service installer
//Target BuildConsoleAppInstaller => _ => _
// .DependsOn(BuildConsoleApp)
// .DependsOn(BuildServiceAndPluginsInstaller)
// .Executes(() =>
// {
// // we build for Arm64 and x64. No EC required here
// foreach (var platform in OutOfProcPlatforms)
// {
// //UpdateSetupBundleInfoIncludeFile(platform); // happens as part of service installer

string fullSetupVersionString = $"{SetupVersionName} {SetupBuildMajorMinor}.{SetupBuildDateNumber}.{SetupBuildTimeNumber}";
// string fullSetupVersionString = $"{SetupVersionName} {SetupBuildMajorMinor}.{SetupBuildDateNumber}.{SetupBuildTimeNumber}";

string solutionDir = ConsoleSetupSolutionFolder.ToString() + @"\";
// string solutionDir = ConsoleSetupSolutionFolder.ToString() + @"\";

var msbuildProperties = new Dictionary<string, object>();
msbuildProperties.Add("Platform", platform);
msbuildProperties.Add("SolutionDir", solutionDir); // to include trailing slash
// var msbuildProperties = new Dictionary<string, object>();
// msbuildProperties.Add("Platform", platform);
// msbuildProperties.Add("SolutionDir", solutionDir); // to include trailing slash

Console.Out.WriteLine($"----------------------------------------------------------------------");
Console.Out.WriteLine($"SolutionDir: {solutionDir}");
Console.Out.WriteLine($"Platform: {platform.ToLower()}");
// Console.Out.WriteLine($"----------------------------------------------------------------------");
// Console.Out.WriteLine($"SolutionDir: {solutionDir}");
// Console.Out.WriteLine($"Platform: {platform.ToLower()}");

var output = MSBuildTasks.MSBuild(_ => _
.SetTargetPath(ConsoleSetupSolutionFolder / "midi-console-setup.sln")
.SetMaxCpuCount(14)
/*.SetOutDir(outputFolder) */
/*.SetProcessWorkingDirectory(ApiSolutionFolder)*/
/*.SetTargets("Build") */
.SetProperties(msbuildProperties)
.SetConfiguration(Configuration.Release)
.EnableNodeReuse()
);
// var output = MSBuildTasks.MSBuild(_ => _
// .SetTargetPath(ConsoleSetupSolutionFolder / "midi-console-setup.sln")
// .SetMaxCpuCount(14)
// /*.SetOutDir(outputFolder) */
// /*.SetProcessWorkingDirectory(ApiSolutionFolder)*/
// /*.SetTargets("Build") */
// .SetProperties(msbuildProperties)
// .SetConfiguration(Configuration.Release)
// .EnableNodeReuse()
// );


// todo: it would be better to see if any of the sdk files have changed and only
// do this copy if a new setup file was created. Maybe do a before/after date/time check?
FileSystemTasks.CopyFile(
ConsoleSetupSolutionFolder / "console-main-bundle" / "bin" / platform / Configuration.Release / "WindowsMidiServicesConsoleSetup.exe",
ThisReleaseFolder / $"Windows MIDI Services (Console) - {fullSetupVersionString}-{platform.ToLower()}.exe");
}
// // todo: it would be better to see if any of the sdk files have changed and only
// // do this copy if a new setup file was created. Maybe do a before/after date/time check?
// FileSystemTasks.CopyFile(
// ConsoleSetupSolutionFolder / "console-main-bundle" / "bin" / platform / Configuration.Release / "WindowsMidiServicesConsoleSetup.exe",
// ThisReleaseFolder / $"Windows MIDI Services (Console) - {fullSetupVersionString}-{platform.ToLower()}.exe");
// }


});
// });

Target BuildCppSamples => _ => _
.DependsOn(BuildAndPackAllAppSDKs)
Expand Down Expand Up @@ -668,12 +694,10 @@ void UpdateSetupBundleInfoIncludeFile(string platform)
.DependsOn(BuildServiceAndPlugins)
.DependsOn(BuildServiceAndPluginsInstaller)
.DependsOn(BuildAndPackAllAppSDKs)
.DependsOn(BuildAppSdkRuntimeInstaller)
.DependsOn(BuildCppSamples)
.DependsOn(BuildSettingsApp)
/*.DependsOn(BuildSettingsAppInstaller) */
.DependsOn(BuildConsoleApp)
.DependsOn(BuildConsoleAppInstaller)
.DependsOn(BuildSettingsApp)
.DependsOn(BuildAppSdkRuntimeAndToolsInstaller)
.DependsOn(BuildCppSamples)
.Executes(() =>
{
});
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified build/staging/app-sdk/Arm64EC/mididiag.exe
Binary file not shown.
2 changes: 1 addition & 1 deletion build/staging/version/BundleInfo.wxi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Include>
<?define SetupVersionName="Developer Preview 7 x64" ?>
<?define SetupVersionNumber="1.0.24203.1904" ?>
<?define SetupVersionNumber="1.0.24212.1326" ?>
</Include>
42 changes: 15 additions & 27 deletions samples/csharp-net/basics/client-basics-cs.exe.manifest
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

<file name="Microsoft.Windows.Devices.Midi2.Initialization.dll">
<activatableClass
name="Microsoft.Windows.Devices.Midi2.Initialization.IMidiServiceInitializerStatics"
name="Microsoft.Windows.Devices.Midi2.Initialization.MidiServiceInitializer"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
</file>
Expand All @@ -18,29 +18,21 @@
name="Microsoft.Windows.Devices.Midi2.MidiChannel"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="Microsoft.Windows.Devices.Midi2.IMidiChannelStatics"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="Microsoft.Windows.Devices.Midi2.MidiGroup"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="Microsoft.Windows.Devices.Midi2.IMidiGroupStatics"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="Microsoft.Windows.Devices.Midi2.IMidiClockStatics"
name="Microsoft.Windows.Devices.Midi2.MidiClock"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />

<activatableClass
name="Microsoft.Windows.Devices.Midi2.IMidiEndpointDeviceInformationStatics"
name="Microsoft.Windows.Devices.Midi2.MidiEndpointDeviceInformation"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="Microsoft.Windows.Devices.Midi2.IMidiEndpointDeviceWatcherStatics"
name="Microsoft.Windows.Devices.Midi2.MidiEndpointDeviceWatcher"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />

Expand All @@ -67,11 +59,11 @@
xmlns="urn:schemas-microsoft-com:winrt.v1" />

<activatableClass
name="Microsoft.Windows.Devices.Midi2.IMidiEndpointConnectionStatics"
name="Microsoft.Windows.Devices.Midi2.MidiEndpointConnection"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="Microsoft.Windows.Devices.Midi2.IMidiSessionStatics"
name="Microsoft.Windows.Devices.Midi2.MidiSession"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
</file>
Expand All @@ -81,10 +73,6 @@
name="Microsoft.Windows.Devices.Midi2.CapabilityInquiry.MidiUniqueId"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="Microsoft.Windows.Devices.Midi2.CapabilityInquiry.IMidiUniqueIdStatics"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
</file>

<file name="Microsoft.Windows.Devices.Midi2.ClientPlugins.dll">
Expand All @@ -104,37 +92,37 @@

<file name="Microsoft.Windows.Devices.Midi2.Diagnostics.dll">
<activatableClass
name="Microsoft.Windows.Devices.Midi2.Diagnostics.IMidiDiagnosticsStatics"
name="Microsoft.Windows.Devices.Midi2.Diagnostics.MidiDiagnostics"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="Microsoft.Windows.Devices.Midi2.Diagnostics.IMidiReportingStatics"
name="Microsoft.Windows.Devices.Midi2.Diagnostics.MidiReporting"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
</file>

<file name="Microsoft.Windows.Devices.Midi2.Messages.dll">
<activatableClass
name="Microsoft.Windows.Devices.Midi2.Messages.IMidiMessageBuilderStatics"
name="Microsoft.Windows.Devices.Midi2.Messages.MidiMessageBuilder"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="Microsoft.Windows.Devices.Midi2.Messages.IMidiMessageConverterStatics"
name="Microsoft.Windows.Devices.Midi2.Messages.MidiMessageConverter"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="Microsoft.Windows.Devices.Midi2.Messages.IMidiMessageHelperStatics"
name="Microsoft.Windows.Devices.Midi2.Messages.MidiMessageHelper"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="Microsoft.Windows.Devices.Midi2.Messages.IMidiStreamMessageBuilderStatics"
name="Microsoft.Windows.Devices.Midi2.Messages.MidiStreamMessageBuilder"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
</file>

<file name="Microsoft.Windows.Devices.Midi2.ServiceConfig.dll">
<activatableClass
name="Microsoft.Windows.Devices.Midi2.ServiceConfig.IMidiServiceConfigStatics"
name="Microsoft.Windows.Devices.Midi2.ServiceConfig.MidiServiceConfig"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
</file>
Expand All @@ -149,7 +137,7 @@
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="Microsoft.Windows.Devices.Midi2.Endpoints.Loopback.IMidiLoopbackEndpointManagerStatics"
name="Microsoft.Windows.Devices.Midi2.Endpoints.Loopback.MidiLoopbackEndpointManager"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
</file>
Expand All @@ -160,7 +148,7 @@
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="Microsoft.Windows.Devices.Midi2.Endpoints.Virtual.IMidiVirtualDeviceManagerStatics"
name="Microsoft.Windows.Devices.Midi2.Endpoints.Virtual.MidiVirtualDeviceManager"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
</file>
Expand Down
Loading

0 comments on commit 9ad6c51

Please sign in to comment.