forked from Glimpse/Glimpse
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdefault.ps1
122 lines (94 loc) · 6.11 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#properties ---------------------------------------------------------------------------------------------------------
$framework = '4.0'
properties {
$base_dir = resolve-path .
$build_dir = "$base_dir\builds"
$source_dir = "$base_dir\source"
$tools_dir = "$base_dir\tools"
$framework_dir = $([System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory().Replace("v2.0.50727", "v4.0.30319"))
$config = "release"
}
#tasks -------------------------------------------------------------------------------------------------------------
task default -depends compile
task clean {
"Cleaning Glimpse.Core, Glimpse.Mvc3, Glimpse.Ado, Glimpse.Ef, Glimpse.Nh & Glimpse.Elmah bin and obj"
delete_directory "$source_dir\Glimpse.Core\bin"
delete_directory "$source_dir\Glimpse.Core\obj"
delete_directory "$source_dir\Glimpse.Mvc3\bin"
delete_directory "$source_dir\Glimpse.Mvc3\obj"
delete_directory "$source_dir\Glimpse.Ado\bin"
delete_directory "$source_dir\Glimpse.Ado\obj"
delete_directory "$source_dir\Glimpse.Ef\bin"
delete_directory "$source_dir\Glimpse.Ef\obj"
delete_directory "$source_dir\Glimpse.Nh\bin"
delete_directory "$source_dir\Glimpse.Nh\obj"
delete_directory "$source_dir\Glimpse.Elmah\bin"
delete_directory "$source_dir\Glimpse.Elmah\obj"
}
task compile -depends clean {
"Compiling Glimpse.All.sln"
exec { msbuild $base_dir\Glimpse.All.sln /p:Configuration=$config }
}
task merge -depends compile {
"Merging Glimpse.Core, Glimpse.Mvc3, Glimpse.Ado, Glimpse.Ef, Glimpse.Nh & Glimpse.Elmah to nuspec dir"
exec { & $tools_dir\ilmerge.exe /targetplatform:"v4,$framework_dir" /log /out:"$source_dir\Glimpse.Core\nuspec\lib\net40\Glimpse.Core.dll" /internalize:$tools_dir\ILMergeInternalize.txt "$source_dir\Glimpse.Core\bin\Release\Glimpse.Core.dll" "$source_dir\Glimpse.Core\bin\Release\Newtonsoft.Json.Net35.dll" "$source_dir\Glimpse.Core\bin\Release\NLog.dll" "$source_dir\Glimpse.Core\bin\Release\LukeSkywalker.IPNetwork.dll" }
del $source_dir\Glimpse.Core\nuspec\lib\net40\Glimpse.Core.pdb
exec { & $tools_dir\ilmerge.exe /targetplatform:"v4,$framework_dir" /log /out:"$source_dir\Glimpse.Mvc3\nuspec\lib\net40\Glimpse.Mvc3.dll" /internalize:$tools_dir\ILMergeInternalize.txt "$source_dir\Glimpse.Mvc3\bin\Release\Glimpse.Mvc3.dll" "$source_dir\Glimpse.Mvc3\bin\Release\Castle.Core.dll" }
del $source_dir\Glimpse.Mvc3\nuspec\lib\net40\Glimpse.Mvc3.pdb
copy $source_dir\Glimpse.Ef\bin\Release\Glimpse.Ado.dll $source_dir\Glimpse.Ado\nuspec\lib\net40\Glimpse.Ado.dll
copy $source_dir\Glimpse.Ef\bin\Release\Glimpse.Ef.dll $source_dir\Glimpse.Ef\nuspec\lib\net40\Glimpse.Ef.dll
copy $source_dir\Glimpse.Nh\bin\Release\Glimpse.Nh.dll $source_dir\Glimpse.Nh\nuspec\lib\net40\Glimpse.Nh.dll
copy $source_dir\Glimpse.Elmah\bin\Release\Glimpse.Elmah.dll $source_dir\Glimpse.Elmah\nuspec\lib\net40\Glimpse.Elmah.dll
}
task pack -depends merge {
"Creating Glimpse.nupkg, Glimpse.Mvc3.nupkg, Glimpse.Ado.nupkg, Glimpse.Ef.nupkg, Glimpse.Nh.nupkg & Glimpse.Elmah.nupkg"
exec { & $tools_dir\nuget.exe pack $source_dir\Glimpse.Core\nuspec\Glimpse.nuspec -OutputDirectory $build_dir\local }
exec { & $tools_dir\nuget.exe pack $source_dir\Glimpse.Mvc3\nuspec\Glimpse.Mvc3.nuspec -OutputDirectory $build_dir\local }
exec { & $tools_dir\nuget.exe pack $source_dir\Glimpse.Ado\nuspec\Glimpse.Ado.nuspec -OutputDirectory $build_dir\local }
exec { & $tools_dir\nuget.exe pack $source_dir\Glimpse.Ef\nuspec\Glimpse.Ef.nuspec -OutputDirectory $build_dir\local }
exec { & $tools_dir\nuget.exe pack $source_dir\Glimpse.Nh\nuspec\Glimpse.Nh.nuspec -OutputDirectory $build_dir\local }
exec { & $tools_dir\nuget.exe pack $source_dir\Glimpse.Elmah\nuspec\Glimpse.Elmah.nuspec -OutputDirectory $build_dir\local }
mkdir $build_dir\local\zip
copy $source_dir\Glimpse.Core\nuspec\lib\net40\Glimpse.Core.dll $build_dir\local\zip
copy $source_dir\Glimpse.Mvc3\nuspec\lib\net40\Glimpse.Mvc3.dll $build_dir\local\zip
copy $source_dir\Glimpse.Ado\nuspec\lib\net40\Glimpse.Ado.dll $build_dir\local\zip
copy $source_dir\Glimpse.Ef\nuspec\lib\net40\Glimpse.Ef.dll $build_dir\local\zip
copy $source_dir\Glimpse.Nh\nuspec\lib\net40\Glimpse.Nh.dll $build_dir\local\zip
copy $source_dir\Glimpse.Elmah\nuspec\lib\net40\Glimpse.Elmah.dll $build_dir\local\zip
copy $source_dir\Glimpse.Core\nuspec\content\App_Readme\glimpse.readme.txt $build_dir\local\zip
copy $source_dir\Glimpse.Mvc3\nuspec\content\App_Readme\glimpse.mvc3.readme.txt $build_dir\local\zip
copy $source_dir\Glimpse.Ado\nuspec\content\App_Readme\glimpse.ado.readme.txt $build_dir\local\zip
copy $source_dir\Glimpse.Ef\nuspec\content\App_Readme\glimpse.ef.readme.txt $build_dir\local\zip
copy $source_dir\Glimpse.Nh\nuspec\content\App_Readme\glimpse.nh.readme.txt $build_dir\local\zip
copy $source_dir\Glimpse.Elmah\nuspec\content\App_Readme\glimpse.elmah.readme.txt $build_dir\local\zip
copy $base_dir\license.txt $build_dir\local\zip
dir $build_dir\local\zip\*.* -Recurse | add-Zip $build_dir\local\Glimpse.zip
del $build_dir\local\zip -Recurse
}
task test -depends compile{
"Testing Glimpse.Test.Core"
exec { & $tools_dir\nunit\nunit-console.exe $tools_dir\nunit\GlimpseTests.nunit /labels /nologo }
}
task buildjs {
}
#functions ---------------------------------------------------------------------------------------------------------
function global:delete_directory($directory_name)
{
rd $directory_name -recurse -force -ErrorAction SilentlyContinue | out-null
}
function Add-Zip
{
param([string]$zipfilename)
if(-not (test-path($zipfilename)))
{
set-content $zipfilename ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
(dir $zipfilename).IsReadOnly = $false
}
$shellApplication = new-object -com shell.application
$zipPackage = $shellApplication.NameSpace($zipfilename)
foreach($file in $input)
{
$zipPackage.CopyHere($file.FullName)
Start-sleep -milliseconds 500
}
}