Граф коммитов

22 Коммитов

Автор SHA1 Сообщение Дата
reunion-maestro[bot] 2d3f41e468
[main] Update dependencies from microsoft/LiftedIXP/DCPP (#3980)
* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20231120.2

Microsoft.FrameworkUdk
 From Version 1.5.0-CI-22625.1004.230721-1615.0 -> To Version 1.5.0-CI-22625.1024.231120-0838.1

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20231121.3

Microsoft.FrameworkUdk
 From Version 1.5.0-CI-22625.1004.230721-1615.0 -> To Version 1.5.0-CI-22625.1024.231120-0838.6

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20231121.4

Microsoft.FrameworkUdk
 From Version 1.5.0-CI-22625.1004.230721-1615.0 -> To Version 1.5.0-CI-22625.1024.231120-0838.7

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20231127.1

Microsoft.FrameworkUdk
 From Version 1.5.0-CI-22625.1004.230721-1615.0 -> To Version 1.5.0-CI-22625.1024.231120-0838.8

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20231127.1

Microsoft.FrameworkUdk
 From Version 1.5.0-CI-22625.1004.230721-1615.0 -> To Version 1.5.2-CI-22625.1024.231120-0838.8

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20231128.4

Microsoft.FrameworkUdk
 From Version 1.5.0-CI-22625.1004.230721-1615.0 -> To Version 1.5.0-CI-22625.1025.231127-1545.4

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20231201.1

Microsoft.FrameworkUdk
 From Version 1.5.0-CI-22625.1004.230721-1615.0 -> To Version 1.5.0-CI-22625.1026.231201-1009.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20231206.2

Microsoft.FrameworkUdk
 From Version 1.5.0-CI-22625.1004.230721-1615.0 -> To Version 1.5.0-CI-22625.1027.231206-0943.1

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20231214.2

Microsoft.FrameworkUdk
 From Version 1.5.0-CI-22625.1004.230721-1615.0 -> To Version 1.4.3-CI-22624.1058.231213-1411.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20231214.7

Microsoft.FrameworkUdk
 From Version 1.5.0-CI-22625.1004.230721-1615.0 -> To Version 1.5.0-CI-22625.1029.231211-1215.1

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20231219.1

Microsoft.FrameworkUdk
 From Version 1.5.0-CI-22625.1004.230721-1615.0 -> To Version 1.5.0-CI-22625.1031.231218-1029.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20240104.3

Microsoft.FrameworkUdk
 From Version 1.5.0-CI-22625.1004.230721-1615.0 -> To Version 1.5.0-CI-22625.1033.240103-1228.1

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20240106.1

Microsoft.FrameworkUdk
 From Version 1.5.0-CI-22625.1004.230721-1615.0 -> To Version 1.5.0-CI-22625.1034.240106-1552.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20240116.3

Microsoft.FrameworkUdk
 From Version 1.5.0-CI-22625.1004.230721-1615.0 -> To Version 1.5.0-CI-22625.1035.240116-1502.0

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
2024-01-19 10:02:27 -05:00
Keith Mahoney 701b4be6f5
Add VS Template for WinUI Unit Test Project (#3942) 2023-11-08 09:06:37 -08:00
Kyaw Thant 305aa7b478
Develop to use Internal Feed (#3808) 2023-08-21 22:13:53 -07:00
Kyaw Thant 5f43b06e4c
Reenable MRTCore and Test Stage in Main (#3724) 2023-08-21 16:27:45 -07:00
Evelyn Wu 2d864daba5
Clear fallback package folders to prevent VS shared nuget cache from providing Microsoft.Windows.SDK.BuildTools since it doesn't include the origin .nupkg which is required for the C++ VSIX (#3596) 2023-04-26 14:14:50 -07:00
Kyaw Thant 6611b81a57 FI: Main to Develop 2023-04-18 11:08:57 -07:00
Kyaw Thant 486b3765cc RI: release/1.3-stable to main 2023-04-12 16:12:13 -07:00
reunion-maestro[bot] 8ca5bb9351
[develop] Update dependencies from microsoft/LiftedIXP/DCPP (#3386)
* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230130.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.0-CI-25290.1002.230130-1418.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230201.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.0-CI-25292.1000.230201-1000.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230202.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.0-CI-25293.1001.230202-1141.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230203.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.0-CI-25293.1002.230203-1000.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230204.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.0-CI-25294.1000.230204-0900.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230205.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.0-CI-25295.1000.230205-0800.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230206.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.0-CI-25295.1001.230206-1000.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230207.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.0-CI-25295.1002.230207-1000.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230210.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.0-CI-25297.1000.230209-2046.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230210.2

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.0-CI-25297.1001.230210-1613.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230211.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.0-CI-25297.1002.230211-0900.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230212.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.0-CI-25300.1000.230212-0800.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230213.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.0-CI-25300.1001.230213-1000.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230215.3

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.2-CI-22623.1039.230209-1053.3

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230216.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.2-CI-22623.1040.230216-1013.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230217.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.2-CI-22623.1041.230217-1413.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230225.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.2-CI-22623.1043.230224-1953.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230301.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.3.2-CI-22623.1044.230301-1533.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230310.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.4.1-CI-22624.1001.230309-2134.0

* Update dependencies from https://dev.azure.com/microsoft/LiftedIXP/_git/DCPP build 20230317.1

Microsoft.FrameworkUdk
 From Version 1.3.0-CI-25260.1001.221205-1000.0 -> To Version 1.4.1-CI-22624.1002.230317-1114.0

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Bob Pulliam <bpulliam@gmail.com>
2023-03-21 16:22:20 -04:00
Howard Kapustein bdafab1cf0
Add initial Protobuf support (#3448)
**Add support for Google's [Protocol Buffers](https://protobuf.dev/) (aka protobuf)**

Using protobuf requires 3 components:

1. protoc.exe -- 'Compiles' *.proto files generating *.pb.cc and *.pb.h code
2. headers -- Needed to compile generated *.pb.cc
3. libs -- Needed to link compiled bits from 2

Google provides a nuget containing a compiled protoc.exe but doesn't make headers or libs available via nuget. TL;DR we create a nuget for our use (Microsoft.WindowsAppSDK.Protobuf.3.21.12.nupkg). Details of what, why and how are in `tools\nuget\protobuf\README.md`.

TL;DR Developers working in WinAppSDK only need to know there's a nuget providing protobuf support. The messy details how to create that are only relevant to the developer creating the nuget (moi) or future devs if/when a new version is needed.

**Added `KozaniProtocol`** containing Kozani's protobuf messages and related definitions. The purpose of KozaniManageProtocol project is to contain all of Kozani's protobuf definitions and compile them to produce the generated code for use by other projects.

**Updated `KozaniManager`** to consume the protobuf code from KozaniProtocol and added wrappers showing how to use it.

**Updated `KozaniRemoteManager`** to reference to consume the protobuf code from KozaniProtocol.

General structure of our protobuf usage:

1. **Define a message in KozaniProtocol**. 
 * Split up by functional roles across *.proto files e.g. Kozani.Activation.proto for activation, Kozani.Process.proto for process management (e.g. if TaskManager kills local KozaniHostRuntime.exe we need to send message to server to terminate the associated back end process), etc.
  * Any sort of 'synchronous communication' would involve a pair of request+response messages. KozaniManager sends 'request' to server and KozaniRemoteManager sends a related 'response'.
  * The 'cookie' field is an example of a correlating id to match a request with a response. A 'conversionid', 'channelid', etc are other examples how to xref 2+ messages together into a larger context.
2. **Define a namespace with functions that internally use protobuf messages**
  * Keep all protobuf usage internal to code using them. Protobuf is an implementation detail. Provide appropriate strongly typed functions for callers to drive activity which internally happen to use the protobuf generated code.
  * If you need context spanning multiple messages you can create a class with methods which internally use protobuf messages, plus additional attributes for any additional data needed for the context.
3. Serialize messages to `std::string`
  * Protobuf can serialize messages to `std::string` or `std::ostream`. NOTE: The serialized data's just bytes, `string` is just a convenient container to pass the data around.
  * `std::string` is recommend when serializing a message to bytes.
  * `std::string` or `std::istream` is recommended when deserializing a message from bytes. Large messages may be more efficient via `std::istream`; either works well enough for small messages so use whichever is more convenient.
4. Always encode strings as UTF8 before serialization.
  * Protobuf expresses message `string` fields as `std::string`. It does not do wide<->narrow conversions for you (unlike, say, SQLite) - that's the developer's responsibility. If you have a wide string (`std::wstring`, `PCWSTR`, `HSTRING`, etc) convert it to a UTF-8 string before assigning it to a protobuf field. Use functions in `\dev\common\Microsoft.Utf8.h` to convert wide->utf8 e.g.

```c++
PCWSTR appUserModelId{ L"LolzCatzVidz" };
const std::string appUserModelIdUtf8{ ::Microsoft::Utf8::ToUtf8(appUserModelId) };
```

  * When deserializing wide strings from protobuf serialized bytes don't forget to convert the UTF-8 bytes to a wide string. Use functions in `\dev\common\Microsoft.Utf8.h` to do this e.g.

```
Some::Protobuf::Message::Kitteh kitteh;
kitteh.ParseFromString(stream_containing_serialized_bytes);
const std::wstring name{ kitten.get_name() };
```

5. Avoid making classes inherit from protobuf's generated classes.
  * Protobuf docs counsel against against inheriting and extending the generated classes. Treat protobuf's generated classes as structs of data you can access but not extend (use composition esp private composition, not inheritance).

6. We use protobuf as a static library.
  * Protobuf can provide support code via libprotobuf.dll but recommends against it as that must have a compatible version as the generated code. To minimize complications we use protobuf as a static lib. This may be revisited in the future.


Everything compiles and links. `dev\Kozani\KozaniManager\main.cpp` has an example serializing a protobuf message to bytes (as a `std::string`). Changing and extending that for all the rest of our functionality and likewise parsing bytes to protobuf messages in KozaniRemoteManager (or vice versa) is left as an exercise for the reader :-)
2023-02-17 15:38:25 -08:00
Bob Pulliam e531605c91
packages vs Packages (#3414) 2023-02-14 10:55:56 -05:00
Kyaw Thant e60619acf5
Cherrypick Infrastructure Changes to Main From Develop (#3288) 2023-01-03 09:12:35 -08:00
Kyaw Thant 8ef7056b4d Resolve Merge Conflict: Main to Develop 2022-10-12 23:16:22 -07:00
Kyaw Thant 84eb48c0c6
Remove nuget.org from nuget.configs (#3048) 2022-10-12 14:05:37 -07:00
Kyaw Thant 4400af7a22
Use Maestro to Update FrameworkUDK (#3017) 2022-10-04 11:15:51 -07:00
Kyaw Thant cfd23fcfc9 Resolve Merge Conflict - Main to Develop 2022-09-23 15:33:56 -07:00
reunion-maestro[bot] a6913a728c
Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2209.23001 (#2992)
Microsoft.WinAppSDK.EngCommon
 From Version 1.1.0-20220307.0-CI -> To Version 1.2.220923.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2022-09-23 15:22:52 -07:00
Kyaw Thant 2aaaa159a6 Point Nuget.Config back to Internal 2022-09-08 18:13:32 -07:00
Kyaw Thant e73c535395 Revert Nuget.Config 2022-09-08 17:44:55 -07:00
Kyaw Thant 3076f9cb22
Manual FI Main to Develop (#2949) 2022-09-08 17:17:27 -07:00
Kyaw Thant 92e0826275
Use internal nuget feed for develop branch (#2274) 2022-03-18 10:16:37 -07:00
reunion-maestro[bot] 18eca9b7c2
Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2112.13001 (#1906)
Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211207.1-CI -> To Version 1.0.0-20211213.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2021-12-14 15:26:00 -08:00
Kyaw Thant 84d402935c
Enable automatic updates to Eng/Common through Microsoft.WinAppSDK.EngCommon toolset dependency (#1888) 2021-12-13 11:51:35 -08:00