-
Notifications
You must be signed in to change notification settings - Fork 29
Expand file tree
/
Copy pathdefine-build-variables.ps1
More file actions
107 lines (102 loc) · 4.68 KB
/
Copy pathdefine-build-variables.ps1
File metadata and controls
107 lines (102 loc) · 4.68 KB
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
param(
[string]$lvVersion,
[string]$lvBitness,
[string]$outputDir,
[string]$releaseVersion,
[string]$buildTools
)
# Set file paths for important directories
Write-Output "Setting $buildTools as the build tools repo..."
Write-Host "##vso[task.setvariable variable=CD.BuildTools]$buildTools"
Write-Output "Using `"$PWD`" as the workspace directory..."
Write-Host "##vso[task.setvariable variable=CD.Workspace]$PWD"
Write-Output "Using `"$outputDir`" as the build output directory..."
Write-Host "##vso[task.setvariable variable=CD.BuildOutputPath]$env:CD_REPOSITORY\$outputDir"
Write-Host "##vso[task.setvariable variable=CD.Nipkg.Path]$env:CD_REPOSITORY\nipkg"
# Set release information
Write-Output "Determining quarterly release version..."
$releaseData = "$releaseVersion" -Split "\."
$majorVersion = $releaseData[0]
If ($releaseData[1] -eq "0")
{
$derivedQuarterlyReleaseVersion = "20$($releaseData[0]) Q1"
}
If ($releaseData[1] -eq "3")
{
$derivedQuarterlyReleaseVersion = "20$($releaseData[0]) Q2"
}
If ($releaseData[1] -eq "5")
{
$derivedQuarterlyReleaseVersion = "20$($releaseData[0]) Q3"
}
If ($releaseData[1] -eq "8")
{
$derivedQuarterlyReleaseVersion = "20$($releaseData[0]) Q4"
}
If ($releaseData[2] -ne "0")
{
$derivedQuarterlyReleaseVersion = "$($derivedQuarterlyReleaseVersion) Patch $($releaseData[2])"
}
If (-not($derivedQuarterlyReleaseVersion -match "20.*Q.*"))
{
Write-Error "Release version is not valid. Should include follow AA.B.C where AA=year, B=quarter(0,3,5,8), and C=patches."
}
Write-Output "Configuring release version to `"$releaseVersion`" and quarterly release version to `"$derivedQuarterlyReleaseVersion`"..."
Write-Host "##vso[task.setvariable variable=CD.Release.Version]$releaseVersion"
Write-Host "##vso[task.setvariable variable=CD.Release.Quarterly]$derivedQuarterlyReleaseVersion"
Write-Host "##vso[task.setvariable variable=CD.Release.MajorVersion]$majorVersion"
# Set LabVIEW version information
Write-Host "##vso[task.setvariable variable=CD.LabVIEW.Version]$lvVersion"
Write-Host "##vso[task.setvariable variable=lvVersion]$lvVersion" # Keep legacy version for variables used in packaging
# When adding a new version of LabVIEW as an option in custom device pipelines,
# a new If statement is needed below with relevant variables
if ("$lvVersion" -eq "2024")
{
Write-Output "Setting variables for LabVIEW 2024..."
Write-Host "##vso[task.setvariable variable=CD.LabVIEW.Config]10.0.0.0"
Write-Host "##vso[task.setvariable variable=CD.LabVIEW.ShortVersion]24"
Write-Host "##vso[task.setvariable variable=CD.LabVIEW.SupportPackageSuffix]labview-support"
}
Elseif ("$lvVersion" -eq "2025")
{
Write-Output "Setting variables for LabVIEW 2025..."
Write-Host "##vso[task.setvariable variable=CD.LabVIEW.Config]11.0.0.0"
Write-Host "##vso[task.setvariable variable=CD.LabVIEW.ShortVersion]25"
Write-Host "##vso[task.setvariable variable=CD.LabVIEW.SupportPackageSuffix]labview-support"
}
Elseif ("$lvVersion" -eq "2026")
{
Write-Output "Setting variables for LabVIEW 2026..."
Write-Host "##vso[task.setvariable variable=CD.LabVIEW.Config]12.0.0.0"
Write-Host "##vso[task.setvariable variable=CD.LabVIEW.ShortVersion]26"
Write-Host "##vso[task.setvariable variable=CD.LabVIEW.SupportPackageSuffix]labview-support"
}
Else
{
Write-Error "Invalid LabVIEW version defined in pipeline. Use either 2024, 2025 or 2026"
}
# Set LabVIEW Bitness information
If ("$lvBitness" -eq "32bit")
{
Write-Output "Setting variables for 32-bit..."
$lvPath = "C:\Program Files (x86)\National Instruments\LabVIEW $lvVersion\LabVIEW.exe"
Write-Host "##vso[task.setvariable variable=CD.Architecture]x86"
Write-Host "##vso[task.setvariable variable=CD.Nipkg.X86Suffix]-x86"
Write-Host "##vso[task.setvariable variable=CD.Nipkg.X64Suffix]"
Write-Host "##vso[task.setvariable variable=nipkgx64suffix]" # Keep legacy version for variables used in packaging
}
Elseif ("$lvBitness" -eq '64bit')
{
Write-Output "Setting variables for 64-bit..."
$lvPath = "C:\Program Files\National Instruments\LabVIEW $lvVersion\LabVIEW.exe"
Write-Host "##vso[task.setvariable variable=CD.Architecture]x64"
Write-Host "##vso[task.setvariable variable=CD.Nipkg.X86Suffix]"
Write-Host "##vso[task.setvariable variable=CD.Nipkg.X64Suffix]64"
Write-Host "##vso[task.setvariable variable=nipkgx64suffix]64" # Keep legacy version for variables used in packaging
}
Else
{
Write-Error "Invalid Bitness defined in pipeline. Use either 32bit or 64bit."
}
$operations = "%cd%\$buildTools\lv\operations"
Write-Host "##vso[task.setvariable variable=CD.LabVIEWCLI]LabVIEWCLI -PortNumber 3363 -LabVIEWPath `"$lvPath`" -AdditionalOperationDirectory `"$operations`" "