albacore 0.2.5 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. data/.autotest +4 -4
  2. data/.bundle/config +2 -2
  3. data/.rvmrc +1 -1
  4. data/Gemfile +12 -12
  5. data/README.markdown +92 -68
  6. data/VERSION +1 -1
  7. data/lib/albacore.rb +9 -9
  8. data/lib/albacore/albacoretask.rb +50 -50
  9. data/lib/albacore/aspnetcompiler.rb +58 -58
  10. data/lib/albacore/assemblyinfo.rb +140 -140
  11. data/lib/albacore/assemblyinfolanguages/cppcliengine.rb +17 -0
  12. data/lib/albacore/assemblyinfolanguages/csharpengine.rb +18 -18
  13. data/lib/albacore/assemblyinfolanguages/vbnetengine.rb +18 -18
  14. data/lib/albacore/config/aspnetcompilerconfig.rb +29 -29
  15. data/lib/albacore/config/assemblyinfoconfig.rb +13 -13
  16. data/lib/albacore/config/config.rb +22 -22
  17. data/lib/albacore/config/cscconfig.rb +28 -28
  18. data/lib/albacore/config/docuconfig.rb +23 -23
  19. data/lib/albacore/config/execconfig.rb +15 -15
  20. data/lib/albacore/config/fluentmigratorrunnerconfig.rb +15 -15
  21. data/lib/albacore/config/msbuildconfig.rb +29 -29
  22. data/lib/albacore/config/mspectestrunnerconfig.rb +15 -15
  23. data/lib/albacore/config/mstesttestrunnerconfig.rb +15 -15
  24. data/lib/albacore/config/nantconfig.rb +15 -15
  25. data/lib/albacore/config/nchurnconfig.rb +15 -15
  26. data/lib/albacore/config/ncoverconsoleconfig.rb +15 -15
  27. data/lib/albacore/config/ncoverreportconfig.rb +15 -15
  28. data/lib/albacore/config/ndependconfig.rb +15 -15
  29. data/lib/albacore/config/netversion.rb +21 -21
  30. data/lib/albacore/config/nugetpackconfig.rb +3 -3
  31. data/lib/albacore/config/nugetpublishconfig.rb +19 -0
  32. data/lib/albacore/config/nugetpushconfig.rb +19 -0
  33. data/lib/albacore/config/nunittestrunnerconfig.rb +14 -14
  34. data/lib/albacore/config/specflowreportconfig.rb +24 -24
  35. data/lib/albacore/config/sqlcmdconfig.rb +15 -15
  36. data/lib/albacore/config/unzipconfig.rb +15 -15
  37. data/lib/albacore/config/vssgetconfig.rb +14 -0
  38. data/lib/albacore/config/xbuildconfig.rb +15 -15
  39. data/lib/albacore/config/xunittestrunnerconfig.rb +15 -15
  40. data/lib/albacore/config/zipdirectoryconfig.rb +15 -15
  41. data/lib/albacore/csc.rb +66 -62
  42. data/lib/albacore/docu.rb +41 -41
  43. data/lib/albacore/exec.rb +18 -18
  44. data/lib/albacore/fluentmigratorrunner.rb +51 -46
  45. data/lib/albacore/msbuild.rb +55 -55
  46. data/lib/albacore/mspectestrunner.rb +50 -50
  47. data/lib/albacore/mstesttestrunner.rb +43 -43
  48. data/lib/albacore/nant.rb +38 -38
  49. data/lib/albacore/nchurn.rb +74 -74
  50. data/lib/albacore/ncoverconsole.rb +68 -68
  51. data/lib/albacore/ncoverreport.rb +62 -62
  52. data/lib/albacore/ncoverreports/assemblyfilter.rb +9 -9
  53. data/lib/albacore/ncoverreports/branchcoverage.rb +9 -9
  54. data/lib/albacore/ncoverreports/classfilter.rb +9 -9
  55. data/lib/albacore/ncoverreports/codecoveragebase.rb +25 -25
  56. data/lib/albacore/ncoverreports/cyclomaticcomplexity.rb +23 -23
  57. data/lib/albacore/ncoverreports/documentfilter.rb +9 -9
  58. data/lib/albacore/ncoverreports/fullcoveragereport.rb +13 -13
  59. data/lib/albacore/ncoverreports/methodcoverage.rb +9 -9
  60. data/lib/albacore/ncoverreports/methodfilter.rb +9 -9
  61. data/lib/albacore/ncoverreports/namespacefilter.rb +9 -9
  62. data/lib/albacore/ncoverreports/reportfilterbase.rb +26 -26
  63. data/lib/albacore/ncoverreports/summaryreport.rb +18 -18
  64. data/lib/albacore/ncoverreports/symbolcoverage.rb +9 -9
  65. data/lib/albacore/ndepend.rb +33 -33
  66. data/lib/albacore/nugetpublish.rb +47 -0
  67. data/lib/albacore/nugetpush.rb +46 -0
  68. data/lib/albacore/nunittestrunner.rb +41 -41
  69. data/lib/albacore/nuspec.rb +133 -109
  70. data/lib/albacore/output.rb +99 -99
  71. data/lib/albacore/plink.rb +47 -47
  72. data/lib/albacore/specflowreport.rb +62 -62
  73. data/lib/albacore/sqlcmd.rb +80 -80
  74. data/lib/albacore/support/attrmethods.rb +33 -33
  75. data/lib/albacore/support/createtask.rb +50 -30
  76. data/lib/albacore/support/failure.rb +15 -15
  77. data/lib/albacore/support/logging.rb +38 -38
  78. data/lib/albacore/support/openstruct.rb +13 -13
  79. data/lib/albacore/support/runcommand.rb +45 -45
  80. data/lib/albacore/support/supportlinux.rb +23 -23
  81. data/lib/albacore/support/updateattributes.rb +13 -13
  82. data/lib/albacore/support/yamlconfig.rb +18 -18
  83. data/lib/albacore/unzip.rb +28 -28
  84. data/lib/albacore/vssget.rb +44 -0
  85. data/lib/albacore/xbuild.rb +54 -54
  86. data/lib/albacore/xunittestrunner.rb +52 -52
  87. data/lib/albacore/zipdirectory.rb +105 -105
  88. data/rakefile.rb +297 -297
  89. data/spec/albacoremodel_spec.rb +53 -53
  90. data/spec/assemblyinfo_spec.rb +541 -541
  91. data/spec/attrmethods_spec.rb +136 -136
  92. data/spec/config_spec.rb +34 -34
  93. data/spec/createtask_spec.rb +236 -236
  94. data/spec/csc_spec.rb +253 -253
  95. data/spec/docu_spec.rb +109 -109
  96. data/spec/exec_spec.rb +45 -45
  97. data/spec/fluentmigratorrunner_spec.rb +254 -185
  98. data/spec/msbuild_spec.rb +215 -215
  99. data/spec/mspec_spec.rb +28 -28
  100. data/spec/mstesttestrunner_spec.rb +142 -142
  101. data/spec/nant_spec.rb +110 -110
  102. data/spec/nchurn_spec.rb +75 -75
  103. data/spec/ncoverconsole_spec.rb +353 -353
  104. data/spec/ncoverreport_spec.rb +619 -619
  105. data/spec/ndepend_spec.rb +72 -72
  106. data/spec/nunittestrunner_spec.rb +122 -122
  107. data/spec/nuspec_spec.rb +78 -78
  108. data/spec/patches/docu_patch.rb +12 -12
  109. data/spec/patches/fail_patch.rb +8 -8
  110. data/spec/patches/system_patch.rb +20 -20
  111. data/spec/plink_spec.rb +62 -62
  112. data/spec/runcommand_spec.rb +94 -94
  113. data/spec/spec_helper.rb +17 -17
  114. data/spec/specflowreport_spec.rb +146 -146
  115. data/spec/sqlcmd_spec.rb +334 -334
  116. data/spec/support/assemblyinfotester.rb +51 -51
  117. data/spec/support/ironruby_validator.rb +26 -26
  118. data/spec/support/msbuildtestdata.rb +32 -32
  119. data/spec/support/nanttestdata.rb +33 -33
  120. data/spec/support/ncoverconsoletestdata.rb +19 -19
  121. data/spec/support/ncoverreporttestdata.rb +26 -26
  122. data/spec/support/nokogiri_validator.rb +15 -15
  123. data/spec/support/outputtestdata.rb +12 -12
  124. data/spec/support/ziptestdata.rb +12 -12
  125. data/spec/unzip_spec.rb +15 -15
  126. data/spec/xbuild_spec.rb +15 -15
  127. data/spec/xunit_spec.rb +168 -168
  128. data/spec/yamlconfig_spec.rb +49 -49
  129. data/spec/zip_spec.rb +104 -104
  130. data/watchrtesting.rb +8 -8
  131. metadata +15 -119
