Use powershell script module Psqlodbc-config.psm1 instead of configuration.ps1.
authorHiroshi Inoue <h-inoue@dream.email.ne.jp>
Sun, 9 Oct 2016 10:39:48 +0000 (19:39 +0900)
committerHiroshi Inoue <h-inoue@dream.email.ne.jp>
Sun, 9 Oct 2016 23:18:09 +0000 (08:18 +0900)
winbuild/BuildAll.ps1
winbuild/Psqlodbc-config.psm1 [moved from winbuild/configuration.ps1 with 63% similarity]
winbuild/editConfiguration.ps1
winbuild/regress.ps1

index 815e0e0755600ad3c9a8af13b784cc5439c2c987..5ab6a18aba8c967154b9b62ba01939e6dbe592fc 100755 (executable)
@@ -92,7 +92,8 @@ function buildPlatform($configInfo, $Platform)
 }
 
 $scriptPath = (Split-Path $MyInvocation.MyCommand.Path)
-$configInfo = & "$scriptPath\configuration.ps1" "$BuildConfigPath"
+Import-Module ${scriptPath}\Psqlodbc-config.psm1
+$configInfo = LoadConfiguration $BuildConfigPath $scriptPath
 $DRIVERVERSION=$configInfo.Configuration.version
 pushd $scriptPath
 $path_save = ${env:PATH}
@@ -157,4 +158,5 @@ try {
 } finally {
    $env:PATH = $path_save
    popd
+   Remove-Module Psqlodbc-config
 }
similarity index 63%
rename from winbuild/configuration.ps1
rename to winbuild/Psqlodbc-config.psm1
index afb333f77215b584855e3392fe4a259f3ef1ec65..84d517703517af7b0c6b914e91187b92760bbbc6 100755 (executable)
@@ -1,9 +1,10 @@
-Param(
-[string]$configPath
-)
-function InitConfiguration($savePath = $configurationXmlPath)
+$LIBPQ_VERSION="9.5"
+$configurationXmlPath=""
+$configurationTemplatePath=""
+
+function InitConfiguration($savePath)
 {
-   $configInfo = [xml](Get-Content "$configurationTemplatePath")
+   $configInfo = [xml](Get-Content $configurationTemplatePath)
    if ($env:PROCESSOR_ARCHITECTURE -eq "x86")
    {
        $x64info = $configInfo.Configuration.x64
@@ -11,35 +12,56 @@ function InitConfiguration($savePath = $configurationXmlPath)
        $x64info.libpq.lib = ""
        $x64info.libpq.bin = ""
    }
-   $configInfo.save("$savePath")
+   $configInfo.save($savePath)
 
    return $configInfo
 }
 
-function global:GetConfiguration($loadPath = $configurationXmlPath)
+function GetConfiguration($loadPath)
 {
-   $configInfo =  [xml] (Get-Content "$loadPath")
+   $configInfo =  [xml] (Get-Content $loadPath)
    set-variable -name xmlFormatVersion -value "0.4" -option constant
    if ($configInfo.Configuration.formatVersion -ne $xmlFormatVersion)
    {
-           $xmlDoc2 = [xml](Get-Content "$configurationTemplatePath")
+       $xmlDoc2 = [xml](Get-Content $configurationTemplatePath)
            $root2 = $XmlDoc2.get_DocumentElement()
            $root1 = $configInfo.get_DocumentElement()
            unifyNodes $root1 $root2
 
        $root1.formatVersion = $xmlFormatVersion
-               $configInfo.save("$loadPath")
+       $configInfo.save($loadPath)
    }
 
    return $configInfo
 }
 
-function global:SaveConfiguration($configInfo, $savePath = $configurationXmlPath)
+function LoadConfiguration($configPath, $configDir)
 {
-   $configInfo.save("$savePath")
+   Write-Debug "configPath=$configPath"
+   set-variable -name configurationTemplatePath -scope 1 -value "$configDir\configuration_template.xml"
+   if ("$configPath" -eq "") {
+       $configPath = "$configDir\configuration.xml"
+   }
+   set-variable -name configurationXmlPath -scope 1 -value $configPath
+   if (!(Test-Path -path $configPath))
+   {
+       return InitConFiguration $configPath
+   }
+   else
+   {
+       return GetConfiguration $configPath
+   }
 }
 
-function global:unifyNodes($node1, $node2)
+function SaveConfiguration($configInfo, $savePath)
+{
+   if ("$savePath" -eq "") {
+       $savePath = $configurationXmlPath
+   }
+   $configInfo.save($savePath)
+}
+
+function unifyNodes($node1, $node2)
 {
     $attributes2 = $node2.get_Attributes()
     if ($attributes2.Count -gt 0)
@@ -77,7 +99,7 @@ function global:unifyNodes($node1, $node2)
     }
 }
 
