iphreeqc/jenkins-dist-build.ps1
Scott R Charlton e994f78e39 testing executing powershell script
git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@10536 1feff8c3-07ed-0310-ac33-dd36852eb9cd
2015-11-26 02:16:14 +00:00

59 lines
2.3 KiB
PowerShell

# set date
if ([string]::IsNullOrEmpty($Env:DATE)) {
$Env:DATE = date +%x
}
$Env:RELEASE_DATE = date -d $Env:DATE "+%B %e, %G"
# set ver
if ([string]::IsNullOrEmpty($Env:VER)) {
$SRC_FILE=(plink -i C:\Users\Public\rsa-key-20151119.ppk charlton@parkplace `
"cd ftp/iphreeqc; ls -t iphreeqc-*-*.tar.gz | awk '{if (NR == 1) {print}}'")
$v = ($SRC_FILE -replace "^iphreeqc-", "" -replace "-.*tar.gz$", "") -split "\."
if ([string]::IsNullOrEmpty($v[2])) {
$v[2] = 0
}
$v[2] = 1 + $v[2]
$Env:ver_major = $v[0]
$Env:ver_minor = $v[1]
$Env:ver_patch = $v[2]
$Env:VER = $v -join "."
}
# set HEAD
$HEAD=(-split (svn --config-dir C:\Users\jenkins\svn-jenkins st -v configure.ac))[0]
if ([string]::IsNullOrEmpty($Env:REL) -or $Env:REL.CompareTo('HEAD') -eq 0) {
$Env:REL = $HEAD
}
svn --config-dir C:\Users\jenkins\svn-jenkins export --force `
"http://internalbrr.cr.usgs.gov/svn_GW/phreeqc3/trunk/HTMLversion/phreeqc3.chm" "doc/phreeqc3.chm"
if ($HEAD.CompareTo($Env:REL) -ne 0) {
svn --config-dir C:\Users\jenkins\svn-jenkins export "-r$Env:REL" --force `
"http://internalbrr.cr.usgs.gov/svn_GW/phreeqc3/trunk/HTMLversion/phreeqc3.chm" "doc/phreeqc3.chm"
}
# duplicate build/dist.sh
$sed_files=@('phreeqc3-doc/RELEASE.TXT', `
'src/Version.h', `
'src/IPhreeqc.h')
foreach ($file in $sed_files) {
(Get-Content $file) | Foreach-Object {
$_ -replace "(#define *VER_MAJOR\s*)[0-9]*", "`${1}$Env:ver_major" `
-replace "(#define *VER_MINOR\s*)[0-9]*", "`${1}$Env:ver_minor" `
-replace "(#define *VER_PATCH\s*)[0-9]*", "`${1}$Env:ver_patch" `
-replace "(#define *VER_REVISION\s*)[0-9]*", "`${1}$Env:REL" `
-replace "@RELEASE_DATE@", "$Env:RELEASE_DATE" `
-replace "@PHREEQC_VER@", "$Env:VER" `
-replace "@PHREEQC_DATE@", "$Env:RELEASE_DATE" `
-replace "@REVISION_SVN@", "$Env:REL"
} | Set-Content $file
}
# doxygen
cd doc
doxygen
hhc IPhreeqc.hhp
cd ..
# build
$MsBuild = "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MsBuild.exe"
$options = "IPhreeqc.2005.sln /t:IPhreeqc /p:Configuration=Release /p:Platform=Win32 /verbosity:detailed"
Invoke-Expression "$MsBuild $options"