summary refs log tree commit diff stats
path: root/version-template.ps1
diff options
context:
space:
mode:
authorArnavion <arnavion@gmail.com>2013-12-27 12:05:07 -0800
committerArnavion <arnavion@gmail.com>2013-12-27 12:05:07 -0800
commitc7bf4b0474c613f81e3724043386373d7bc7d2a3 (patch)
tree82a47c7c7306a736f0d6ec8afbd17ac0eb45f68e /version-template.ps1
parent61ceaef57e19f7b19669bca4f7972123d2e6b119 (diff)
Replaced use of T4 templates with PS-based templates.
TextTransform.exe is not available with Express versions of Visual Studio.
Diffstat (limited to 'version-template.ps1')
-rw-r--r--version-template.ps112
1 files changed, 12 insertions, 0 deletions
diff --git a/version-template.ps1 b/version-template.ps1
new file mode 100644
index 00000000..18eb90d9
--- /dev/null
+++ b/version-template.ps1
@@ -0,0 +1,12 @@
+param ([string] $templateFilename, [string] $outputFilename)
+
+$versionParts = Select-String -Path "${env:SOLUTIONDIR}configure.ac" -Pattern '^AC_INIT\(\[HexChat\],\[([^]]+)\]\)$' | Select-Object -First 1 | %{ $_.Matches[0].Groups[1].Value.Split('.') }
+
+[string[]] $contents = Get-Content $templateFilename -Encoding UTF8 | %{
+	while ($_ -match '^(.*?)<#=(.*?)#>(.*?)$') {
+		$_ = $Matches[1] + $(Invoke-Expression $Matches[2]) + $Matches[3]
+	}
+	$_
+}
+
+[System.IO.File]::WriteAllLines($outputFilename, $contents)