Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
e4f0d63
fix: WinUI sync generator
Youssef1313 Sep 29, 2023
d163451
chore: Ignore editor browsable attribute
Youssef1313 Sep 29, 2023
d429950
chore: Ignore GuidAttribute
Youssef1313 Sep 29, 2023
74dfac4
chore: Ignore WindowsRuntimeTypeAttribute
Youssef1313 Sep 29, 2023
d769d98
chore: Ignore WinRT.WindowsRuntimeHelperTypeAttribute
Youssef1313 Sep 29, 2023
c3c433b
chore: Ignore WinRT.ProjectedRuntimeClassAttribute
Youssef1313 Sep 29, 2023
dd5d51c
chore: Ignore WinRT.ObjectReferenceWrapperAttribute
Youssef1313 Sep 29, 2023
7eebd4e
chore: Add net7.0 ref assemblies
Youssef1313 Sep 30, 2023
b1dfa61
chore: Ignore System.Reflection.DefaultMemberAttribute
Youssef1313 Sep 30, 2023
d43d9bb
chore: More progress
Youssef1313 Sep 30, 2023
982233c
chore: More progress
Youssef1313 Sep 30, 2023
e6cc303
chore: Skip WinRT namespace
Youssef1313 Sep 30, 2023
c269cd7
chore: adjust override modifier
Youssef1313 Sep 30, 2023
d00db2b
chore: More progress
Youssef1313 Sep 30, 2023
05c0180
chore: Adjust
Youssef1313 Sep 30, 2023
f783827
chore: Fix Rect constructor parameter name
Youssef1313 Sep 30, 2023
9f78142
chore: Adjust API to match WinUI
Youssef1313 Sep 30, 2023
b85c5d0
chore: Add partial modifier
Youssef1313 Oct 2, 2023
2e1b7ab
chore: Handle generic methods correctly
Youssef1313 Oct 2, 2023
d791741
chore: Few more fixes
Youssef1313 Oct 2, 2023
d3112f2
chore: Ignore WinRT.IWinRTObject
Youssef1313 Oct 2, 2023
6bb7a4c
chore: Adjust
Youssef1313 Oct 2, 2023
33963f6
chore: Adjust the exclusion of IWinRTObject
Youssef1313 Oct 2, 2023
79617e8
chore: Ignore FromAbi method
Youssef1313 Oct 2, 2023
d858c5d
chore: Adjust generation for explicit interface impl
Youssef1313 Oct 2, 2023
f98f5f6
chore: Ignore Microsoft.Windows.ApplicationModel.DynamicDependency.Bo…
Youssef1313 Oct 2, 2023
4c4bac9
chore: Adjust generation
Youssef1313 Oct 2, 2023
88bf7eb
chore: Add global:: when needed
Youssef1313 Oct 2, 2023
705d545
chore: More progress
Youssef1313 Oct 2, 2023
d3b59ab
chore: Adjust generation
Youssef1313 Oct 2, 2023
f0118b0
chore: Adjust Microsoft.UI.Input generation to avoid breaking changes
Youssef1313 Oct 2, 2023
6e8c633
chore: More progress
Youssef1313 Oct 2, 2023
5edb748
chore: Few adjustments
Youssef1313 Oct 2, 2023
6bb5a7f
chore: Adjust for explicit event impl
Youssef1313 Oct 2, 2023
9083caa
chore: Adjust for indexer generation
Youssef1313 Oct 2, 2023
2bf7e89
chore: Few generation fixes
Youssef1313 Oct 3, 2023
9abe87e
chore: Skip InputPaneInterop as well
Youssef1313 Oct 3, 2023
f4d2bb5
chore: Adjust explicit interface generation
Youssef1313 Oct 3, 2023
59bc953
chore: Ignore naming
Youssef1313 Oct 3, 2023
1d98e50
chore: Skip private fields
Youssef1313 Oct 3, 2023
9bff6f0
chore: Don't generate base call for structs
Youssef1313 Oct 3, 2023
ecc9cd0
chore: More progress
Youssef1313 Oct 3, 2023
13ea38f
chore: Skip Microsoft.Windows namespace
Youssef1313 Oct 3, 2023
f64a443
chore: Properly generate override modifier
Youssef1313 Oct 3, 2023
c18cd7a
chore: Few more adjustments
Youssef1313 Oct 3, 2023
6ceee53
chore: Adjust
Youssef1313 Oct 3, 2023
d239268
chore: commit missing change
Youssef1313 Oct 3, 2023
4ecef85
chore: Fix NRE
Youssef1313 Oct 3, 2023
dc47400
chore: Skip some symbol matching
Youssef1313 Oct 3, 2023
75cebbf
chore: Skip IEquatable and IFormattable for now
Youssef1313 Oct 3, 2023
8ec7a73
chore: Adjust generation
Youssef1313 Oct 3, 2023
f7c8ded
chore: Adjust
Youssef1313 Oct 3, 2023
b7ee596
chore: Adjust interface skipping
Youssef1313 Oct 3, 2023
02a6808
chore: Small more adjustments
Youssef1313 Oct 3, 2023
d9fe1d5
chore: Make partial
Youssef1313 Oct 3, 2023
f6b3191
chore: Make partial
Youssef1313 Oct 3, 2023
c4ebd2a
chore: More progress
Youssef1313 Oct 4, 2023
aab2e45
chore: Few fixes
Youssef1313 Oct 4, 2023
ebe1b23
chore: One more small fix
Youssef1313 Oct 4, 2023
a9dec91
chore: Fix SamplesApp build for WinUI
Youssef1313 Oct 4, 2023
2f9f8ad
chore: Few more fixes
Youssef1313 Oct 4, 2023
b844531
chore: Adjust for explicitly implemented interface members
Youssef1313 Oct 4, 2023
998cf36
chore: Skip more
Youssef1313 Oct 4, 2023
b382bef
chore: Adjust symbol matching
Youssef1313 Oct 4, 2023
38a2d14
chore: Remove old Reference project
MartinZikmund Jan 16, 2026
39f86d4
chore: Build adjustments
MartinZikmund Jan 16, 2026
4d2e8b2
chore: Further generator adjustments
MartinZikmund Jan 16, 2026
3e04da6
fix: Generation for `Microsoft.Windows.AppLifecycle`
MartinZikmund Jan 16, 2026
64c41d0
chore: Cleanup Program.cs
MartinZikmund Feb 18, 2026
49f6a96
fix: Sync generator adjustment
MartinZikmund Mar 16, 2026
4c2a4a1
fix: Remove duplicate float constructors in Point, Size, and Rect
MartinZikmund Mar 16, 2026
0443705
fix: Use correct parameter name in Rect height validation
MartinZikmund Mar 16, 2026
bb99c8d
fix: Add partial modifier to VectorExtensions
MartinZikmund Mar 16, 2026
f65af2d
fix: Guard StatusBar references with platform-specific conditionals
MartinZikmund Mar 16, 2026
1ffd27d
chore: Omit forced skipping for specific APIs
MartinZikmund Mar 18, 2026
ffdd0b9
chore: Further removal of Forced skipping lines
MartinZikmund Mar 18, 2026
01a2d6f
feat: Correctly generate WebView2 and Resources types
MartinZikmund Jan 16, 2026
48fbca5
chore: Comment-only changes
MartinZikmund Jan 16, 2026
8265a81
chore: Ordering-only changes
MartinZikmund Jan 16, 2026
78a2ac6
fix!: Remove `Windows.Phone` namespaces
MartinZikmund Jan 16, 2026
e51363d
chore: Full sync
MartinZikmund Jan 16, 2026
b49d879
chore: Update sync previous sync
MartinZikmund Feb 18, 2026
244a31a
chore: Run sync
MartinZikmund Mar 16, 2026
d4ab563
chore: Comment-only generation
MartinZikmund Mar 18, 2026
0854d47
chore: Comment-only generation
MartinZikmund Mar 18, 2026
574aa54
chore: Missing partial modifier
MartinZikmund Mar 18, 2026
3d130ed
chore: Override equality
MartinZikmund Mar 18, 2026
ac33c34
chore: Adjustments
MartinZikmund Mar 18, 2026
c818c30
fix: Correct platform-specific attribute handling
MartinZikmund Mar 18, 2026
cc25498
chore: Generation for attributes
MartinZikmund Mar 18, 2026
fa52426
fix: RaiseStructureChangedEvent signature
MartinZikmund Mar 18, 2026
d5b64f5
chore: Generation for RaiseStructureChangedEvent
MartinZikmund Mar 18, 2026
cfde7d3
fix: `IsSelectionRequired`
MartinZikmund Mar 18, 2026
f8e6294
chore: Issue list
MartinZikmund Mar 19, 2026
b679233
fix: Adjust target for `IClosableNotifier` and `ClosableNotifierHandler`
MartinZikmund Mar 31, 2026
2ff8ac3
fix: Drop UWP-specific paths from generator
MartinZikmund Mar 31, 2026
fac1828
chore: Generation
MartinZikmund Mar 31, 2026
c2b3d51
chore: Generation run
MartinZikmund Mar 31, 2026
264f398
fix: WebView2 references
MartinZikmund Mar 31, 2026
c1d82b8
chore: Add stub for non-mobile targets on `StatusBar`
MartinZikmund Mar 31, 2026
df83aad
chore: VibrationDevice stub
MartinZikmund Mar 31, 2026
436f9c8
chore: Automation peer change
MartinZikmund Mar 31, 2026
2e99f1e
chore: Correct constant inclusion
MartinZikmund Mar 31, 2026
285d7c9
fix: Use `dotnet build` for generator project
MartinZikmund Mar 31, 2026
6d3e5ad
chore: Address build issue
MartinZikmund Mar 31, 2026
ec4696a
fix: Inheritance base matching
MartinZikmund Mar 31, 2026
afee81a
fix: Partial modifier missing
MartinZikmund Mar 31, 2026
540d042
chore: Generation run
MartinZikmund Mar 31, 2026
fd01014
fix: Invalid parameter name
MartinZikmund Mar 31, 2026
a698808
feat: Emit error for missing enum members
MartinZikmund Mar 31, 2026
5dabb90
fix: Validate enum underlying types and values
MartinZikmund Mar 31, 2026
1bb6bb6
fix: Adjust underlying type
MartinZikmund Mar 31, 2026
666868b
chore: Adjust WebView issues
MartinZikmund Mar 31, 2026
39534b6
fix: Adjust exception type
MartinZikmund Mar 31, 2026
468170f
chore: Make exception for WinRT.Interop
MartinZikmund Mar 31, 2026
0cd633a
chore: Adjust for WindowNative and InitializeWithWindow
MartinZikmund Mar 31, 2026
bae213e
chore: Add missing partial
MartinZikmund Mar 31, 2026
1aabe72
chore: Adjust exception
MartinZikmund Mar 31, 2026
4bd5854
chore: Address issues
MartinZikmund Mar 31, 2026
cb4f4e2
fix: Collection type interface generation
MartinZikmund Mar 31, 2026
1d217e6
fix: Adjust generation for collection types
MartinZikmund Mar 31, 2026
040ee85
chore: Generation run
MartinZikmund Mar 31, 2026
ff2e07d
fix: Generator adjustment for indexers
MartinZikmund Apr 7, 2026
38a9853
chore: Generation
MartinZikmund Apr 7, 2026
5a77d53
chore: Update Diffignore
MartinZikmund Apr 8, 2026
dfb58b0
chore: Force native CI
MartinZikmund Apr 8, 2026
4e3ce7e
chore: Adjust test
MartinZikmund Apr 8, 2026
8cd11fc
chore: Address issues
MartinZikmund Apr 8, 2026
2620c3d
chore: Generation
MartinZikmund Apr 9, 2026
157e346
chore: Cleanup
MartinZikmund Apr 10, 2026
5e1a2cf
fix: Exceptions in generator
MartinZikmund Apr 10, 2026
004f744
chore: Generation
MartinZikmund Apr 12, 2026
843dfc5
chore: Build issue
MartinZikmund Apr 12, 2026
792479c
chore: Address comments
MartinZikmund Apr 12, 2026
2722513
chore: Add missing property
MartinZikmund Apr 12, 2026
20946aa
chore: Color changes
MartinZikmund Apr 13, 2026
b510be6
chore: Ignore references.txt
MartinZikmund Apr 13, 2026
cd281c2
chore: Cleanup
MartinZikmund Apr 13, 2026
c5e9eb7
chore: Update diffignore with all changes
MartinZikmund Apr 13, 2026
e44fe7e
chore: Remove duplicate
MartinZikmund Apr 13, 2026
4f496c1
chore: Add missing diffignore
MartinZikmund Apr 14, 2026
6051e41
chore: Generation run
MartinZikmund Apr 14, 2026
f5d0bfb
chore: Missing qualifiers
MartinZikmund Apr 14, 2026
7605bdc
test: Disable flaky
MartinZikmund Apr 14, 2026
db5b7e7
chore: Skip irrelevant namespaces
MartinZikmund Apr 15, 2026
77357ee
chore: Run generation
MartinZikmund Apr 15, 2026
cc4a0e7
chore: Skip type generation
MartinZikmund Apr 15, 2026
339e02d
chore: Skip LowLevelDevicesController generation
MartinZikmund Apr 15, 2026
59b06fb
chore: Disable test on native
MartinZikmund Apr 15, 2026
6a087ee
ci: Run iOS Snapshot tests in more groups
MartinZikmund Apr 16, 2026
e670b90
ci: Avoid running native snapshot tests on non-master builds
MartinZikmund Apr 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
731 changes: 731 additions & 0 deletions build/PackageDiffIgnore.xml

