Skip to content
Snippets Groups Projects
Make-Package.ps1 2.76 KiB
Newer Older
$ResourceDir = "..\ATxService\Resources"
function Highlight([string]$Message, [string]$Color = "Cyan", $Indent = $False) {
    if ($Indent) {
        Write-Host -NoNewline "    "
    }
    Write-Host -NoNewline "["
    Write-Host -NoNewline -F $Color $Message
    Write-Host -NoNewline "]"
    if ($Indent) {
        Write-Host
    }
}

function RelToAbs([string]$RelPath) {
    Join-Path -Resolve $(Get-Location) $RelPath
    $BuildDate = Get-Content "$($ResourceDir)\BuildDate.txt" -EA Stop
}
catch {
    Write-Host "Error reading build-date, stopping."
    Exit
}
try {
    $BuildConfiguration = Get-Content "$($ResourceDir)\BuildConfiguration.txt" -EA Stop
}
catch {
    Write-Host "Error reading build configuration, stopping."
    Exit
}

$PkgDir = $BuildDate -replace ':','-' -replace ' ','_'
$PkgDir = "build_" + $PkgDir
$BinariesDirService = RelToAbs "..\ATxService\bin\$($BuildConfiguration)"
$BinariesDirTrayApp = RelToAbs "..\ATxTray\bin\$($BuildConfiguration)"
$BinariesDirCfgTest = RelToAbs "..\ATxConfigTest\bin\$($BuildConfiguration)"
Write-Host -NoNewline "Creating package "
Highlight $PkgDir "Red"
Write-Host " using binaries from:"
Highlight $BinariesDirService "Green" $True
Highlight $BinariesDirTrayApp "Green" $True
Highlight $BinariesDirCfgTest "Green" $True
Write-Host
    Write-Host "Removing existing package dir [$($PkgDir)]...`n"
    Remove-Item -Recurse -Force $PkgDir
$dir = New-Item -ItemType Container -Name $PkgDir
$dir = New-Item -ItemType Container -Path $PkgDir -Name "AutoTx"
$tgt = $dir.FullName
Copy-Item -Exclude *.pdb -Recurse "$($BinariesDirService)\*" $tgt
Copy-Item -Exclude *.pdb -Recurse "$($BinariesDirTrayApp)\*" $tgt -EA Ignore
Copy-Item -Exclude *.pdb -Recurse "$($BinariesDirCfgTest)\*" $tgt -EA Ignore
# provide an up-to-date version of the example config file:
$example = New-Item -ItemType Container -Path $PkgDir -Name "conf-example"
Copy-Item "$($RsrcDirCommon)\conf\config.common.xml" $example
Copy-Item "$($RsrcDirCommon)\conf\host-specific.template.xml" $example
Copy-Item "$($ResourceDir)\BuildDate.txt" "$($PkgDir)\AutoTx.log"
Copy-Item "$($ResourceDir)\BuildConfiguration.txt" $($PkgDir)
try {
    $CommitRefFile = "$($PkgDir)\BuildCommitRef.txt"
    git describe > $CommitRefFile
    $BuildCommit = Get-Content $CommitRefFile
}
catch {
    Write-Host "Error getting commit reference from git!"
    $BuildCommit = "<UNKNOWN>"
}

Copy-Item "ScriptsConfig.ps1" $PkgDir
Copy-Item "Install-Service.ps1" $PkgDir

Write-Host -NoNewline "Done creating package "
Highlight $PkgDir
Write-Host
Highlight "configuration: $($BuildConfiguration)" -Indent $True
Highlight "commit: $($BuildCommit)" -Indent $True
Write-Host

Write-Host -NoNewline "Location: "
Highlight "$(RelToAbs $PkgDir)"