-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathcompileAll.ps1
More file actions
42 lines (36 loc) · 1.44 KB
/
compileAll.ps1
File metadata and controls
42 lines (36 loc) · 1.44 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
# Script to compile all modules found in SIMPLPlusModules folder
# Example:
# "C:\Program Files (x86)\Crestron\Simpl\SPlusCC.exe" \rebuild "c:\Users\samsh\OneDrive\Documents\GitHub\crestron-global-code\SIMPLPlusModules\CiscoVCCore.usp" \target series2 series3
#
Write-Host "Starting Compiler Script"
# Set Compiler Path
$SPlusCC = "C:\Program Files (x86)\Crestron\Simpl\SPlusCC.exe"
# Loop through all .usp files in modules folder
Get-ChildItem (Resolve-Path -Path ".\SIMPLPlusModules\").Path -Filter *.usp |
Foreach-Object {
Write-Host "Processing Module `"$($_.Name)`""
$pinfo = New-Object System.Diagnostics.ProcessStartInfo
$pinfo.FileName = $SPlusCC
$pinfo.RedirectStandardError = $true
$pinfo.RedirectStandardOutput = $true
$pinfo.UseShellExecute = $false
$pinfo.Arguments = "\rebuild `"$($_.FullName)`" \target series2 series3"
$p = New-Object System.Diagnostics.Process
$p.StartInfo = $pinfo
Write-Host "Compiling: $($SPlusCC) $($pinfo.Arguments)"
$p.Start()
$p.WaitForExit()
$stdout = $p.StandardOutput.ReadToEnd()
$stderr = $p.StandardError.ReadToEnd()
if($p.ExitCode -eq 0){
$Duration = New-TimeSpan -Start $p.StartTime -End $p.ExitTime
Write-Host "Success ($($Duration.Seconds)s)"
Write-Host "stdout: $stdout"
}else{
Write-Host "Error (ExitCode:$($p.ExitCode))"
Write-Host "stderr: $stderr"
Exit 1
}
Write-Host ""
}
Exit 0