Large diffs are not rendered by default.

13 changes: 4 additions & 9 deletions build/Uno.UI.Build.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ο»Ώ<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net462</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<UpdateAssemblyInfo>false</UpdateAssemblyInfo>
Comment thread
MartinZikmund marked this conversation as resolved.
Resolved
</PropertyGroup>

Expand Down Expand Up @@ -101,15 +101,10 @@
<!-- These filters contain Uno.UI project and its dependencies, which are what needs to be restored -->
<!-- In addition, the reference project needs to be restored as well. -->
<Exec Command="dotnet restore filters\Uno.UI-top-projects-for-sync-gen.slnf -p:Configuration=Release -p:InformationalVersion=$(NBGV_AssemblyInformationalVersion) -p:CI_Build=true -p:_IsCIBuild=true -p:SyncGeneratorRunning=true" />
<MSBuild
Properties="Configuration=Release;InformationalVersion=$(NBGV_AssemblyInformationalVersion);CI_Build=true;_IsCIBuild=true;SyncGeneratorRunning=true"
Projects="..\src\Uno.UWPSyncGenerator\Uno.UWPSyncGenerator.csproj;..\src\Uno.UWPSyncGenerator.Reference\Uno.UWPSyncGenerator.Reference.csproj"
Targets="Restore;Clean"
RebaseOutputs="false"
BuildInParallel="true" />