-function global:getPGDir($configInfo, $Platform, $kind)
+function getPGDir($configInfo, $Platform, $kind)
 {
    if ($Platform -ieq "x64") {
        $platinfo=$configInfo.Configuration.x64
@@ -85,7 +107,7 @@ function global:getPGDir($configInfo, $Platform, $kind)
        $platinfo=$configInfo.Configuration.x86
    }
    $LIBPQVER=$platinfo.libpq.version
-   if ($LIBPQVER -eq "") {
+   if ("$LIBPQVER" -eq "") {
        $LIBPQVER = $LIBPQ_VERSION
    }
    if ($kind -eq "include") {
@@ -100,15 +122,15 @@ function global:getPGDir($configInfo, $Platform, $kind)
    }
    if ($Platform -ieq "x64") {
        if ($env:PROCESSOR_ARCHITECTURE -eq "x86") {
-           $pgmfs = "$env:ProgramW6432"
+           $pgmfs = $env:ProgramW6432
        } else {
-           $pgmfs = "$env:ProgramFiles"
+           $pgmfs = $env:ProgramFiles
        }
    } else {
        if ($env:PROCESSOR_ARCHITECTURE -eq "x86") {
-           $pgmfs = "$env:ProgramFiles"
+           $pgmfs = $env:ProgramFiles
        } else {
-           $pgmfs = "${env:ProgramFiles(x86)}"
+           $pgmfs = ${env:ProgramFiles(x86)}
        }
    }
    if ("$pgmfs" -eq "") {
@@ -119,20 +141,4 @@ function global:getPGDir($configInfo, $Platform, $kind)
    return $result
 }
 
-Write-Debug "configPath=$configPath"
-$global:LIBPQ_VERSION="9.5"
-$scriptPath = [System.IO.Path]::GetDirectoryName($myInvocation.MyCommand.Definition)
-$global:configurationTemplatePath = "$scriptPath\configuration_template.xml"
-$global:configurationXmlPath = $configPath
-if ($configurationXmlPath -eq "") {
-   $global:configurationXmlPath = "$scriptPath\configuration.xml"
-}
-if (!(Test-Path -path $configurationXmlPath))
-{
-   InitConfiguration
-}
-else
-{
-   GetConfiguration
-}
-Return
+Export-ModuleMember -function LoadConfiguration, SaveConfiguration, unifyNodes, getPGDir -variable LIBPQ_VERSION
index c895a140e1f83ae46c495fec87a8cb0a87fe17a9..b311b343041deec66db71c5c9bc8879fed9aeb27 100755 (executable)
@@ -109,6 +109,7 @@ $window=[Windows.Markup.XamlReader]::Load( $reader )
 $buttonEnd = $window.FindName("buttonEnd")
 $buttonEnd_clicked = $buttonEnd.add_Click
 $buttonEnd_clicked.Invoke({
+   Remove-Module Psqlodbc-config
    $window.close()
 })
 
@@ -155,7 +156,8 @@ foreach ($btnname in ("button86vcvars", "button64vcvars"))
 }
 
 $scriptPath = (Split-Path $MyInvocation.MyCommand.Path)
-$configInfo = & "$scriptPath\configuration.ps1" "$configPath"
+Import-Module "$scriptPath\Psqlodbc-config.psm1"
+$configInfo = LoadConfiguration $configPath $scriptPath
 
 $window.findName("versionBox").Text = $configInfo.Configuration.version
 $window.findName("vcversionBox").Text = $configInfo.Configuration.vcversion
index 56d30c8111d376b4c33c1597ca153f1500c48ba9..b5264008686fef71b4e480907edf450632d9be92 100644 (file)
@@ -293,10 +293,12 @@ if ($null -eq $TestList) {
 }
 vcxfile_make $TESTNAMES $DIRNAMES $vcxfile
 
-$configInfo = & "$scriptPath\configuration.ps1" "$BuildConfigPath"
+Import-Module "$scriptPath\Psqlodbc-config.psm1"
+$configInfo = LoadConfiguration $BuildConfigPath $scriptPath
 Import-Module ${scriptPath}\MSProgram-Get.psm1
 $msbuildexe=Find-MSBuild ([ref]$VCVersion) ([ref]$MSToolsVersion) ([ref]$Toolset) $configInfo
 Remove-Module MSProgram-Get
+Remove-Module Psqlodbc-config
 
 if ($Platform -ieq "both") {
    $pary = @("Win32", "x64")