@@ -6,12 +6,14 @@ variables:
6
6
NugetPackageVersion : ' $(CurrentSemanticVersion)'
7
7
# MONO_VERSION: 6_4_0
8
8
# XCODE_VERSION: 11.4
9
- NETCORE_VERSION : ' 5 .0.x'
9
+ NETCORE_VERSION : ' 6 .0.x'
10
10
NETCORE_TEST_VERSION_3_1 : ' 3.1.x'
11
11
NETCORE_TEST_VERSION_2_1 : ' 2.1.x'
12
12
RunPoliCheck : ' false'
13
13
PathToMarkupCsproj : ' src/Markup/Xamarin.CommunityToolkit.Markup/Xamarin.CommunityToolkit.Markup.csproj'
14
14
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'
15
17
PathToSamplesSln : ' samples/XCT.Sample.sln'
16
18
PathToCommunityToolkitUnitTestCsproj : ' src/CommunityToolkit/Xamarin.CommunityToolkit.UnitTests/Xamarin.CommunityToolkit.UnitTests.csproj'
17
19
PathToMarkupUnitTestCsproj : ' src/Markup/Xamarin.CommunityToolkit.Markup.UnitTests/Xamarin.CommunityToolkit.Markup.UnitTests.csproj'
@@ -113,16 +115,6 @@ jobs:
113
115
Write-Host ("##vso[task.setvariable variable=NugetPackageVersion;]$tagVersion")
114
116
displayName: Set NuGet Version to Tag Number
115
117
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'))
126
118
# restore, build and pack the packages
127
119
- task : MSBuild@1
128
120
displayName : Build Xamarin.CommunityToolkit.csproj
@@ -189,6 +181,88 @@ jobs:
189
181
inputs :
190
182
targetType : F
191
183
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
+
192
266
- job : build_macos
193
267
displayName : Build macOS Library
194
268
pool :
0 commit comments