<MSBuild Properties="Configuration=Release" Projects="..\src\Uno.UWPSyncGenerator\Uno.UWPSyncGenerator.csproj" Targets="Build" />
<MSBuild Properties="Configuration=Release" Projects="..\src\Uno.UWPSyncGenerator.Reference\Uno.UWPSyncGenerator.Reference.csproj" Targets="Build" />
<!-- Use dotnet build (not MSBuild task) to ensure NuGet contentFiles (BuildHost-netcore) are copied to output -->
<Exec Command="dotnet build ..\src\Uno.UWPSyncGenerator\Uno.UWPSyncGenerator.csproj -c Release" />
<Exec Command="dotnet build ..\src\Uno.UWPSyncGenerator.Reference.WinUI\Uno.UWPSyncGenerator.Reference.WinUI.csproj -c Release" />
Comment thread
MartinZikmund marked this conversation as resolved.
Resolved

</Target>

Expand Down
21 changes: 11 additions & 10 deletions build/ci/tests/.azure-devops-tests-android-native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,16 +126,17 @@ jobs:
ALLOW_RERUN: false
UITEST_TEST_TIMEOUT: '2600s'

'Snapshot Tests':
ANDROID_SIMULATOR_APILEVEL: 28
UITEST_TEST_MODE_DISPLAY_NAME: 'Snapshot Tests'
UITEST_TEST_MODE_NAME: Snapshots
UNO_UITEST_BUCKET_ID: Snapshot
SAMPLEAPP_ARTIFACT_NAME: uitests-android-netcoremobile-build
TARGETPLATFORM_NAME: net9
FAILBUILD_ON_FAILURE: true
ALLOW_RERUN: true
UITEST_TEST_TIMEOUT: '270s'
${{ if eq(variables['Build.SourceBranch'], 'refs/heads/master') }}:
'Snapshot Tests':
ANDROID_SIMULATOR_APILEVEL: 28
UITEST_TEST_MODE_DISPLAY_NAME: 'Snapshot Tests'
UITEST_TEST_MODE_NAME: Snapshots
UNO_UITEST_BUCKET_ID: Snapshot
SAMPLEAPP_ARTIFACT_NAME: uitests-android-netcoremobile-build
TARGETPLATFORM_NAME: net9
FAILBUILD_ON_FAILURE: true
ALLOW_RERUN: true
UITEST_TEST_TIMEOUT: '270s'

