diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 930b5ecdd..1bae47418 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -62,15 +62,6 @@ jobs:
pool:
vmImage: windows-2019
steps:
- - task: CmdLine@2
- displayName: 'Clear Local NuGet Cache' #https://github.com/actions/virtual-environments/issues/1090#issuecomment-748452120
- inputs:
- script: 'nuget locals all -clear'
- - task: MSBuild@1
- displayName: 'Clean Solution'
- inputs:
- solution: $(PathToSamplesSln)
- msbuildArguments: '/t:Clean'
- task: MSBuild@1
displayName: Build Solution
inputs:
@@ -88,25 +79,19 @@ jobs:
inputs:
version: $(NETCORE_VERSION)
includePreviewVersions: false
+
- task: UseDotNet@2
displayName: 'Install .NET 3.1 Test SDK'
inputs:
version: $(NETCORE_TEST_VERSION_3_1)
includePreviewVersions: false
+
- task: UseDotNet@2
displayName: 'Install .NET 2.1 Test SDK'
inputs:
version: $(NETCORE_TEST_VERSION_2_1)
includePreviewVersions: false
- - task: CmdLine@2
- displayName: 'Clear Local NuGet Cache' #https://github.com/actions/virtual-environments/issues/1090#issuecomment-748452120
- inputs:
- script: 'nuget locals all -clear'
- - task: MSBuild@1
- displayName: 'Clean Solution'
- inputs:
- solution: $(PathToSamplesSln)
- msbuildArguments: '/t:Clean'
+
# if this is a tagged build, then update the version number
- powershell: |
$buildSourceBranch = "$(Build.SourceBranch)"
@@ -115,6 +100,7 @@ jobs:
Write-Host ("##vso[task.setvariable variable=NugetPackageVersion;]$tagVersion")
displayName: Set NuGet Version to Tag Number
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/')
+
# if this is a PR build, then update the version number
- powershell: |
$prNumber = $env:System_PullRequest_PullRequestNumber
@@ -125,6 +111,7 @@ jobs:
Write-Host "##vso[build.updatebuildnumber]$fullVersionString"
displayName: Set NuGet Version to PR Version
condition: and(succeeded(), eq(variables['build.reason'], 'PullRequest'))
+
# restore, build and pack the packages
- task: MSBuild@1
displayName: Build Xamarin.CommunityToolkit.csproj
@@ -132,49 +119,60 @@ jobs:
solution: $(PathToCommunityToolkitCsproj)
configuration: Release
msbuildArguments: '/restore /t:Build /p:ContinuousIntegrationBuild=true /p:Deterministic=false'
+
- task: CopyFiles@2
inputs:
Contents: 'SignList.xml'
- TargetFolder: '$(Build.ArtifactStagingDirectory)/nuget'
+ TargetFolder: '$(Build.ArtifactStagingDirectory)'
+
- task: MSBuild@1
displayName: Pack Community Toolkit NuGets
inputs:
solution: $(PathToCommunityToolkitCsproj)
configuration: Release
- msbuildArguments: '/t:Pack /p:PackageVersion=$(NugetPackageVersion) /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"'
+ msbuildArguments: '/t:Pack /p:PackageVersion=$(NugetPackageVersion)'
+
- task: MSBuild@1
displayName: Build Markup Project
inputs:
solution: $(PathToMarkupCsproj)
configuration: Release
msbuildArguments: '/restore /t:Build /p:ContinuousIntegrationBuild=true /p:Deterministic=false'
+
- task: MSBuild@1
displayName: Pack Markup NuGet
inputs:
solution: $(PathToMarkupCsproj)
configuration: Release
- msbuildArguments: '/t:Pack /p:PackageVersion=$(NugetPackageVersion) /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"'
-# - task: DotNetCoreCLI@2
-# displayName: Publish to GitHub NuGet Packages
-# condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/heads/main'))
-# inputs:
-# command: 'custom'
-# custom: 'nuget'
-# arguments: 'push --source https://nuget.pkg.github.com/xamarin/index.json --api-key $(GitHub.NuGet.Token) "$(Build.ArtifactStagingDirectory)\nuget\*.nupkg"'
+ msbuildArguments: '/t:Pack /p:PackageVersion=$(NugetPackageVersion)'
+
- task: CmdLine@2
displayName: 'Run Markup Unit Tests'
inputs:
script: dotnet test $(PathToMarkupUnitTestCsproj) -c Release --collect "Code coverage" -p:BuildInParallel=false
+
- task: CmdLine@2
displayName: 'Run Community Toolkit Unit Tests'
inputs:
script: dotnet test $(PathToCommunityToolkitUnitTestCsproj) -c Release --collect "Code coverage" -p:BuildInParallel=false
+
# publish the packages
+ - task: PowerShell@2
+ displayName: 'Copy NuGet Packages to Staging Directory'
+ inputs:
+ targetType: 'inline'
+ script: |
+ $source = ".\src"
+ $filter = "nupkg"
+ Get-ChildItem -Path $source -Recurse | Where-Object { $_.Extension -match $filter } | Copy-Item -Destination "$(Build.ArtifactStagingDirectory)"
+ pwsh: true
+
- task: PublishBuildArtifacts@1
displayName: 'Publish Unsigned NuGets'
inputs:
artifactName: nuget
- pathToPublish: '$(Build.ArtifactStagingDirectory)/nuget'
+ pathToPublish: '$(Build.ArtifactStagingDirectory)'
+
# make sure we are following the rules, but only on the main build
- ${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
@@ -202,19 +200,23 @@ jobs:
script: |
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version 6.0.300-preview.22204.3 --quality preview
dotnet --info
+
- task: CmdLine@2
displayName: 'Install .NET MAUI Workload'
inputs:
script: 'dotnet workload install maui'
+
- task: JavaToolInstaller@0
displayName: 'Install Java SDK 11.0'
inputs:
versionSpec: '11'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'
+
- powershell: |
$mauiCompatExists = Test-Path -Path "$(PathToMauiCompatCommunityToolkitCsproj)"
Write-Output "##vso[task.setvariable variable=MauiCompatExists]$mauiCompatExists"
+
- task: CmdLine@2
displayName: 'Run MauiCompat Generator'
condition: eq (variables['MauiCompatExists'], False)
@@ -240,21 +242,18 @@ jobs:
- download: current
artifact: drop
- - task: CopyFiles@2
- inputs:
- Contents: '$(Pipeline.Workspace)\drop\SignList.xml'
- TargetFolder: '$(Build.ArtifactStagingDirectory)/nuget'
-
- powershell: |
wget https://dot.net/v1/dotnet-install.ps1 -OutFile C:\dotnet-install.ps1
C:\dotnet-install.ps1 -Version 6.0.300-preview.22204.3
dotnet --info
Write-Host "##vso[task.prependpath]C:\\Users\\VssAdministrator\\AppData\\Local\\Microsoft\\dotnet"
displayName: Install .NET 6.0.300-preview.22204.3
+
- task: CmdLine@2
displayName: 'Install .NET MAUI Workload'
inputs:
script: 'dotnet workload install maui'
+
- task: JavaToolInstaller@0
displayName: 'Install Java SDK 11.0'
inputs:
@@ -268,6 +267,7 @@ jobs:
script: |
cd $(Pipeline.Workspace)\drop
dotnet new globaljson --sdk-version 6.0.300-preview.22204.3 --roll-forward latestMajor --force
+
# if this is a tagged build, then update the version number
- powershell: |
$buildSourceBranch = "$(Build.SourceBranch)"
@@ -283,21 +283,32 @@ jobs:
inputs:
solution: '$(Pipeline.Workspace)\drop\$(PathToMauiCompatCommunityToolkitCsproj)'
configuration: 'Release'
- msbuildArgs: '/restore -t:pack -p:PackageVersion=$(NugetPackageVersion) -p:Version=$(NugetPackageVersion) -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"'
+ msbuildArgs: '/restore -t:pack -p:PackageVersion=$(NugetPackageVersion) -p:Version=$(NugetPackageVersion) -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg'
- task: VSBuild@1
displayName: 'Build and Pack Markup NuGet'
inputs:
solution: '$(Pipeline.Workspace)\drop\$(PathToMauiCompatMarkupCsproj)'
configuration: 'Release'
- msbuildArgs: '/restore -t:pack -p:PackageVersion=$(NugetPackageVersion) -p:Version=$(NugetPackageVersion) -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"'
+ msbuildArgs: '/restore -t:pack -p:PackageVersion=$(NugetPackageVersion) -p:Version=$(NugetPackageVersion) -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg'
# publish the packages
+ - task: PowerShell@2
+ displayName: 'Copy NuGet Packages to Staging Directory'
+ inputs:
+ targetType: 'inline'
+ script: |
+ $source = "$(Pipeline.Workspace)\drop\src"
+ $filter = "nupkg"
+ Get-ChildItem -Path $source -Recurse | Where-Object { $_.Extension -match $filter } | Copy-Item -Destination "$(Build.ArtifactStagingDirectory)"
+ pwsh: true
+
- task: PublishBuildArtifacts@1
displayName: 'Publish Unsigned NuGets'
inputs:
artifactName: nuget
- pathToPublish: '$(Build.ArtifactStagingDirectory)/nuget'
+ pathToPublish: '$(Build.ArtifactStagingDirectory)'
+
# make sure we are following the rules, but only on the main build
- ${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
@@ -327,52 +338,54 @@ jobs:
Write-Host ("##vso[task.setvariable variable=NugetPackageVersion;]$tagVersion")
displayName: Set NuGet Version to Tag Number
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/')
- # 16feb21 jfversluis: let's not pin this anymore and use latest
- # make sure to select the correct Xamarin and mono
- #- bash: sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh $(MONO_VERSION)
- # displayName: Switch to the latest Xamarin SDK
- #- bash: echo '##vso[task.setvariable variable=MD_APPLE_SDK_ROOT;]'/Applications/Xcode_$(XCODE_VERSION).app;sudo xcode-select --switch /Applications/Xcode_$(XCODE_VERSION).app/Contents/Developer
- # displayName: Switch to the latest Xcode
- # restore, build and pack the packages
+
- task: UseDotNet@2
displayName: 'Install .NET SDK'
inputs:
version: $(NETCORE_VERSION)
includePreviewVersions: false
+
- task: UseDotNet@2
displayName: 'Install .NET 3.1 Test SDK'
inputs:
version: $(NETCORE_TEST_VERSION_3_1)
includePreviewVersions: false
+
- task: UseDotNet@2
displayName: 'Install .NET 2.1 Test SDK'
inputs:
version: $(NETCORE_TEST_VERSION_2_1)
includePreviewVersions: false
+
- task: CmdLine@2
displayName: 'Build Markup'
inputs:
script: '$(PathToMsBuildOnMacOS) $(PathToMarkupCsproj) /p:Configuration=Release /restore /t:Build /p:ContinuousIntegrationBuild=true /p:Deterministic=false'
+
- task: CmdLine@2
displayName: 'Build Community Toolkit'
inputs:
script: '$(PathToMsBuildOnMacOS) $(PathToCommunityToolkitCsproj) /p:Configuration=Release /restore /t:Build /p:ContinuousIntegrationBuild=true /p:Deterministic=false'
+
- task: CmdLine@2
displayName: 'Run Markup Unit Tests'
inputs:
script: 'dotnet test $(PathToMarkupUnitTestCsproj) -c Release -p:BuildInParallel=false'
+
- task: CmdLine@2
displayName: 'Run Community Toolkit Unit Tests'
inputs:
script: 'dotnet test $(PathToCommunityToolkitUnitTestCsproj) -c Release -p:BuildInParallel=false'
+
- task: CmdLine@2
displayName: 'Pack Markup NuGets'
inputs:
- script: '$(PathToMsBuildOnMacOS) $(PathToMarkupUnitTestCsproj) /p:Configuration=Release /t:Pack /p:PackageVersion=$(NugetPackageVersion) /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"'
+ script: '$(PathToMsBuildOnMacOS) $(PathToMarkupUnitTestCsproj) /p:Configuration=Release /t:Pack /p:PackageVersion=$(NugetPackageVersion)'
+
- task: CmdLine@2
displayName: 'Pack CommunityToolkit NuGets'
inputs:
- script: '$(PathToMsBuildOnMacOS) $(PathToCommunityToolkitCsproj) /p:Configuration=Release /t:Pack /p:PackageVersion=$(NugetPackageVersion) /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"'
+ script: '$(PathToMsBuildOnMacOS) $(PathToCommunityToolkitCsproj) /p:Configuration=Release /t:Pack /p:PackageVersion=$(NugetPackageVersion)'
- ${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
- template: sign-artifacts/jobs/v2.yml@internal-templates
diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Popup/UWP/PopupRenderer.uwp.cs b/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Popup/UWP/PopupRenderer.uwp.cs
index 76269b85b..6b31c52ec 100644
--- a/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Popup/UWP/PopupRenderer.uwp.cs
+++ b/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Popup/UWP/PopupRenderer.uwp.cs
@@ -175,10 +175,8 @@ void SetColor()
flyoutStyle.Setters.Add(new Windows.UI.Xaml.Setter(FlyoutPresenter.BackgroundProperty, Element.Color.ToWindowsColor()));
-#if UWP_18362
if (Element.Color == Color.Transparent)
flyoutStyle.Setters.Add(new Windows.UI.Xaml.Setter(FlyoutPresenter.IsDefaultShadowEnabledProperty, false));
-#endif
}
void ApplyStyles()
diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit/Xamarin.CommunityToolkit.csproj b/src/CommunityToolkit/Xamarin.CommunityToolkit/Xamarin.CommunityToolkit.csproj
index bd7a514b9..14ed10637 100644
--- a/src/CommunityToolkit/Xamarin.CommunityToolkit/Xamarin.CommunityToolkit.csproj
+++ b/src/CommunityToolkit/Xamarin.CommunityToolkit/Xamarin.CommunityToolkit.csproj
@@ -45,19 +45,7 @@
true
- $(DefineConstants);UAP10_0
-
-
- $(DefineConstants);UWP_14393
-
-
- $(DefineConstants);UWP_16299;UWP_14393
-
-
- $(DefineConstants);UWP_18362;UWP_16299;UWP_14393
-
-
- $(DefineConstants);UWP_19041;UWP_18362;UWP_16299;UWP_14393
+ $(DefineConstants);UAP10_0;UWP