-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathazure-pipelines.yml
61 lines (49 loc) · 1.64 KB
/
azure-pipelines.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
trigger:
- none
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
major: '1'
minor: '1'
patch: '0'
name: $(Build.DefinitionName)_v$(major).$(minor).$(Year:yy)$(DayOfYear)$(Rev:.r)
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- powershell: |
$AssemblyVersion = "$(major).$(minor).$(patch)"
$AssemblyFileVersion = ("$(build.buildNumber)" -split "_v")[1]
Get-ChildItem -Recurse |
Where-Object { $_.Name -eq "AssemblyInfo.cs" } |
ForEach-Object {
$Content = Get-Content -Path $_.FullName |
% { $_ -replace '\[assembly: AssemblyVersion\("(.*)"\)\]', "[assembly: AssemblyVersion(""$AssemblyVersion"")]" } |
% { $_ -replace '\[assembly: AssemblyFileVersion\("(.*)"\)\]', "[assembly: AssemblyFileVersion(""$AssemblyFileVersion"")]" }
Set-Content -Path $_.FullName -Value $Content
}
displayName: 'Update AssemblyInfo'
- task: VSBuild@1
inputs:
solution: '$(solution)'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: CopyFiles@2
inputs:
SourceFolder: '$(system.defaultworkingdirectory)\AnalysisServicesRefresh\bin\$(buildConfiguration)'
Contents: '**'
TargetFolder: '$(build.artifactstagingdirectory)'
condition: succeededOrFailed()
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
artifactName: drop
condition: succeededOrFailed()