# Android 10 testing is disabled because of https://github.com/microsoft/appcenter/issues/1451
# Android_10.0:
Expand Down
43 changes: 25 additions & 18 deletions build/ci/tests/.azure-devops-tests-ios-native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ parameters:
value: '04'
- key: '4'
value: '05'
- key: '5'
value: '06'
- key: '6'
value: '07'
- key: '7'
value: '08'

# Runtime Test Groups
UITEST_RUNTIME_TEST_GROUP_COUNT: 8
Expand Down Expand Up @@ -172,21 +178,22 @@ jobs:
# SAMPLESAPP_BUNDLE_ID: 'uno.platform.samplesdev'
# xCodeRoot: ${{ parameters.xCodeRootTest }}

- ${{ each snapshotGroup in parameters.SNAPSHOT_GROUPS }}:
- template: .azure-devops-tests-ios-runner.yml
parameters:
nugetPackages: $(NUGET_PACKAGES)
JobName: 'iOS_Snapshot_Tests_Group_${{ snapshotGroup.value }}'
JobDisplayName: 'Snapshot Tests ${{ snapshotGroup.key }}'
TestRunName: 'iOS Native Snapshot Tests ${{ snapshotGroup.key }}'
JobTimeoutInMinutes: 60
SamplesAppArtifactName: 'ios-uitest-build'
vmImage: ${{ parameters.vmImageTest }}
UITEST_SNAPSHOTS_ONLY: true
UITEST_SNAPSHOTS_GROUP: '0${{ snapshotGroup.key }}' # Example: 01, 02, 03, 04, 05
UITEST_TEST_TIMEOUT: '10m'
UITEST_ALLOW_RERUN: 'false'
SAMPLESAPP_BUNDLE_ID: 'uno.platform.samplesdev'
xCodeRoot: ${{ parameters.xCodeRootTest }}
dependsOn:
- iOS_Build
- ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/master') }}:
- ${{ each snapshotGroup in parameters.SNAPSHOT_GROUPS }}:
- template: .azure-devops-tests-ios-runner.yml
parameters:
nugetPackages: $(NUGET_PACKAGES)
JobName: 'iOS_Snapshot_Tests_Group_${{ snapshotGroup.value }}'
JobDisplayName: 'Snapshot Tests ${{ snapshotGroup.key }}'
TestRunName: 'iOS Native Snapshot Tests ${{ snapshotGroup.key }}'
JobTimeoutInMinutes: 90
SamplesAppArtifactName: 'ios-uitest-build'
vmImage: ${{ parameters.vmImageTest }}
UITEST_SNAPSHOTS_ONLY: true
UITEST_SNAPSHOTS_GROUP: '0${{ snapshotGroup.key }}' # Example: 01, 02, 03, 04, 05
UITEST_TEST_TIMEOUT: '10m'
UITEST_ALLOW_RERUN: 'false'
SAMPLESAPP_BUNDLE_ID: 'uno.platform.samplesdev'
xCodeRoot: ${{ parameters.xCodeRootTest }}
dependsOn:
- iOS_Build
134 changes: 67 additions & 67 deletions build/ci/tests/.azure-devops-tests-webassembly-native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,73 +58,73 @@ jobs:
ArtifactName: wasm-uitest-binaries-logs
ArtifactType: Container