@@ -1,253 +1,253 @@
1
- require 'spec_helper'
2
- require 'albacore/csc'
3
-
4
- Albacore.configure do |config|
5
- config.log_level = :verbose
6
- end
7
-
8
- describe CSC, "when supplying a file list with 2 files to compile" do
9
- let :csc do
10
- csc = CSC.new
11
- csc.compile = FileList["File1.cs", "File2.cs"]
12
- csc.extend(SystemPatch)
13
- csc.disable_system = true
14
- csc.execute
15
- csc
16
- end
17
-
18
- it "should provide the first file to the compiler" do
19
- csc.system_command.should include("\"File1.cs\"")
20
- end
21
-
22
- it "should provide the second file to the compiler" do
23
- csc.system_command.should include("\"File2.cs\"")
24
- end
25
- end
26
-
27
- # TODO: If designed by contract this is an unncessary responsibility of the class.
28
- # It should be removed and only validate that the parameter is being specified as CSC expects it.
29
- describe CSC, "when targeting a library and an output file" do
30
- before :each do
31
- @folder = File.join(File.expand_path(File.dirname(__FILE__)), "support", "csc")
32
- csc = CSC.new
33
-
34
- csc.compile FileList[File.join(@folder, "File1.cs")]
35
- csc.target = :library
36
- csc.output = File.join(@folder, "output", "File1.dll")
37
- csc.execute
38
- end
39
-
40
- it "should produce the .dll file in the correct location" do
41
- File.exist?(File.join(@folder, "output", "File1.dll")).should be_true
42
- end
43
- end
44
-
45
- describe CSC, "when referencing existing assemblies" do
46
- let :csc do
47
- csc = CSC.new
48
- csc.references "foobar.dll"
49
-
50
- csc.extend(SystemPatch)
51
- csc.disable_system = true
52
- csc.execute
53
- csc
54
- end
55
-
56
- it "should specify the reference on the command line" do
57
- csc.system_command.should include("\"/reference:foobar.dll\"")
58
- end
59
- end
60
-
61
- describe CSC, "when configuring the version to use" do
62
- let :csc do
63
- Albacore.configure do |config|
64
- config.csc.use :net35
65
- end
66
- csc = CSC.new
67
- csc
68
- end
69
-
70
- it "should use the configured version" do
71
- win_dir = ENV['windir'] || ENV['WINDIR'] || "C:/Windows"
72
- csc.command.should == File.join(win_dir.dup, 'Microsoft.NET', 'Framework', 'v3.5', 'csc.exe')
73
- end
74
- end
75
-
76
- describe CSC, "when version to use has been configured and overriding" do
77
- let :csc do
78
- Albacore.configure do |config|
79
- config.csc.use :net2
80
- end
81
- csc = CSC.new
82
- csc.use :net35
83
- csc
84
- end
85
-
86
- it "should use the override version" do
87
- win_dir = ENV['windir'] || ENV['WINDIR'] || "C:/Windows"
88
- csc.command.should == File.join(win_dir.dup, 'Microsoft.NET', 'Framework', 'v3.5', 'csc.exe')
89
- end
90
- end
91
-
92
- describe CSC, "when specifying 2 resources to include" do
93
- let :csc do
94
- csc = CSC.new
95
- csc.resources "../some/file.resource", "another.resource"
96
-
97
- csc.extend(SystemPatch)
98
- csc.disable_system = true
99
- csc.execute
100
- csc
101
- end
102
-
103
- it "should include the first resource" do
104
- csc.system_command.should include("/res:../some/file.resource")
105
- end
106
-
107
- it "should include the second resource" do
108
- csc.system_command.should include("/res:another.resource")
109
- end
110
- end
111
-
112
- describe CSC, "when specifying the optimize option" do
113
- let :csc do
114
- csc = CSC.new
115
- csc.optimize = true
116
-
117
- csc.extend(SystemPatch)
118
- csc.disable_system = true
119
- csc.execute
120
- csc
121
- end
122
-
123
- it "should supply the optimize parameter" do
124
- csc.system_command.should include("/optimize")
125
- end
126
- end
127
-
128
- describe CSC, "when specifying debug information be generated" do
129
- let :csc do
130
- csc = CSC.new
131
- csc.debug = true
132
-
133
- csc.extend(SystemPatch)
134
- csc.disable_system = true
135
- csc.execute
136
- csc
137
- end
138
-
139
- it "should provide the debug parameter" do
140
- csc.system_command.should include("/debug")
141
- end
142
- end
143
-
144
- describe CSC, "when specifying full debug information be generated" do
145
- let :csc do
146
- csc = CSC.new
147
- csc.debug = :full
148
-
149
- csc.extend(SystemPatch)
150
- csc.disable_system = true
151
- csc.execute
152
- csc
153
- end
154
-
155
- it "should provide the full debug parameter" do
156
- csc.system_command.should include("/debug:full")
157
- end
158
- end
159
-
160
- describe CSC, "when specifying pdbonly debug information be generated" do
161
- let :csc do
162
- csc = CSC.new
163
- csc.debug = :pdbonly
164
-
165
- csc.extend(SystemPatch)
166
- csc.disable_system = true
167
- csc.execute
168
- csc
169
- end
170
-
171
- it "should provide the pdbonly debug parameter" do
172
- csc.system_command.should include("/debug:pdbonly")
173
- end
174
- end
175
-
176
- describe CSC, "when specifying debug information not be generated" do
177
- let :csc do
178
- csc = CSC.new
179
- csc.debug = false
180
-
181
- csc.extend(SystemPatch)
182
- csc.disable_system = true
183
- csc.execute
184
- csc
185
- end
186
-
187
- it "should not provide the debug parameter" do
188
- csc.system_command.should_not include("/debug")
189
- end
190
- end
191
-
192
- describe CSC, "when specifying an xml document to generate" do
193
- let :csc do
194
- csc = CSC.new
195
- csc.doc = "../path/to/docfile.xml"
196
-
197
- csc.extend(SystemPatch)
198
- csc.disable_system = true
199
- csc.execute
200
- csc
201
- end
202
-
203
- it "should provide the documentation parmaeter" do
204
- csc.system_command.should include("/doc:../path/to/docfile.xml")
205
- end
206
- end
207
-
208
- describe CSC, "when defining processor symbols" do
209
- let :csc do
210
- csc = CSC.new
211
- csc.define :symbol1, :symbol2
212
-
213
- csc.extend(SystemPatch)
214
- csc.disable_system = true
215
- csc.execute
216
- csc
217
- end
218
-
219
- it "should specify the defined symbols" do
220
- csc.system_command.should include("/define:symbol1;symbol2")
221
- end
222
- end
223
-
224
- describe CSC, "when specifying main entry point be generated" do
225
- let :csc do
226
- csc = CSC.new
227
- csc.main = "Program.Main"
228
-
229
- csc.extend(SystemPatch)
230
- csc.disable_system = true
231
- csc.execute
232
- csc
233
- end
234
-
235
- it "should provide the main parameter" do
236
- csc.system_command.should include("/main:Program.Main")
237
- end
238
- end
239
-
240
- describe CSC, "when specifying main entry point not be generated" do
241
- let :csc do
242
- csc = CSC.new
243
-
244
- csc.extend(SystemPatch)
245
- csc.disable_system = true
246
- csc.execute
247
- csc
248
- end
249
-
250
- it "should not provide the main parameter" do
251
- csc.system_command.should_not include("/main")
252
- end
253
- end
1
+ require 'spec_helper'
2
+ require 'albacore/csc'
3
+
4
+ Albacore.configure do |config|
5
+ config.log_level = :verbose
6
+ end
7
+
8
+ describe CSC, "when supplying a file list with 2 files to compile" do
9
+ let :csc do
10
+ csc = CSC.new
11
+ csc.compile = FileList["File1.cs", "File2.cs"]
12
+ csc.extend(SystemPatch)
13
+ csc.disable_system = true
14
+ csc.execute
15
+ csc
16
+ end
17
+
18
+ it "should provide the first file to the compiler" do
19
+ csc.system_command.should include("\"File1.cs\"")
20
+ end
21
+
22
+ it "should provide the second file to the compiler" do
23
+ csc.system_command.should include("\"File2.cs\"")
24
+ end
25
+ end
26
+
27
+ # TODO: If designed by contract this is an unncessary responsibility of the class.
28
+ # It should be removed and only validate that the parameter is being specified as CSC expects it.
29
+ describe CSC, "when targeting a library and an output file" do
30
+ before :each do
31
+ @folder = File.join(File.expand_path(File.dirname(__FILE__)), "support", "csc")
32
+ csc = CSC.new
33
+
34
+ csc.compile FileList[File.join(@folder, "File1.cs")]
35
+ csc.target = :library
36
+ csc.output = File.join(@folder, "output", "File1.dll")
37
+ csc.execute
38
+ end
39
+
40
+ it "should produce the .dll file in the correct location" do
41
+ File.exist?(File.join(@folder, "output", "File1.dll")).should be_true
42
+ end
43
+ end
44
+
45
+ describe CSC, "when referencing existing assemblies" do
46
+ let :csc do
47
+ csc = CSC.new
48
+ csc.references "foobar.dll"
49
+
50
+ csc.extend(SystemPatch)
51
+ csc.disable_system = true
52
+ csc.execute
53
+ csc
54
+ end
55
+
56
+ it "should specify the reference on the command line" do
57
+ csc.system_command.should include("\"/reference:foobar.dll\"")
58
+ end
59
+ end
60
+
61
+ describe CSC, "when configuring the version to use" do
62
+ let :csc do
63
+ Albacore.configure do |config|
64
+ config.csc.use :net35
65
+ end
66
+ csc = CSC.new
67
+ csc
68
+ end
69
+
70
+ it "should use the configured version" do
71
+ win_dir = ENV['windir'] || ENV['WINDIR'] || "C:/Windows"
72
+ csc.command.should == File.join(win_dir.dup, 'Microsoft.NET', 'Framework', 'v3.5', 'csc.exe')
73
+ end
74
+ end
75
+
76
+ describe CSC, "when version to use has been configured and overriding" do
77
+ let :csc do
78
+ Albacore.configure do |config|
79
+ config.csc.use :net2
80
+ end
81
+ csc = CSC.new
82
+ csc.use :net35
83
+ csc
84
+ end
85
+
86
+ it "should use the override version" do
87
+ win_dir = ENV['windir'] || ENV['WINDIR'] || "C:/Windows"
88
+ csc.command.should == File.join(win_dir.dup, 'Microsoft.NET', 'Framework', 'v3.5', 'csc.exe')
89
+ end
90
+ end
91
+
92
+ describe CSC, "when specifying 2 resources to include" do
93
+ let :csc do
94
+ csc = CSC.new
95
+ csc.resources "../some/file.resource", "another.resource"
96
+
97
+ csc.extend(SystemPatch)
98
+ csc.disable_system = true
99
+ csc.execute
100
+ csc
101
+ end
102
+
103
+ it "should include the first resource" do
104
+ csc.system_command.should include("/res:../some/file.resource")
105
+ end
106
+
107
+ it "should include the second resource" do
108
+ csc.system_command.should include("/res:another.resource")
109
+ end
110
+ end
111
+
112
+ describe CSC, "when specifying the optimize option" do
113
+ let :csc do
114
+ csc = CSC.new
115
+ csc.optimize = true
116
+
117
+ csc.extend(SystemPatch)
118
+ csc.disable_system = true
119
+ csc.execute
120
+ csc
121
+ end
122
+
123
+ it "should supply the optimize parameter" do
124
+ csc.system_command.should include("/optimize")
125
+ end
126
+ end
127
+
128
+ describe CSC, "when specifying debug information be generated" do
129
+ let :csc do
130
+ csc = CSC.new
131
+ csc.debug = true
132
+
133
+ csc.extend(SystemPatch)
134
+ csc.disable_system = true
135
+ csc.execute
136
+ csc
137
+ end
138
+
139
+ it "should provide the debug parameter" do
140
+ csc.system_command.should include("/debug")
141
+ end
142
+ end
143
+
144
+ describe CSC, "when specifying full debug information be generated" do
145
+ let :csc do
146
+ csc = CSC.new
147
+ csc.debug = :full
148
+
149
+ csc.extend(SystemPatch)
150
+ csc.disable_system = true
151
+ csc.execute
152
+ csc
153
+ end
154
+
155
+ it "should provide the full debug parameter" do
156
+ csc.system_command.should include("/debug:full")
157
+ end
158
+ end
159
+
160
+ describe CSC, "when specifying pdbonly debug information be generated" do
161
+ let :csc do
162
+ csc = CSC.new
163
+ csc.debug = :pdbonly
164
+
165
+ csc.extend(SystemPatch)
166
+ csc.disable_system = true
167
+ csc.execute
168
+ csc
169
+ end
170
+
171
+ it "should provide the pdbonly debug parameter" do
172
+ csc.system_command.should include("/debug:pdbonly")
173
+ end
174
+ end
175
+
176
+ describe CSC, "when specifying debug information not be generated" do
177
+ let :csc do
178
+ csc = CSC.new
179
+ csc.debug = false
180
+
181
+ csc.extend(SystemPatch)
182
+ csc.disable_system = true
183
+ csc.execute
184
+ csc
185
+ end
186
+
187
+ it "should not provide the debug parameter" do
188
+ csc.system_command.should_not include("/debug")
189
+ end
190
+ end
191
+
192
+ describe CSC, "when specifying an xml document to generate" do
193
+ let :csc do
194
+ csc = CSC.new
195
+ csc.doc = "../path/to/docfile.xml"
196
+
197
+ csc.extend(SystemPatch)
198
+ csc.disable_system = true
199
+ csc.execute
200
+ csc
201
+ end
202
+
203
+ it "should provide the documentation parmaeter" do
204
+ csc.system_command.should include("/doc:../path/to/docfile.xml")
205
+ end
206
+ end
207
+
208
+ describe CSC, "when defining processor symbols" do
209
+ let :csc do
210
+ csc = CSC.new
211
+ csc.define :symbol1, :symbol2
212
+
213
+ csc.extend(SystemPatch)
214
+ csc.disable_system = true
215
+ csc.execute
216
+ csc
217
+ end
218
+
219
+ it "should specify the defined symbols" do
220
+ csc.system_command.should include("/define:symbol1;symbol2")
221
+ end
222
+ end
223
+
224
+ describe CSC, "when specifying main entry point be generated" do
225
+ let :csc do
226
+ csc = CSC.new
227
+ csc.main = "Program.Main"
228
+
229
+ csc.extend(SystemPatch)
230
+ csc.disable_system = true
231
+ csc.execute
232
+ csc
233
+ end
234
+
235
+ it "should provide the main parameter" do
236
+ csc.system_command.should include("/main:Program.Main")
237
+ end
238
+ end
239
+
240
+ describe CSC, "when specifying main entry point not be generated" do
241
+ let :csc do
242
+ csc = CSC.new
243
+
244
+ csc.extend(SystemPatch)
245
+ csc.disable_system = true
246
+ csc.execute
247
+ csc
248
+ end
249
+
250
+ it "should not provide the main parameter" do
251
+ csc.system_command.should_not include("/main")
252
+ end
253
+ end