1
0
mirror of https://github.com/XFox111/GUTSchedule.git synced 2026-04-22 06:58:01 +03:00
Files
GUTSchedule/azure-pipelines.yml
T

89 lines
2.7 KiB
YAML

# Xamarin.Android
# Build a Xamarin.Android project.
# Add steps that test, sign, and distribute an app, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/xamarin
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
buildConfiguration: 'Release'
outputDirectory: '$(build.binariesDirectory)/$(buildConfiguration)'
steps:
- task: NuGetToolInstaller@1
displayName: 'Install NuGet Tool'
- task: NuGetCommand@2
displayName: 'Restore Solution'
inputs:
restoreSolution: '**/*.sln'
- task: ResharperCli@2
displayName: 'RESharper CLI Code Analyzer'
inputs:
solutionOrProjectPath: 'GUT.Schedule/GUT.Schedule.sln'
failBuildLevelSelector: 'Error'
failBuildOnCodeIssues: false
- task: PowerShell@2
displayName: 'Update version number'
inputs:
targetType: 'inline'
script: |
(Get-Content AndroidManifest.xml -encoding UTF8 | Out-String) -replace '(?<=\bandroid:versionCode=")[^"]*', $(Build.BuildId) | set-content AndroidManifest.xml -encoding UTF8
(Get-Content AndroidManifest.xml -encoding UTF8 | Out-String) -replace '(?<=\bandroid:versionName=")[^"]*', $(Build.BuildNumber) | set-content AndroidManifest.xml -encoding UTF8
workingDirectory: '$(Build.SourcesDirectory)\GUT.Schedule\GUT.Schedule\Properties'
- task: XamarinAndroid@1
displayName: 'Build Solution (AppBundle)'
inputs:
projectFile: '**/**.csproj'
outputDirectory: '$(outputDirectory)'
configuration: '$(buildConfiguration)'
msbuildVersionOption: 'latest'
msbuildArchitectureOption: 'x64'
msbuildArguments: ' /t:PackageForAndroid -t:SignAndroidPackage -p:AndroidPackageFormat=aab /p:Configuration=Release'
jdkOption: 'JDKVersion'
- task: XamarinAndroid@1
displayName: 'Build Solution (APK)'
inputs:
projectFile: '**/**.csproj'
outputDirectory: '$(outputDirectory)'
configuration: 'Release (APK)'
msbuildVersionOption: 'latest'
msbuildArchitectureOption: 'x64'
jdkOption: 'JDKVersion'
- task: DeleteFiles@1
displayName: 'Delete debug files'
inputs:
SourceFolder: '$(outputDirectory)'
Contents: |
**/**.pdb
**/**.dll
- task: CopyFiles@2
displayName: 'Copy changelog to output'
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: 'changelog.md'
TargetFolder: '$(outputDirectory)'
- task: PowerShell@2
displayName: 'Update package name'
inputs:
targetType: 'inline'
script: 'get-childitem *-Signed.* | foreach { rename-item $_ $_.Name.Replace("-Signed", "") }'
workingDirectory: '$(outputDirectory)'
- task: PublishBuildArtifacts@1
displayName: 'Drop Artifact'
inputs:
PathtoPublish: '$(outputDirectory)'
ArtifactName: 'bundle'
publishLocation: 'Container'