- job: Wasm_UITests_Snap
displayName: 'WebAssembly Snapshot Tests'
cancelTimeoutInMinutes: 0
dependsOn:
- Wasm_UITests_Build
condition: and(succeededOrFailed(), or(ne(variables['Build.Reason'], 'PullRequest'), eq(stageDependencies.Setup.outputs['SetScope.RequireNativeWasm'], 'true')))

container: nv-bionic-wasm

pool: ${{ parameters.poolName }}

variables:
NUGET_PACKAGES: $(build.sourcesdirectory)/.nuget
SITE_SUFFIX: 'net10.0'

steps:
- checkout: self
clean: true

- template: ../templates/dotnet-install.yml

- task: NodeTool@0
inputs:
versionSpec: '18.x'

- task: DownloadPipelineArtifact@2
displayName: Restoring uitest binaries
inputs:
artifact: wasm-uitest-binaries
path: $(build.sourcesdirectory)/build/wasm-uitest-binaries

- bash: |
set -euo pipefail
set -x
IFS=$'\n\t'
dotnet tool uninstall dotnet-serve -g || true
dotnet tool uninstall dotnet-serve --tool-path $BUILD_SOURCESDIRECTORY/build/tools || true
dotnet tool install dotnet-serve --version 1.10.140 --tool-path $BUILD_SOURCESDIRECTORY/build/tools || true
export PATH="$PATH:$BUILD_SOURCESDIRECTORY/build/tools"
$BUILD_SOURCESDIRECTORY/build/tools/dotnet-serve -p 8000 -d "$BUILD_SOURCESDIRECTORY/build/wasm-uitest-binaries/site-net10.0-WinUI" &
cd $BUILD_SOURCESDIRECTORY/src/SamplesApp/SamplesApp.Wasm.UITests
npm install
node app

