Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.

Commit 9e9cd0f

Browse files
Add maui-compat build
1 parent 8155632 commit 9e9cd0f

File tree

1 file changed

+85
-11
lines changed

1 file changed

+85
-11
lines changed

azure-pipelines.yml

Lines changed: 85 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ variables:
66
NugetPackageVersion: '$(CurrentSemanticVersion)'
77
#MONO_VERSION: 6_4_0
88
#XCODE_VERSION: 11.4
9-
NETCORE_VERSION: '5.0.x'
9+
NETCORE_VERSION: '6.0.x'
1010
NETCORE_TEST_VERSION_3_1: '3.1.x'
1111
NETCORE_TEST_VERSION_2_1: '2.1.x'
1212
RunPoliCheck: 'false'
1313
PathToMarkupCsproj: 'src/Markup/Xamarin.CommunityToolkit.Markup/Xamarin.CommunityToolkit.Markup.csproj'
1414
PathToCommunityToolkitCsproj: 'src/CommunityToolkit/Xamarin.CommunityToolkit/Xamarin.CommunityToolkit.csproj'
15+
PathToMauiCompatMarkupCsproj: 'src/Markup/Xamarin.CommunityToolkit.Markup.MauiCompat/Xamarin.CommunityToolkit.Markup.MauiCompat.csproj'
16+
PathToMauiCompatCommunityToolkitCsproj: 'src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/Xamarin.CommunityToolkit.MauiCompat.csproj'
1517
PathToSamplesSln: 'samples/XCT.Sample.sln'
1618
PathToCommunityToolkitUnitTestCsproj: 'src/CommunityToolkit/Xamarin.CommunityToolkit.UnitTests/Xamarin.CommunityToolkit.UnitTests.csproj'
1719
PathToMarkupUnitTestCsproj: 'src/Markup/Xamarin.CommunityToolkit.Markup.UnitTests/Xamarin.CommunityToolkit.Markup.UnitTests.csproj'
@@ -113,16 +115,6 @@ jobs:
113115
Write-Host ("##vso[task.setvariable variable=NugetPackageVersion;]$tagVersion")
114116
displayName: Set NuGet Version to Tag Number
115117
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/')
116-
# if this is a PR build, then update the version number
117-
- powershell: |
118-
$prNumber = $env:System_PullRequest_PullRequestNumber
119-
$commitId = "$($env:System_PullRequest_SourceCommitId)".Substring(0, 7)
120-
$fullVersionString = "$(CurrentSemanticVersionBase)-build.$prNumber+$commitId"
121-
Write-Host("GitHub PR = $prNumber, Commit = $commitId");
122-
Write-Host ("##vso[task.setvariable variable=NugetPackageVersion;]$fullVersionString")
123-
Write-Host "##vso[build.updatebuildnumber]$fullVersionString"
124-
displayName: Set NuGet Version to PR Version
125-
condition: and(succeeded(), eq(variables['build.reason'], 'PullRequest'))
126118
# restore, build and pack the packages
127119
- task: MSBuild@1
128120
displayName: Build Xamarin.CommunityToolkit.csproj
@@ -189,6 +181,88 @@ jobs:
189181
inputs:
190182
targetType: F
191183

184+
- job: build_windows_mauicompat
185+
displayName: Build MauiCompat Library
186+
pool:
187+
vmImage: windows-2022
188+
steps:
189+
- powershell: |
190+
$mauiCompatExists = Test-Path -Path "$(System.DefaultWorkingDirectory)/src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat.sln"
191+
Write-Output "##vso[task.setvariable variable=MauiCompatExists]$mauiCompatExists"
192+
- task: UseDotNet@2
193+
displayName: 'Install .NET SDK'
194+
condition: eq(variables['MauiCompatExists'], True)
195+
inputs:
196+
version: $(NETCORE_VERSION)
197+
includePreviewVersions: false
198+
- task: CmdLine@2
199+
displayName: 'Clear Local NuGet Cache' #https://github.com/actions/virtual-environments/issues/1090#issuecomment-748452120
200+
inputs:
201+
script: 'nuget locals all -clear'
202+
- task: MSBuild@1
203+
displayName: 'Clean Solution'
204+
inputs:
205+
solution: $(PathToSamplesSln)
206+
msbuildArguments: '/t:Clean'
207+
# if this is a tagged build, then update the version number
208+
- powershell: |
209+
$buildSourceBranch = "$(Build.SourceBranch)"
210+
$tagVersion = $buildSourceBranch.Substring($buildSourceBranch.LastIndexOf("/") + 1)
211+
Write-Host("Branch = $buildSourceBranch, Version = $tagVersion");
212+
Write-Host ("##vso[task.setvariable variable=NugetPackageVersion;]$tagVersion")
213+
displayName: Set NuGet Version to Tag Number
214+
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/')
215+
# restore, build and pack the packages
216+
- task: MSBuild@1
217+
displayName: Build Xamarin.CommunityToolkit.MauiCompat.csproj
218+
inputs:
219+
solution: $(PathToMauiCompatCommunityToolkitCsproj)
220+
configuration: Release
221+
msbuildArguments: '/restore /t:Build /p:ContinuousIntegrationBuild=true /p:Deterministic=false'
222+
- task: CopyFiles@2
223+
inputs:
224+
Contents: 'SignList.xml'
225+
TargetFolder: '$(Build.ArtifactStagingDirectory)/nuget'
226+
- task: MSBuild@1
227+
displayName: Pack Community Toolkit NuGets
228+
inputs:
229+
solution: $(PathToMauiCompatCommunityToolkitCsproj)
230+
configuration: Release
231+
msbuildArguments: '/t:Pack /p:PackageVersion=$(NugetPackageVersion) /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"'
232+
- task: MSBuild@1
233+
displayName: Build Markup Project
234+
inputs:
235+
solution: $(PathToMauiCompatMarkupCsproj)
236+
configuration: Release
237+
msbuildArguments: '/restore /t:Build /p:ContinuousIntegrationBuild=true /p:Deterministic=false'
238+
- task: MSBuild@1
239+
displayName: Pack Markup NuGet
240+
inputs:
241+
solution: $(PathToMauiCompatMarkupCsproj)
242+
configuration: Release
243+
msbuildArguments: '/t:Pack /p:PackageVersion=$(NugetPackageVersion) /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"'
244+
# publish the packages
245+
- task: PublishBuildArtifacts@1
246+
displayName: 'Publish Unsigned NuGets'
247+
inputs:
248+
artifactName: nuget
249+
pathToPublish: '$(Build.ArtifactStagingDirectory)/nuget'
250+
# make sure we are following the rules, but only on the main build
251+
- ${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
252+
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
253+
condition: not(startsWith(variables['Build.SourceBranch'], 'refs/tags/'))
254+
displayName: Component Detection - Log
255+
inputs:
256+
scanType: LogOnly
257+
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
258+
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/')
259+
displayName: Component Detection - Report
260+
- task: securedevelopmentteam.vss-secure-development-tools.build-task-policheck.PoliCheck@1
261+
condition: eq(variables['RunPoliCheck'], 'true')
262+
displayName: 'PoliCheck'
263+
inputs:
264+
targetType: F
265+
192266
- job: build_macos
193267
displayName: Build macOS Library
194268
pool:

0 commit comments

Comments
 (0)