name: $(VersionMajor).$(VersionMinor).$(VersionBuild).$(VersionRevision) trigger: branches: include: - source paths: include: - src variables: - name: ApplicationName value: $(Build.DefinitionName) - name: SolutionFile value: 'src/Server-Managers.sln' - name: ProjectFile value: 'src/$(ApplicationName)/$(ApplicationName).csproj' steps: - task: NuGetToolInstaller@1 displayName: 'Install NuGet 4.4.1' inputs: versionSpec: '4.4.1' - task: NuGetCommand@2 displayName: 'NuGet restore' inputs: restoreSolution: '$(SolutionFile)' - task: PowerShell@2 displayName: 'Apply Semantic Versioning to Assemblies' inputs: targetType: filePath filePath: './.azure/scripts/ApplySemanticVersioningToAssemblies.ps1' arguments: "-applicationName $(ApplicationName) -pathToSearch '$(Build.SourcesDirectory)/src' -buildNumber $(Build.BuildNumber) -searchFilter 'AssemblyInfo.*'" pwsh: true - task: projectfileprops@1 displayName: 'Modify ApplicationVersion In Project File' inputs: path: '$(ProjectFile)' fieldOptions: ApplicationVersion value: '$(VersionMajor).$(VersionMinor).$(VersionBuild).%2a' - task: projectfileprops@1 displayName: 'Modify ApplicationRevision In Project File' inputs: path: '$(ProjectFile)' fieldOptions: ApplicationRevision value: '$(VersionRevision)' - task: VSBuild@1 displayName: 'Build $(ApplicationName) Project' inputs: solution: '$(Parameters.project)' msbuildArgs: '/t:publish /p:PublishDir="$(Agent.BuildDirectory)/a/"' platform: '$(BuildPlatform)' configuration: '$(BuildConfiguration)' clean: true