env:
BUILD_SOURCESDIRECTORY: "$(build.sourcesdirectory)"
BUILD_ARTIFACTSTAGINGDIRECTORY: "$(build.artifactstagingdirectory)"
SITE_SUFFIX: "$(SITE_SUFFIX)"

displayName: 'Running UI Tests'

- task: CopyFiles@2
displayName: 'Publish Wasm Tests results'
inputs:
SourceFolder: $(build.sourcesdirectory)/src/SamplesApp/SamplesApp.Wasm.UITests/out
Contents: '**/*.*'
TargetFolder: $(build.artifactstagingdirectory)/screenshots/wasm
CleanTargetFolder: false
OverWrite: false
flattenFolders: false

- task: PublishBuildArtifacts@1
retryCountOnTaskFailure: 3
inputs:
PathtoPublish: $(build.artifactstagingdirectory)
ArtifactName: uitests-results
ArtifactType: Container
- ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/master') }}:
- job: Wasm_UITests_Snap
displayName: 'WebAssembly Snapshot Tests'
cancelTimeoutInMinutes: 0
dependsOn:
- Wasm_UITests_Build

container: nv-bionic-wasm

pool: ${{ parameters.poolName }}

variables:
NUGET_PACKAGES: $(build.sourcesdirectory)/.nuget
SITE_SUFFIX: 'net10.0'

steps:
- checkout: self
clean: true

- template: ../templates/dotnet-install.yml

- task: NodeTool@0
inputs:
versionSpec: '18.x'

- task: DownloadPipelineArtifact@2
displayName: Restoring uitest binaries
inputs:
artifact: wasm-uitest-binaries
path: $(build.sourcesdirectory)/build/wasm-uitest-binaries

- bash: |
set -euo pipefail
set -x
IFS=$'\n\t'
dotnet tool uninstall dotnet-serve -g || true
dotnet tool uninstall dotnet-serve --tool-path $BUILD_SOURCESDIRECTORY/build/tools || true
dotnet tool install dotnet-serve --version 1.10.140 --tool-path $BUILD_SOURCESDIRECTORY/build/tools || true
export PATH="$PATH:$BUILD_SOURCESDIRECTORY/build/tools"
$BUILD_SOURCESDIRECTORY/build/tools/dotnet-serve -p 8000 -d "$BUILD_SOURCESDIRECTORY/build/wasm-uitest-binaries/site-net10.0-WinUI" &
cd $BUILD_SOURCESDIRECTORY/src/SamplesApp/SamplesApp.Wasm.UITests
npm install
node app

env:
BUILD_SOURCESDIRECTORY: "$(build.sourcesdirectory)"
BUILD_ARTIFACTSTAGINGDIRECTORY: "$(build.artifactstagingdirectory)"
SITE_SUFFIX: "$(SITE_SUFFIX)"

displayName: 'Running UI Tests'

- task: CopyFiles@2
displayName: 'Publish Wasm Tests results'
inputs:
SourceFolder: $(build.sourcesdirectory)/src/SamplesApp/SamplesApp.Wasm.UITests/out
Contents: '**/*.*'
TargetFolder: $(build.artifactstagingdirectory)/screenshots/wasm
CleanTargetFolder: false
OverWrite: false
flattenFolders: false

- task: PublishBuildArtifacts@1
retryCountOnTaskFailure: 3
inputs:
PathtoPublish: $(build.artifactstagingdirectory)
ArtifactName: uitests-results
ArtifactType: Container


