/
default.ps1
85 lines (70 loc) · 2.37 KB
/
default.ps1
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
properties {
$productVersion = "1.0"
$buildNumber = "0";
$versionFile = ".\version.txt"
$product = "Imbube - National Rail App"
$company = "Imbube"
}
task default -depends Setup
task Setup -depends InstallDependentPackages, GenerateCommonAssemblyInfo, BuildOnNet40{}
task BuildOnNet40 {
.\build.bat
}
task InstallDependentPackages {
dir -recurse -include ('packages.config') |ForEach-Object {
$packageconfig = [io.path]::Combine($_.directory,$_.name)
write-host $packageconfig
.\tools\NuGet\NuGet.exe install $packageconfig -o packages
}
}
task GenerateCommonAssemblyInfo {
$versionFileFullPath = Resolve-Path $versionFile
$productVersion = Get-Content $versionFileFullPath;
$buildNumber = 0
if($env:BUILD_NUMBER -ne $null) {
$buildNumber = $env:BUILD_NUMBER
}
Write-Output "Build Number: $buildNumber"
$productVersion = $productVersion + "." + $buildNumber
Write-Output "File Version: $versionFile FullPath: $versionFileFullPath"
Generate-Assembly-Info true "release" "Windows Phone National Rail Tracking App by Imbube" $company $company "Copyright © Imbube 20012-2012" $productVersion $productVersion ".\CommonAssemblyInfo.cs"
}
function Generate-Assembly-Info
{
param(
[string]$clsCompliant = "true",
[string]$configuration,
[string]$description,
[string]$company,
[string]$product,
[string]$copyright,
[string]$version,
[string]$fileVersion,
[string]$file = $(throw "file is a required parameter.")
)
$asmInfo = "using System;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Security;
[assembly: AssemblyVersionAttribute(""$version"")]
[assembly: AssemblyFileVersionAttribute(""$fileVersion"")]
[assembly: AssemblyCopyrightAttribute(""$copyright"")]
[assembly: AssemblyProductAttribute(""$product"")]
[assembly: AssemblyCompanyAttribute(""$company"")]
[assembly: AssemblyConfigurationAttribute(""$configuration"")]
[assembly: AssemblyInformationalVersionAttribute(""$fileVersion"")]
#if NET35
[assembly: AllowPartiallyTrustedCallersAttribute()]
#endif
[assembly: ComVisibleAttribute(false)]
[assembly: CLSCompliantAttribute(true)]
"
$dir = [System.IO.Path]::GetDirectoryName($file)
if ([System.IO.Directory]::Exists($dir) -eq $false)
{
Write-Host "Creating directory $dir"
[System.IO.Directory]::CreateDirectory($dir)
}
Write-Host "Generating assembly info file: $file"
Write-Output $asmInfo > $file
}