|
1 | 1 | # See available software and versions on hosted agents here: https://docs.microsoft.com/azure/devops/pipelines/agents/hosted
|
2 | 2 | variables:
|
3 |
| - CurrentSemanticVersionBase: '1.1.0' |
| 3 | + CurrentSemanticVersionBase: '1.3.0' |
4 | 4 | PreviewNumber: $[counter(variables['CurrentSemanticVersionBase'], 1001)]
|
5 | 5 | CurrentSemanticVersion: '$(CurrentSemanticVersionBase)-preview$(PreviewNumber)'
|
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'
|
|
43 | 45 | include:
|
44 | 46 | - main
|
45 | 47 | - develop
|
| 48 | + - 1.3.0-release-temp |
46 | 49 | paths:
|
47 | 50 | exclude:
|
48 | 51 | - README.md
|
@@ -179,6 +182,94 @@ jobs:
|
179 | 182 | inputs:
|
180 | 183 | targetType: F
|
181 | 184 |
|
| 185 | + - job: build_mauicompat |
| 186 | + displayName: Build MauiCompat Library |
| 187 | + pool: |
| 188 | + vmImage: macos-11 |
| 189 | + steps: |
| 190 | + - powershell: | |
| 191 | + $mauiCompatExists = Test-Path -Path "$(PathToMauiCompatCommunityToolkitCsproj)" |
| 192 | + Write-Output "##vso[task.setvariable variable=MauiCompatExists]$mauiCompatExists" |
| 193 | + - task: UseDotNet@2 |
| 194 | + condition: eq (variables['MauiCompatExists'], True) |
| 195 | + displayName: 'Install .NET SDK' |
| 196 | + inputs: |
| 197 | + version: $(NETCORE_VERSION) |
| 198 | + includePreviewVersions: false |
| 199 | + - task: CmdLine@2 |
| 200 | + condition: eq (variables['MauiCompatExists'], True) |
| 201 | + displayName: 'Install .NET MAUI workload' |
| 202 | + inputs: |
| 203 | + script: 'dotnet workload install maui' |
| 204 | + - task: JavaToolInstaller@0 |
| 205 | + condition: eq (variables['MauiCompatExists'], True) |
| 206 | + displayName: 'Install Java SDK 11.0' |
| 207 | + inputs: |
| 208 | + versionSpec: '11' |
| 209 | + jdkArchitectureOption: 'x64' |
| 210 | + jdkSourceOption: 'PreInstalled' |
| 211 | + - task: CmdLine@2 |
| 212 | + condition: eq (variables['MauiCompatExists'], True) |
| 213 | + displayName: 'Clear Local NuGet Cache' #https://github.com/actions/virtual-environments/issues/1090#issuecomment-748452120 |
| 214 | + inputs: |
| 215 | + script: 'nuget locals all -clear' |
| 216 | + # if this is a tagged build, then update the version number |
| 217 | + - powershell: | |
| 218 | + $buildSourceBranch = "$(Build.SourceBranch)" |
| 219 | + $tagVersion = $buildSourceBranch.Substring($buildSourceBranch.LastIndexOf("/") + 1) |
| 220 | + Write-Host("Branch = $buildSourceBranch, Version = $tagVersion"); |
| 221 | + Write-Host ("##vso[task.setvariable variable=NugetPackageVersion;]$tagVersion") |
| 222 | + displayName: Set NuGet Version to Tag Number |
| 223 | + condition: and(eq (variables['MauiCompatExists'], True), startsWith(variables['Build.SourceBranch'], 'refs/tags/')) |
| 224 | + # restore, build and pack the packages |
| 225 | + - task: CmdLine@2 |
| 226 | + condition: eq (variables['MauiCompatExists'], True) |
| 227 | + displayName: 'Build Xamarin.CommunityToolkit.MauiCompat.csproj' |
| 228 | + inputs: |
| 229 | + script: 'dotnet build $(PathToMauiCompatCommunityToolkitCsproj) -c Release /p:ContinuousIntegrationBuild=true /p:Deterministic=false' |
| 230 | + - task: CopyFiles@2 |
| 231 | + condition: eq (variables['MauiCompatExists'], True) |
| 232 | + inputs: |
| 233 | + Contents: 'SignList.xml' |
| 234 | + TargetFolder: '$(Build.ArtifactStagingDirectory)/nuget' |
| 235 | + - task: CmdLine@2 |
| 236 | + condition: eq (variables['MauiCompatExists'], True) |
| 237 | + displayName: 'Pack Community Toolkit NuGets' |
| 238 | + inputs: |
| 239 | + script: 'dotnet pack $(PathToMauiCompatCommunityToolkitCsproj) -c Release /p:PackageVersion=$(NugetPackageVersion) /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"' |
| 240 | + - task: CmdLine@2 |
| 241 | + condition: eq (variables['MauiCompatExists'], True) |
| 242 | + displayName: 'Build Markup Project' |
| 243 | + inputs: |
| 244 | + script: 'dotnet build $(PathToMauiCompatMarkupCsproj) -c Release /p:ContinuousIntegrationBuild=true /p:Deterministic=false' |
| 245 | + - task: CmdLine@2 |
| 246 | + condition: eq (variables['MauiCompatExists'], True) |
| 247 | + displayName: 'Pack Markup NuGet' |
| 248 | + inputs: |
| 249 | + script: 'dotnet pack $(PathToMauiCompatMarkupCsproj) -c Release /p:PackageVersion=$(NugetPackageVersion) /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"' |
| 250 | + # publish the packages |
| 251 | + - task: PublishBuildArtifacts@1 |
| 252 | + condition: eq (variables['MauiCompatExists'], True) |
| 253 | + displayName: 'Publish Unsigned NuGets' |
| 254 | + inputs: |
| 255 | + artifactName: nuget |
| 256 | + pathToPublish: '$(Build.ArtifactStagingDirectory)/nuget' |
| 257 | + # make sure we are following the rules, but only on the main build |
| 258 | + - ${{ if eq(variables['System.TeamProject'], 'devdiv') }}: |
| 259 | + - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 |
| 260 | + condition: not(startsWith(variables['Build.SourceBranch'], 'refs/tags/')) |
| 261 | + displayName: Component Detection - Log |
| 262 | + inputs: |
| 263 | + scanType: LogOnly |
| 264 | + - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 |
| 265 | + condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/') |
| 266 | + displayName: Component Detection - Report |
| 267 | + - task: securedevelopmentteam.vss-secure-development-tools.build-task-policheck.PoliCheck@1 |
| 268 | + condition: eq(variables['RunPoliCheck'], 'true') |
| 269 | + displayName: 'PoliCheck' |
| 270 | + inputs: |
| 271 | + targetType: F |
| 272 | + |
182 | 273 | - job: build_macos
|
183 | 274 | displayName: Build macOS Library
|
184 | 275 | pool:
|
|
0 commit comments