- job: Wasm_UITests_Automated
Expand Down
2 changes: 1 addition & 1 deletion doc/articles/uno-development/building-uno-ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ When updating the versions of NuGet packages, make sure to update all the .nuspe

Uno Platform uses a tool which synchronizes all WinRT and WinUI APIs with the type implementations already present in Uno. This ensures that all APIs are present for consumers of Uno, even if some are not implemented.

The synchronization process takes the APIs provided by the WinMD files referenced by the `Uno.UWPSyncGenerator.Reference` project and generates stubbed classes for types in the `Generated` folders of Uno.UI, Uno.Foundation and Uno.WinRT projects. If the generated classes have been partially implemented in Uno (in the non-Generated folders), the tool will automatically skip those implemented methods.
The synchronization process takes the APIs provided by the WinMD files referenced by the `Uno.UWPSyncGenerator.Reference.WinUI` project and generates stubbed classes for types in the `Generated` folders of Uno.UI, Uno.Foundation and Uno.WinRT projects. If the generated classes have been partially implemented in Uno (in the non-Generated folders), the tool will automatically skip those implemented methods.
Comment thread
MartinZikmund marked this conversation as resolved.
Resolved
Comment thread
MartinZikmund marked this conversation as resolved.
Resolved
Comment thread
MartinZikmund marked this conversation as resolved.
Resolved
Comment thread
MartinZikmund marked this conversation as resolved.
Resolved

The tool needs to be run on Windows because of its dependency on the Windows SDK WinMD files.

Expand Down
4 changes: 3 additions & 1 deletion src/Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,9 @@
<PackageReference Update="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Update="CommunityToolkit.Mvvm" Version="$(CommunityToolkitMvvmVersion)" />
<PackageReference Update="System.CommandLine" Version="2.0.0-beta4.22272.1" />
<PackageReference Update="Microsoft.Web.WebView2" Version="1.0.2592.51" />
<PackageReference Update="Microsoft.Web.WebView2" Version="1.0.2592.51" Condition="'$(MSBuildProjectName)' != 'Uno.UWPSyncGenerator.Reference.WinUI'" />

<PackageReference Update="Basic.Reference.Assemblies.Net100" Version="1.8.4" />
Comment thread
MartinZikmund marked this conversation as resolved.
Resolved
</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'net9.0-android'">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public class SnapShotTestGenerator : ISourceGenerator

private static readonly string[] _defaultCategories = new[] { "Default" };

private const int GroupCount = 5;
private const int GroupCount = 8;

