Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Start prototype with TODOs on supporting build-time/runtime-startup selected WUX vs MUX mode. * Implement the base TODO-WuxMux items that must be completed to support a runtime configuration WUX/MUX switch. * Add WUX test projection and fix bug with ICommand special-casing. * Inline MUX guids. * Add CsWinRT SDK support * Add tests for authoring components with WUX APIs (also validates some of the consumption logic in the process) * Remove Debug.Breaks * Change approach so WUX/MUX works for delegates * Use Xaml Islands and a custom main to enable writing GTest tests with INPC and types that need the XAML engine initialized on the thread. * Start prototype with TODOs on supporting build-time/runtime-startup selected WUX vs MUX mode. Implement the base TODO-WuxMux items that must be completed to support a runtime configuration WUX/MUX switch. Add WUX test projection and fix bug with ICommand special-casing. Inline MUX guids. Add CsWinRT SDK support Add tests for authoring components with WUX APIs (also validates some of the consumption logic in the process) Remove Debug.Breaks Change approach so WUX/MUX works for delegates Use Xaml Islands and a custom main to enable writing GTest tests with INPC and types that need the XAML engine initialized on the thread. Add AuthoringWuxComsumptionTest to the CI Change IIDOptimizer to fall back to GuidGenerator for WUX/MUX types. Fix IList ABI type to implement WUX and MUX Add breaks PR feedback and fix unit test failures. Fix configurations for new projects. Fix configuration for Windows.UI.Xaml projection * PR feedback * Use boolean feature flag for the WinRT.Runtime side of the support * Rename MSBuild property and expected values. * Consolidate item groups * Rename UiXamlMode to UIXamlProjectionsMode to better match the MSBuild property * PR feedback * Revert binding changes (the types have the same identity in Wux and Mux and it was causing failures in AOT scenarios to have them split) * Make it easier to debug the source generator * Fix the build * Finally fix the NRE * Provide a mechanism to exclude additions (for use when different sections of the same namespace are emitted into multiple different projections, and only one should define the addition types) * Fix property name in 'ILLink.Substitutions.xml' * Rename 'FeatureSwitches' switch for WUX * Remove unnecessary mapping collection * Remove leftover 'Debugger.Launch' call * Remove 'IPropertyChangedEventArgsVftbl' type * Optimize 'PropertyChangedEventArgsRuntimeClassFactory' * Fix merge conflicts * Fix capitalization of an IID * Centralize last WUX/MUX IIDs * Remove runtime parsing of two IIDs * Fix WUX IID for 'INotifyCollectionChanged' * Remove unnecessary [WuxMux] from vtable types * Tweak 'NotifyCollectionChangedEventArgs' * Tweak 'NotifyCollectionChangedEventArgs' * Simplify 'WuxMuxProjectedTypeAttribute' * Fix 'MatchingRefApiCompatBaseline' * Fix 'PropertyChangedEventHandler.IID' accessibility * Throw 'NotSupportedException' for WUX downlevel * Remove unnecessary ifdef * Simplify 'Projections.CustomTypeMappings.tt' * Throw when trying to register invalid custom mappings * Support WUX for custom type mapping APIs * Fix IIDs * Remove unnecessary 'As<T>' calls for activation * Reorder props, fix indendation --------- Co-authored-by: Sergio Pedri <[email protected]>
- Loading branch information