public void Initialize(GeneratorInitializationContext context)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,10 @@ public static string Generate()
.Select(method =>
{
var match = methodRegex.Match(method);
if (!match.Success)
{
throw new InvalidOperationException($"BaseActivityCallbacks: unable to parse method line: {method}");
}
var name = match.Groups["name"].Value;
var nameOverride = match.Groups["nameOverride"].Value;
var eventName = string.IsNullOrEmpty(nameOverride) ? name : nameOverride;
Expand Down Expand Up @@ -129,14 +133,16 @@ public static string Generate()
sb.AppendLine("\t\t\t{");
foreach (var p in parameters)
{
var propName = char.ToUpper(p.ParamName[0], System.Globalization.CultureInfo.InvariantCulture) + p.ParamName.Substring(1);
sb.AppendLine($"\t\t\t\t{propName} = {p.ParamName}; ");
var normalizedParamName = p.ParamName.TrimStart('@');
var propName = char.ToUpper(normalizedParamName[0], System.Globalization.CultureInfo.InvariantCulture) + normalizedParamName.Substring(1);
sb.AppendLine($"\t\t\t\tthis.{propName} = {p.ParamName}; ");
Comment thread
MartinZikmund marked this conversation as resolved.
Resolved
}
sb.AppendLine("\t\t\t}");
sb.AppendLine();
foreach (var p in parameters)
{
var propName = char.ToUpper(p.ParamName[0], System.Globalization.CultureInfo.InvariantCulture) + p.ParamName.Substring(1);
var normalizedParamName = p.ParamName.TrimStart('@');
var propName = char.ToUpper(normalizedParamName[0], System.Globalization.CultureInfo.InvariantCulture) + normalizedParamName.Substring(1);
sb.AppendLine($"\t\t\tpublic {p.Type} {propName} {{ get; }} ");
Comment thread
MartinZikmund marked this conversation as resolved.
Resolved
}
sb.AppendLine("\t\t}");
Expand Down Expand Up @@ -197,7 +203,7 @@ public static string Generate()
}

sb.AppendLine("}");
sb.AppendLine("#endif ");
sb.AppendLine("#endif");

return sb.ToString();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -964,7 +964,7 @@ private static void GenerateAndroidMixin(StringBuilder sb, MixinParams m)
sb.AppendLine("\t\t\tif (newSize != previousSize)");
sb.AppendLine("\t\t\t{");
sb.AppendLine("\t\t\t\tSizeChanged?.Invoke(this, new SizeChangedEventArgs(this, previousSize, newSize));");
sb.AppendLine("\t\t\t\t_renderTransform?.UpdateSize(newSize); // TODO: Move ** BEFORE ** base.OnLayout() ???");
sb.AppendLine("\t\t\t\t_renderTransform?.UpdateSize(newSize);");
sb.AppendLine("\t\t\t}");
sb.AppendLine("\t\t}");
sb.AppendLine();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,8 @@ public static string GenerateFrameworkElementMixins()
sb.AppendLine();
sb.AppendLine("#if UNO_MIXIN_GENERATION && __APPLE_UIKIT__");
sb.AppendLine();
sb.AppendLine("#nullable disable");
sb.AppendLine();
sb.AppendLine("#pragma warning disable 414");
Comment thread
MartinZikmund marked this conversation as resolved.
Resolved
Comment thread
MartinZikmund marked this conversation as resolved.
Resolved
sb.AppendLine();
sb.AppendLine("using System;");
Expand Down
2 changes: 1 addition & 1 deletion src/Uno.Foundation/Extensions/VectorExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

namespace System.Numerics;

public static class VectorExtensions
public static partial class VectorExtensions
{
/// <summary>
/// Converts a <see cref="Vector2"/> to <see cref="Point"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// <auto-generated>
#pragma warning disable 108 // new keyword hiding
#pragma warning disable 114 // new keyword hiding
namespace Microsoft.UI.Xaml.Data
{
#if __ANDROID__ || __IOS__ || __TVOS__ || IS_UNIT_TESTS || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__
[global::Uno.NotImplemented]
#endif
public partial class BindableCustomProperty
{
#if __ANDROID__ || __IOS__ || __TVOS__ || IS_UNIT_TESTS || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "IS_UNIT_TESTS", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public BindableCustomProperty(bool canRead, bool canWrite, string name, global::System.Type type, global::System.Func<object, object> getValue, global::System.Action<object, object> setValue, global::System.Func<object, object, object> getIndexedValue, global::System.Action<object, object, object> setIndexedValue)
{
global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Microsoft.UI.Xaml.Data.BindableCustomProperty", "BindableCustomProperty.BindableCustomProperty(bool canRead, bool canWrite, string name, Type type, Func<object, object> getValue, Action<object, object> setValue, Func<object, object, object> getIndexedValue, Action<object, object, object> setIndexedValue)");
}
#endif
// Forced skipping of method Microsoft.UI.Xaml.Data.BindableCustomProperty.BindableCustomProperty(bool, bool, string, System.Type, System.Func<object, object>, System.Action<object, object>, System.Func<object, object, object>, System.Action<object, object, object>)
}
}
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
// <auto-generated>
#pragma warning disable 108 // new keyword hiding
#pragma warning disable 114 // new keyword hiding
namespace Windows.UI.Composition
namespace Microsoft.UI.Xaml.Data
{
#if __ANDROID__ || __IOS__ || __TVOS__ || IS_UNIT_TESTS || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__
[global::Uno.NotImplemented]
#endif
public partial struct InkTrailPoint
public partial interface IBindableCustomPropertyImplementation
{
// Forced skipping of method Windows.UI.Composition.InkTrailPoint.InkTrailPoint()
#if __ANDROID__ || __IOS__ || __TVOS__ || IS_UNIT_TESTS || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__
public global::Windows.Foundation.Point Point;
global::Microsoft.UI.Xaml.Data.BindableCustomProperty GetProperty(string name);
#endif
#if __ANDROID__ || __IOS__ || __TVOS__ || IS_UNIT_TESTS || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__
public float Radius;
global::Microsoft.UI.Xaml.Data.BindableCustomProperty GetProperty(global::System.Type indexParameterType);
#endif
}
}
Loading
Loading