uppercutbuild 0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (264) hide show
  1. data/lib/NDepend.xml +251 -0
  2. data/lib/build.bat +32 -0
  3. data/lib/build/Castle.Core.dll +0 -0
  4. data/lib/build/Castle.DynamicProxy2.dll +0 -0
  5. data/lib/build/Castle.MicroKernel.dll +0 -0
  6. data/lib/build/Castle.Windsor.dll +0 -0
  7. data/lib/build/UppercuT.xml +5 -0
  8. data/lib/build/analyze.step +78 -0
  9. data/lib/build/analyzers/gallio.test.step +145 -0
  10. data/lib/build/analyzers/mbunit2.test.step +146 -0
  11. data/lib/build/analyzers/moma.step +143 -0
  12. data/lib/build/analyzers/ncover.step +186 -0
  13. data/lib/build/analyzers/ndepend.step +95 -0
  14. data/lib/build/analyzers/nitriq.step +116 -0
  15. data/lib/build/analyzers/nunit.test.step +172 -0
  16. data/lib/build/analyzers/test.step +99 -0
  17. data/lib/build/compile.step +178 -0
  18. data/lib/build/customize.bat +41 -0
  19. data/lib/build/customize.build +76 -0
  20. data/lib/build/customizers/item.template +50 -0
  21. data/lib/build/default.build +164 -0
  22. data/lib/build/deploymentBuilder.step +103 -0
  23. data/lib/build/environmentBuilder.step +119 -0
  24. data/lib/build/generateBuildInfo.step +106 -0
  25. data/lib/build/ilmerge.build +174 -0
  26. data/lib/build/open.build +103 -0
  27. data/lib/build/package.step +234 -0
  28. data/lib/build/policyChecks.step +81 -0
  29. data/lib/build/updateAssemblies.build +107 -0
  30. data/lib/build/uppercut.dll +0 -0
  31. data/lib/build/uppercut.tasks.dll +0 -0
  32. data/lib/build/versionBuilder.step +148 -0
  33. data/lib/build/versioners/git.step +106 -0
  34. data/lib/build/versioners/hg.step +106 -0
  35. data/lib/build/versioners/svn.step +112 -0
  36. data/lib/build/versioners/tfs.step +104 -0
  37. data/lib/build/zip.build +162 -0
  38. data/lib/deployment/scripts/database.deploy +37 -0
  39. data/lib/deployment/templates/AppDeployment.bat +9 -0
  40. data/lib/deployment/templates/DBDeployment.RESTORE.bat +9 -0
  41. data/lib/deployment/templates/DBDeployment.bat +9 -0
  42. data/lib/lib/MbUnit2/MbUnit.AddIn.dll +0 -0
  43. data/lib/lib/MbUnit2/MbUnit.Cons.exe +0 -0
  44. data/lib/lib/MbUnit2/MbUnit.Cons.exe.config +12 -0
  45. data/lib/lib/MbUnit2/MbUnit.Framework.2.0.dll +0 -0
  46. data/lib/lib/MbUnit2/MbUnit.Framework.XML +6929 -0
  47. data/lib/lib/MbUnit2/MbUnit.Framework.dll +0 -0
  48. data/lib/lib/MbUnit2/MbUnit.GUI.exe +0 -0
  49. data/lib/lib/MbUnit2/MbUnit.GUI.exe.config +14 -0
  50. data/lib/lib/MbUnit2/MbUnit.MSBuild.Tasks.dll +0 -0
  51. data/lib/lib/MbUnit2/NAnt.Core.dll +0 -0
  52. data/lib/lib/MbUnit2/NGraphviz.Helpers.dll +0 -0
  53. data/lib/lib/MbUnit2/NGraphviz.Layout.dll +0 -0
  54. data/lib/lib/MbUnit2/NGraphviz.dll +0 -0
  55. data/lib/lib/MbUnit2/QuickGraph.Algorithms.Graphviz.dll +0 -0
  56. data/lib/lib/MbUnit2/QuickGraph.Algorithms.dll +0 -0
  57. data/lib/lib/MbUnit2/QuickGraph.dll +0 -0
  58. data/lib/lib/MbUnit2/Refly.dll +0 -0
  59. data/lib/lib/MbUnit2/TestDriven.Framework.dll +0 -0
  60. data/lib/lib/MbUnit2/TestFu.XML +1932 -0
  61. data/lib/lib/MbUnit2/TestFu.dll +0 -0
  62. data/lib/lib/MbUnit2/XsdTidy.exe +0 -0
  63. data/lib/lib/MoMA/Definitions/2.4.0.1-defs.zip +0 -0
  64. data/lib/lib/MoMA/ICSharpCode.SharpZipLib.dll +0 -0
  65. data/lib/lib/MoMA/MoMA.Analyzer.dll +0 -0
  66. data/lib/lib/MoMA/MoMA.exe +0 -0
  67. data/lib/lib/MoMA/Mono.Cecil.dll +0 -0
  68. data/lib/lib/MoMA/Reports/Media/fail.png +0 -0
  69. data/lib/lib/MoMA/Reports/Media/minus.png +0 -0
  70. data/lib/lib/MoMA/Reports/Media/moma.css +117 -0
  71. data/lib/lib/MoMA/Reports/Media/moma.js +17 -0
  72. data/lib/lib/MoMA/Reports/Media/pass.png +0 -0
  73. data/lib/lib/MoMA/Reports/Media/plus.png +0 -0
  74. data/lib/lib/MoMA/Resources/button_ok.png +0 -0
  75. data/lib/lib/MoMA/Resources/dialog-warning.png +0 -0
  76. data/lib/lib/MoMA/Resources/dialogback.png +0 -0
  77. data/lib/lib/MoMA/Resources/list-add.png +0 -0
  78. data/lib/lib/MoMA/Resources/list-directory.png +0 -0
  79. data/lib/lib/MoMA/Resources/list-remove.png +0 -0
  80. data/lib/lib/MoMA/Resources/monoback.png +0 -0
  81. data/lib/lib/MoMA/Resources/spinner.gif +0 -0
  82. data/lib/lib/NAnt/CollectionGen.dll +0 -0
  83. data/lib/lib/NAnt/Interop.MsmMergeTypeLib.dll +0 -0
  84. data/lib/lib/NAnt/Interop.StarTeam.dll +0 -0
  85. data/lib/lib/NAnt/Interop.WindowsInstaller.dll +0 -0
  86. data/lib/lib/NAnt/MSITaskErrors.mst +0 -0
  87. data/lib/lib/NAnt/MSITaskTemplate.msi +0 -0
  88. data/lib/lib/NAnt/MSMTaskErrors.mst +0 -0
  89. data/lib/lib/NAnt/MSMTaskTemplate.msm +0 -0
  90. data/lib/lib/NAnt/MbUnit.Framework.dll +0 -0
  91. data/lib/lib/NAnt/MbUnit.Tasks.dll +0 -0
  92. data/lib/lib/NAnt/NAnt.CompressionTasks.dll +0 -0
  93. data/lib/lib/NAnt/NAnt.Contrib.Tasks.dll +0 -0
  94. data/lib/lib/NAnt/NAnt.Core.dll +0 -0
  95. data/lib/lib/NAnt/NAnt.DotNetTasks.dll +0 -0
  96. data/lib/lib/NAnt/NAnt.MSNetTasks.dll +0 -0
  97. data/lib/lib/NAnt/NAnt.NUnit.dll +0 -0
  98. data/lib/lib/NAnt/NAnt.NUnit1Tasks.dll +0 -0
  99. data/lib/lib/NAnt/NAnt.NUnit2Tasks.dll +0 -0
  100. data/lib/lib/NAnt/NAnt.SourceControlTasks.dll +0 -0
  101. data/lib/lib/NAnt/NAnt.VSNetTasks.dll +0 -0
  102. data/lib/lib/NAnt/NAnt.VisualCppTasks.dll +0 -0
  103. data/lib/lib/NAnt/NAnt.Win32Tasks.dll +0 -0
  104. data/lib/lib/NAnt/NAnt.exe +0 -0
  105. data/lib/lib/NAnt/NAnt.exe.config +2126 -0
  106. data/lib/lib/NAnt/NCoverExplorer.NAntTasks.dll +0 -0
  107. data/lib/lib/NAnt/NDepend.Build.NAntTasks.dll +0 -0
  108. data/lib/lib/NAnt/NDoc.Documenter.NAnt.dll +0 -0
  109. data/lib/lib/NAnt/QuickGraph.Algorithms.dll +0 -0
  110. data/lib/lib/NAnt/QuickGraph.dll +0 -0
  111. data/lib/lib/NAnt/SLiNgshoT.Core.dll +0 -0
  112. data/lib/lib/NAnt/SLiNgshoT.exe +0 -0
  113. data/lib/lib/NAnt/SourceSafe.Interop.dll +0 -0
  114. data/lib/lib/NAnt/ThoughtWorks.CruiseControl.MSBuild.dll +0 -0
  115. data/lib/lib/NAnt/extensions/common/2.0/NAnt.MSBuild.dll +0 -0
  116. data/lib/lib/NAnt/extensions/common/2.0/NAnt.MSBuild.xml +36 -0
  117. data/lib/lib/NAnt/lib/common/1.1/nunit-console-runner.dll +0 -0
  118. data/lib/lib/NAnt/lib/common/1.1/nunit-console.exe +0 -0
  119. data/lib/lib/NAnt/lib/common/1.1/nunit.core.dll +0 -0
  120. data/lib/lib/NAnt/lib/common/1.1/nunit.framework.dll +0 -0
  121. data/lib/lib/NAnt/lib/common/1.1/nunit.util.dll +0 -0
  122. data/lib/lib/NAnt/lib/common/2.0/nunit-console-runner.dll +0 -0
  123. data/lib/lib/NAnt/lib/common/2.0/nunit-console.exe +0 -0
  124. data/lib/lib/NAnt/lib/common/2.0/nunit.core.dll +0 -0
  125. data/lib/lib/NAnt/lib/common/2.0/nunit.framework.dll +0 -0
  126. data/lib/lib/NAnt/lib/common/2.0/nunit.util.dll +0 -0
  127. data/lib/lib/NAnt/lib/common/neutral/ICSharpCode.SharpCvsLib.Console.dll +0 -0
  128. data/lib/lib/NAnt/lib/common/neutral/ICSharpCode.SharpCvsLib.dll +0 -0
  129. data/lib/lib/NAnt/lib/common/neutral/ICSharpCode.SharpZipLib.dll +0 -0
  130. data/lib/lib/NAnt/lib/common/neutral/NDoc.Core.dll +0 -0
  131. data/lib/lib/NAnt/lib/common/neutral/NDoc.Documenter.Msdn.dll +0 -0
  132. data/lib/lib/NAnt/lib/common/neutral/NDoc.ExtendedUI.dll +0 -0
  133. data/lib/lib/NAnt/lib/common/neutral/NUnitCore.dll +0 -0
  134. data/lib/lib/NAnt/lib/mono/1.0/NDoc.Core.dll +0 -0
  135. data/lib/lib/NAnt/lib/mono/1.0/NDoc.Documenter.Msdn.dll +0 -0
  136. data/lib/lib/NAnt/lib/mono/1.0/NDoc.ExtendedUI.dll +0 -0
  137. data/lib/lib/NAnt/lib/mono/1.0/nunit.core.dll +0 -0
  138. data/lib/lib/NAnt/lib/mono/1.0/nunit.framework.dll +0 -0
  139. data/lib/lib/NAnt/lib/mono/1.0/nunit.util.dll +0 -0
  140. data/lib/lib/NAnt/lib/mono/2.0/NDoc.Core.dll +0 -0
  141. data/lib/lib/NAnt/lib/mono/2.0/NDoc.Documenter.Msdn.dll +0 -0
  142. data/lib/lib/NAnt/lib/mono/2.0/NDoc.ExtendedUI.dll +0 -0
  143. data/lib/lib/NAnt/lib/mono/2.0/nunit.core.dll +0 -0
  144. data/lib/lib/NAnt/lib/mono/2.0/nunit.framework.dll +0 -0
  145. data/lib/lib/NAnt/lib/mono/2.0/nunit.util.dll +0 -0
  146. data/lib/lib/NAnt/lib/net/1.0/NDoc.Core.dll +0 -0
  147. data/lib/lib/NAnt/lib/net/1.0/NDoc.Documenter.Msdn.dll +0 -0
  148. data/lib/lib/NAnt/lib/net/1.0/NDoc.ExtendedUI.dll +0 -0
  149. data/lib/lib/NAnt/lib/net/1.0/nunit-console-runner.dll +0 -0
  150. data/lib/lib/NAnt/lib/net/1.0/nunit-console.exe +0 -0
  151. data/lib/lib/NAnt/lib/net/1.0/nunit.core.dll +0 -0
  152. data/lib/lib/NAnt/lib/net/1.0/nunit.framework.dll +0 -0
  153. data/lib/lib/NAnt/lib/net/1.0/nunit.util.dll +0 -0
  154. data/lib/lib/NAnt/lib/net/1.1/NDoc.Core.dll +0 -0
  155. data/lib/lib/NAnt/lib/net/1.1/NDoc.Documenter.Msdn.dll +0 -0
  156. data/lib/lib/NAnt/lib/net/1.1/NDoc.ExtendedUI.dll +0 -0
  157. data/lib/lib/NAnt/lib/net/1.1/nunit.core.dll +0 -0
  158. data/lib/lib/NAnt/lib/net/1.1/nunit.framework.dll +0 -0
  159. data/lib/lib/NAnt/lib/net/1.1/nunit.util.dll +0 -0
  160. data/lib/lib/NAnt/lib/net/2.0/NDoc.Core.dll +0 -0
  161. data/lib/lib/NAnt/lib/net/2.0/NDoc.Documenter.Msdn.dll +0 -0
  162. data/lib/lib/NAnt/lib/net/2.0/NDoc.ExtendedUI.dll +0 -0
  163. data/lib/lib/NAnt/lib/net/2.0/nunit.core.dll +0 -0
  164. data/lib/lib/NAnt/lib/net/2.0/nunit.framework.dll +0 -0
  165. data/lib/lib/NAnt/lib/net/2.0/nunit.util.dll +0 -0
  166. data/lib/lib/NAnt/log4net.dll +0 -0
  167. data/lib/lib/NAnt/scvs.exe +0 -0
  168. data/lib/lib/NCover/ActiproEULA.html +287 -0
  169. data/lib/lib/NCover/ActiproSoftware.Shared.Net11.dll +0 -0
  170. data/lib/lib/NCover/ActiproSoftware.SyntaxEditor.Net11.dll +0 -0
  171. data/lib/lib/NCover/ActiproSoftware.WinUICore.Net11.dll +0 -0
  172. data/lib/lib/NCover/CommandBars.dll +0 -0
  173. data/lib/lib/NCover/ConsoleConfig.xsd +123 -0
  174. data/lib/lib/NCover/ConsoleExample.config +94 -0
  175. data/lib/lib/NCover/CoverLib.dll +0 -0
  176. data/lib/lib/NCover/Coverage.xsl +339 -0
  177. data/lib/lib/NCover/CoverageReport.xsl +468 -0
  178. data/lib/lib/NCover/ICSharpCode.TextEditor.dll +0 -0
  179. data/lib/lib/NCover/LicencePersonal.rtf +334 -0
  180. data/lib/lib/NCover/MSVCP80.dll +0 -0
  181. data/lib/lib/NCover/MSVCR80.dll +0 -0
  182. data/lib/lib/NCover/Microsoft.VC80.CRT.manifest +8 -0
  183. data/lib/lib/NCover/NCover.Console.exe +0 -0
  184. data/lib/lib/NCover/NCover.Console.exe.config +6 -0
  185. data/lib/lib/NCover/NCover.Framework.dll +0 -0
  186. data/lib/lib/NCover/NCoverExplorer.Console.exe +0 -0
  187. data/lib/lib/NCover/NCoverExplorer.Core.dll +0 -0
  188. data/lib/lib/NCover/NCoverExplorer.NCoverRunner.dll +0 -0
  189. data/lib/lib/NCover/NCoverExplorer.WinForms.dll +0 -0
  190. data/lib/lib/NCover/NCoverExplorer.exe +0 -0
  191. data/lib/lib/NCover/NCoverExplorer.exe.config +8 -0
  192. data/lib/lib/NCover/NCoverExplorerFAQ.html +303 -0
  193. data/lib/lib/NCover/NCoverExplorerReleaseNotes.html +874 -0
  194. data/lib/lib/NCover/NCoverFAQ.html +429 -0
  195. data/lib/lib/NCover/VC80CRT.MAN +15 -0
  196. data/lib/lib/NCover/license.txt +299 -0
  197. data/lib/lib/NUnit/NUnitTests.config +84 -0
  198. data/lib/lib/NUnit/NUnitTests.nunit +14 -0
  199. data/lib/lib/NUnit/agent.conf +4 -0
  200. data/lib/lib/NUnit/agent.log.conf +18 -0
  201. data/lib/lib/NUnit/framework/nunit.framework.dll +0 -0
  202. data/lib/lib/NUnit/framework/nunit.framework.xml +10113 -0
  203. data/lib/lib/NUnit/framework/nunit.mocks.dll +0 -0
  204. data/lib/lib/NUnit/framework/pnunit.framework.dll +0 -0
  205. data/lib/lib/NUnit/launcher.log.conf +18 -0
  206. data/lib/lib/NUnit/lib/Failure.png +0 -0
  207. data/lib/lib/NUnit/lib/Ignored.png +0 -0
  208. data/lib/lib/NUnit/lib/Inconclusive.png +0 -0
  209. data/lib/lib/NUnit/lib/Skipped.png +0 -0
  210. data/lib/lib/NUnit/lib/Success.png +0 -0
  211. data/lib/lib/NUnit/lib/fit.dll +0 -0
  212. data/lib/lib/NUnit/lib/log4net.dll +0 -0
  213. data/lib/lib/NUnit/lib/nunit-console-runner.dll +0 -0
  214. data/lib/lib/NUnit/lib/nunit-gui-runner.dll +0 -0
  215. data/lib/lib/NUnit/lib/nunit.core.dll +0 -0
  216. data/lib/lib/NUnit/lib/nunit.core.interfaces.dll +0 -0
  217. data/lib/lib/NUnit/lib/nunit.fixtures.dll +0 -0
  218. data/lib/lib/NUnit/lib/nunit.uiexception.dll +0 -0
  219. data/lib/lib/NUnit/lib/nunit.uikit.dll +0 -0
  220. data/lib/lib/NUnit/lib/nunit.util.dll +0 -0
  221. data/lib/lib/NUnit/nunit-agent-x86.exe +0 -0
  222. data/lib/lib/NUnit/nunit-agent-x86.exe.config +76 -0
  223. data/lib/lib/NUnit/nunit-agent.exe +0 -0
  224. data/lib/lib/NUnit/nunit-agent.exe.config +76 -0
  225. data/lib/lib/NUnit/nunit-console-x86.exe +0 -0
  226. data/lib/lib/NUnit/nunit-console-x86.exe.config +76 -0
  227. data/lib/lib/NUnit/nunit-console.exe +0 -0
  228. data/lib/lib/NUnit/nunit-console.exe.config +76 -0
  229. data/lib/lib/NUnit/nunit-x86.exe +0 -0
  230. data/lib/lib/NUnit/nunit-x86.exe.config +91 -0
  231. data/lib/lib/NUnit/nunit.exe +0 -0
  232. data/lib/lib/NUnit/nunit.exe.config +91 -0
  233. data/lib/lib/NUnit/nunit.framework.dll +0 -0
  234. data/lib/lib/NUnit/pnunit-agent.exe +0 -0
  235. data/lib/lib/NUnit/pnunit-agent.exe.config +77 -0
  236. data/lib/lib/NUnit/pnunit-launcher.exe +0 -0
  237. data/lib/lib/NUnit/pnunit-launcher.exe.config +77 -0
  238. data/lib/lib/NUnit/pnunit.framework.dll +0 -0
  239. data/lib/lib/NUnit/pnunit.tests.dll +0 -0
  240. data/lib/lib/NUnit/runpnunit.bat +2 -0
  241. data/lib/lib/NUnit/test.conf +24 -0
  242. data/lib/lib/NUnit/tests/loadtest-assembly.dll +0 -0
  243. data/lib/lib/NUnit/tests/mock-assembly.dll +0 -0
  244. data/lib/lib/NUnit/tests/nonamespace-assembly.dll +0 -0
  245. data/lib/lib/NUnit/tests/nunit-console.tests.dll +0 -0
  246. data/lib/lib/NUnit/tests/nunit-gui.tests.dll +0 -0
  247. data/lib/lib/NUnit/tests/nunit.core.tests.dll +0 -0
  248. data/lib/lib/NUnit/tests/nunit.fixtures.tests.dll +0 -0
  249. data/lib/lib/NUnit/tests/nunit.framework.dll +0 -0
  250. data/lib/lib/NUnit/tests/nunit.framework.tests.dll +0 -0
  251. data/lib/lib/NUnit/tests/nunit.mocks.tests.dll +0 -0
  252. data/lib/lib/NUnit/tests/nunit.uiexception.tests.dll +0 -0
  253. data/lib/lib/NUnit/tests/nunit.uikit.tests.dll +0 -0
  254. data/lib/lib/NUnit/tests/nunit.util.tests.dll +0 -0
  255. data/lib/lib/NUnit/tests/test-assembly.dll +0 -0
  256. data/lib/lib/NUnit/tests/test-utilities.dll +0 -0
  257. data/lib/lib/NUnit/tests/timing-tests.dll +0 -0
  258. data/lib/open.bat +10 -0
  259. data/lib/settings/LOCAL.settings +29 -0
  260. data/lib/settings/SettingsFileReadMe.txt +2 -0
  261. data/lib/settings/UppercuT.config +73 -0
  262. data/lib/test.bat +38 -0
  263. data/lib/zip.bat +23 -0
  264. metadata +328 -0
@@ -0,0 +1,146 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <project name="MbUnit2Tester" default="go">
3
+ <!-- Project UppercuT - http://projectuppercut.org -->
4
+ <!-- DO NOT EDIT THIS FILE - This follows a convention for testing with Integration tests being separated from Unit tests - find out more at http://uppercut.pbwiki.com -->
5
+ <property name="build.config.settings" value="__NONE__" overwrite="false" />
6
+ <include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
7
+ <property name="file.current.no_extension" value="mbunit2.test" />
8
+ <property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
9
+ <property name="path.to.toplevel" value="..\.." />
10
+ <property name="folder.build_scripts" value="build" overwrite="false" />
11
+ <property name="folder.build_scripts_custom" value="build.custom" overwrite="false" />
12
+ <property name="dirs.build_scripts_custom" value="${dirs.current}\${path.to.toplevel}\${folder.build_scripts_custom}\analyzers" />
13
+ <property name="folder.code_build" value="build_output" overwrite="false" />
14
+ <property name="dirs.build" value="${dirs.current}\${path.to.toplevel}\${folder.code_build}" />
15
+ <property name="folder.app.drop" value="${project.name}" overwrite="false" />
16
+ <property name="dirs.build.code" value="${dirs.build}\${folder.app.drop}" overwrite="false" />
17
+ <property name="folder.build_artifacts" value="build_artifacts" overwrite="false" />
18
+ <property name="dirs.build_artifacts" value="${path::get-full-path(dirs.build)}\${folder.build_artifacts}" />
19
+ <property name="dirs.test_results" value="${dirs.build_artifacts}\mbunit2" overwrite="false" />
20
+ <property name="file.test_results" value="mbunit-results" overwrite="false" />
21
+ <property name="file.custom.step.before" value="${dirs.build_scripts_custom}\${file.current.no_extension}.pre.step" />
22
+ <property name="file.custom.step.after" value="${dirs.build_scripts_custom}\${file.current.no_extension}.post.step" />
23
+ <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}\${file.current.no_extension}.replace.step" />
24
+ <property name="is.replaced" value="false" />
25
+ <property name="fail.build.on.error" value="true" />
26
+
27
+ <assemblyfileset id="assemblies.assemblyfileset.testing" basedir="${dirs.build.code}\" >
28
+ <exclude name="*Database*dll" />
29
+ <exclude name="*.Integration*dll" />
30
+ <exclude name="TestFu.dll" />
31
+ <include name="*Test*dll" />
32
+ <include name="*.Spec*dll" />
33
+ </assemblyfileset>
34
+
35
+ <assemblyfileset id="assemblies.assemblyfileset.testing.all" basedir="${dirs.build.code}\" >
36
+ <exclude name="TestFu.dll" />
37
+ <include name="*Test*dll" />
38
+ <include name="*.Spec*dll" />
39
+ </assemblyfileset>
40
+
41
+ <target name="go" depends="run_tasks" />
42
+
43
+ <target name="run_tasks">
44
+ <echo message="Running ${project::get-name()} tasks." />
45
+ <call target="prepare" if="${target::exists('prepare')}" />
46
+ <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
47
+ <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
48
+ <call target="run_normal_tasks" if="${not is.replaced}" />
49
+ <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
50
+ </target>
51
+
52
+ <target name="run_normal_tasks"
53
+ depends="run_tests"
54
+ description="Testing with MbUnit v2." />
55
+
56
+ <target name="custom_tasks_before">
57
+ <echo message="Running custom tasks if ${file.custom.step.before} exists." />
58
+ <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
59
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
60
+ <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
61
+ </exec>
62
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
63
+ <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
64
+ </exec>
65
+ </target>
66
+
67
+ <target name="custom_tasks_replace">
68
+ <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
69
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
70
+ <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
71
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
72
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
73
+ <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
74
+ </exec>
75
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
76
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
77
+ <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
78
+ </exec>
79
+ </target>
80
+
81
+ <target name="prepare">
82
+ <echo message="Removing and adding ${dirs.test_results}."/>
83
+ <delete dir="${dirs.test_results}" failonerror="false" />
84
+ <mkdir dir="${dirs.test_results}" />
85
+ </target>
86
+
87
+ <target name="run_tests" depends="prepare" description="Running Unit Tests">
88
+ <echo message="Running tests using MbUnit and putting results in ${dirs.test_results}."/>
89
+ <mbunit
90
+ report-types="Html;Xml;Text"
91
+ report-filename-format="${file.test_results}"
92
+ report-output-directory="${dirs.test_results}"
93
+ halt-on-failure="true"
94
+ failonerror="true"
95
+ >
96
+ <assemblies refid="assemblies.assemblyfileset.testing" />
97
+ <categories>
98
+ <exclude name="Database" />
99
+ <exclude name="Integration" />
100
+ <exclude name="Slow" />
101
+ <exclude name="NotWorking" />
102
+ <exclude name="Ignore" />
103
+ <exclude name="database" />
104
+ <exclude name="integration" />
105
+ <exclude name="slow" />
106
+ <exclude name="notworking" />
107
+ <exclude name="ignore" />
108
+ </categories>
109
+ </mbunit>
110
+ </target>
111
+
112
+ <target name="run_all_tests" depends="prepare" description="Running All Unit Tests">
113
+ <echo message="Running all tests (including integration tests) using MbUnit and putting results in ${dirs.test_results}."/>
114
+ <mbunit
115
+ report-types="Html;Xml;Text"
116
+ report-filename-format="${file.test_results}"
117
+ report-output-directory="${dirs.test_results}"
118
+ halt-on-failure="true"
119
+ failonerror="true"
120
+ >
121
+ <assemblies refid="assemblies.assemblyfileset.testing.all" />
122
+ </mbunit>
123
+ </target>
124
+
125
+ <target name="open_results">
126
+ <echo message="Opening results at ${path::get-full-path(dirs.test_results)}\${file.test_results}.html."/>
127
+ <exec
128
+ spawn="true"
129
+ program="${environment::get-folder-path('ProgramFiles')}\Internet Explorer\iexplore.exe"
130
+ commandline="${path::get-full-path(dirs.test_results)}\${file.test_results}.html"
131
+ >
132
+ </exec>
133
+ </target>
134
+
135
+ <target name="custom_tasks_after">
136
+ <echo message="Running custom tasks if ${file.custom.step.after} exists." />
137
+ <nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
138
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
139
+ <arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
140
+ </exec>
141
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
142
+ <arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
143
+ </exec>
144
+ </target>
145
+
146
+ </project>
@@ -0,0 +1,143 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <project name="Mono Migration Analyzer" default="go">
3
+ <!-- Project UppercuT - http://projectuppercut.org -->
4
+ <!-- DO NOT EDIT THIS FILE - Mono Migration Analyzer - find out more at http://uppercut.pbwiki.com -->
5
+ <property name="build.config.settings" value="__NONE__" overwrite="false" />
6
+ <include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
7
+ <property name="file.current.no_extension" value="moma" />
8
+ <property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
9
+ <property name="path.to.toplevel" value="..\.." />
10
+ <property name="folder.build_scripts" value="build" overwrite="false" />
11
+ <property name="folder.build_scripts_custom" value="build.custom" overwrite="false" />
12
+ <property name="dirs.build_scripts_custom" value="${dirs.current}\${path.to.toplevel}\${folder.build_scripts_custom}\analyzers" />
13
+ <property name="folder.code_build" value="build_output" overwrite="false" />
14
+ <property name="dirs.build" value="${dirs.current}\${path.to.toplevel}\${folder.code_build}" />
15
+ <property name="folder.app.drop" value="${project.name}" overwrite="false" />
16
+ <property name="dirs.build.code" value="${dirs.build}\${folder.app.drop}" overwrite="false" />
17
+ <property name="folder.build_artifacts" value="build_artifacts" overwrite="false" />
18
+ <property name="dirs.build_artifacts" value="${path::get-full-path(dirs.build)}\${folder.build_artifacts}" />
19
+ <property name="project.name" value="__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__" overwrite="false" />
20
+ <property name="folder.references" value="lib" overwrite="false" />
21
+ <property name="dirs.lib" value="${dirs.current}\${path.to.toplevel}\${folder.references}" overwrite="false" />
22
+ <property name="dirs.moma_results" value="${path::get-full-path(dirs.build_artifacts)}\monoMigrationAnalyzer" />
23
+ <property name="app.moma" value="${path::get-full-path(dirs.lib)}\MoMA\MoMA.exe" overwrite="false" />
24
+ <property name="file.moma_results" value="${project.name}.MoMAReport.html" />
25
+ <property name="file.moma.submit_results" value="${project.name}.MoMAReport.xml" />
26
+ <property name="file.moma_log" value="${project.name}.moma.log" />
27
+ <property name="args.moma" value="--nogui --out &quot;${dirs.moma_results}\${file.moma_results}&quot;" />
28
+ <property name="file.custom.step.before" value="${dirs.build_scripts_custom}\${file.current.no_extension}.pre.step" />
29
+ <property name="file.custom.step.after" value="${dirs.build_scripts_custom}\${file.current.no_extension}.post.step" />
30
+ <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}\${file.current.no_extension}.replace.step" />
31
+ <property name="is.replaced" value="false" />
32
+ <property name="fail.build.on.error" value="false" />
33
+
34
+ <target name="go" depends="run_tasks" if="${file::exists(app.moma)}" />
35
+
36
+ <target name="run_tasks">
37
+ <echo message="Running ${project::get-name()} tasks." />
38
+ <call target="prepare" if="${target::exists('prepare')}" />
39
+ <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
40
+ <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
41
+ <call target="run_normal_tasks" if="${not is.replaced}" />
42
+ <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
43
+ </target>
44
+
45
+ <target name="custom_tasks_before">
46
+ <echo message="Running custom tasks if ${file.custom.step.before} exists." />
47
+ <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
48
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
49
+ <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
50
+ </exec>
51
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
52
+ <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
53
+ </exec>
54
+ </target>
55
+
56
+ <target name="custom_tasks_replace">
57
+ <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
58
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
59
+ <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
60
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
61
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
62
+ <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
63
+ </exec>
64
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
65
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
66
+ <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
67
+ </exec>
68
+ </target>
69
+
70
+ <target name="prepare">
71
+ <echo message="Removing and adding ${dirs.moma_results}."/>
72
+ <delete dir="${dirs.moma_results}" failonerror="false" />
73
+ <mkdir dir="${dirs.moma_results}" />
74
+ </target>
75
+
76
+ <target name="run_normal_tasks"
77
+ depends="get_regular_dlls, moma"
78
+ description="Using Mono Migration Analyzer to Analyze project for ability to run cross platform."
79
+ if="${file::exists(app.moma)}" />
80
+
81
+ <target name="get_regular_dlls">
82
+ <echo message="Getting output dlls based on name in directory ${path::get-full-path(dirs.build.code)}." />
83
+ <property name="dll.names" value="" />
84
+ <foreach item="File" property="dll.filename">
85
+ <in>
86
+ <items>
87
+ <exclude name="${dirs.build.code}\NUnit*.dll" />
88
+ <exclude name="${dirs.build.code}\MbUnit*.dll" />
89
+ <exclude name="${dirs.build.code}\TestFu.dll" />
90
+ <exclude name="${dirs.build.code}\QuickGraph*.dll" />
91
+ <exclude name="${dirs.build.code}\Refly*.dll" />
92
+ <exclude name="${dirs.build.code}\Rhino.Mocks*.dll" />
93
+ <exclude name="${dirs.build.code}\*bdd*.dll" />
94
+ <exclude name="${dirs.build.code}\*Test*dll" />
95
+ <exclude name="${dirs.build.code}\*Spec*dll" />
96
+ <include name="${dirs.build.code}\*.dll" />
97
+ <include name="${dirs.build.code}\*.exe" />
98
+ </items>
99
+ </in>
100
+ <do>
101
+ <property name="dll.names" value="${dll.names + ' ' + path::get-file-name(dll.filename)}" />
102
+ </do>
103
+ </foreach>
104
+
105
+ <property name="dlls.regular" value="${dll.names}" />
106
+ <echo message="Running Mono Migration Analyzer against these files - ${dlls.regular}." />
107
+
108
+ <property name="args.moma" value="${args.moma} ${dlls.regular}" />
109
+ </target>
110
+
111
+ <target name="moma" if="${file::exists(app.moma)}" >
112
+ <echo message="Attempting to run Mono Migration Analyzer. Creating file at ${file.moma_results} and logging at ${file.moma_log}." />
113
+
114
+ <exec program="${app.moma}"
115
+ workingdir="${dirs.build.code}"
116
+ >
117
+ <arg line="${args.moma}" />
118
+ </exec>
119
+
120
+ </target>
121
+
122
+ <target name="open_results">
123
+ <echo message="Opening results at ${path::get-full-path(dirs.moma_results)}\${file.moma_results}."/>
124
+ <exec
125
+ spawn="true"
126
+ program="${environment::get-folder-path('ProgramFiles')}\Internet Explorer\iexplore.exe"
127
+ commandline="${path::get-full-path(dirs.moma_results)}\${file.moma_results}"
128
+ >
129
+ </exec>
130
+ </target>
131
+
132
+ <target name="custom_tasks_after">
133
+ <echo message="Running custom tasks if ${file.custom.step.after} exists." />
134
+ <nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
135
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
136
+ <arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
137
+ </exec>
138
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
139
+ <arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
140
+ </exec>
141
+ </target>
142
+
143
+ </project>
@@ -0,0 +1,186 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <project name="NCover" default="go">
3
+ <!-- Project UppercuT - http://projectuppercut.org -->
4
+ <!-- DO NOT EDIT THIS FILE - NCover uses MbUnit to run tests - find out more at http://uppercut.pbwiki.com -->
5
+ <property name="build.config.settings" value="__NONE__" overwrite="false" />
6
+ <include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
7
+ <property name="file.current.no_extension" value="ncover" />
8
+ <property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
9
+ <property name="path.to.toplevel" value="..\.." />
10
+ <property name="folder.build_scripts" value="build" overwrite="false" />
11
+ <property name="folder.build_scripts_custom" value="build.custom" overwrite="false" />
12
+ <property name="dirs.build_scripts_custom" value="${dirs.current}\${path.to.toplevel}\${folder.build_scripts_custom}\analyzers" />
13
+ <property name="folder.code_build" value="build_output" overwrite="false" />
14
+ <property name="dirs.build" value="${dirs.current}\${path.to.toplevel}\${folder.code_build}" />
15
+ <property name="folder.app.drop" value="${project.name}" overwrite="false" />
16
+ <property name="dirs.build.code" value="${dirs.build}\${folder.app.drop}" overwrite="false" />
17
+ <property name="folder.build_artifacts" value="build_artifacts" overwrite="false" />
18
+ <property name="dirs.build_artifacts" value="${path::get-full-path(dirs.build)}\${folder.build_artifacts}" />
19
+ <property name="project.name" value="__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__" overwrite="false" />
20
+ <property name="test.framework" value="mbunit" overwrite="false" />
21
+ <property name="microsoft.framework" value="net-3.5" overwrite="false" />
22
+ <property name="number.satisfactory_coverage" value="85" overwrite="false" />
23
+ <property name="fail.if_ncover_fails" value="false" overwrite="false" />
24
+ <property name="folder.references" value="lib" overwrite="false" />
25
+ <property name="dirs.lib" value="${dirs.current}\${path.to.toplevel}\${folder.references}" overwrite="false" />
26
+ <property name="dirs.ncover_results" value="${path::get-full-path(dirs.build_artifacts)}\ncover" />
27
+ <property name="app.ncover.tester" value="${path::get-full-path(dirs.lib)}\MbUnit2\MbUnit.Cons.exe" overwrite="false" />
28
+ <property name="app.ncover" value="${path::get-full-path(dirs.lib)}\NCover\NCover.Console.exe" overwrite="false" />
29
+ <property name="app.ncover.explorer" value="${path::get-full-path(dirs.lib)}\NCover\NCoverExplorer.Console.exe" overwrite="false" />
30
+ <property name="file.ncover_results" value="${dirs.ncover_results}\${project.name}.ncover.xml" />
31
+ <property name="file.ncover_log" value="${dirs.ncover_results}\${project.name}.ncover.log" />
32
+ <property name="file.xml.code_coverage_results" value="${project.name}.CodeCoverageSummary-results.xml" />
33
+ <property name="file.html.code_coverage_results" value="${project.name}.CodeCoverageSummary-results.html" />
34
+ <property name="tests.excluded_categories.comma_separated" value="Database,Integration,Slow,NotWorking" overwrite="false" />
35
+ <property name="test.args" value="" />
36
+ <property name="test.args" value="/rt:Text /rnf:mbUnit /rf:&quot;${dirs.ncover_results}&quot; /ec:${tests.excluded_categories.comma_separated}" if="${test.framework=='mbunit2'}" />
37
+ <property name="test.args" value="/xml:&quot;${dirs.ncover_results}\nunit-results.xml&quot; /nologo /framework=${microsoft.framework} /exclude:${tests.excluded_categories.comma_separated}" if="${test.framework=='nunit'}" />
38
+ <property name="file.custom.step.before" value="${dirs.build_scripts_custom}\${file.current.no_extension}.pre.step" />
39
+ <property name="file.custom.step.after" value="${dirs.build_scripts_custom}\${file.current.no_extension}.post.step" />
40
+ <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}\${file.current.no_extension}.replace.step" />
41
+ <property name="is.replaced" value="false" />
42
+ <property name="fail.build.on.error" value="false" />
43
+
44
+ <target name="go" depends="run_tasks" if="${file::exists(app.ncover)}" />
45
+
46
+ <target name="run_tasks">
47
+ <echo message="Running ${project::get-name()} tasks." />
48
+ <call target="prepare" if="${target::exists('prepare')}" />
49
+ <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
50
+ <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
51
+ <call target="run_normal_tasks" if="${not is.replaced}" />
52
+ <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
53
+ </target>
54
+
55
+ <target name="run_normal_tasks"
56
+ depends="get_test_dlls, ncover, ncover_explorer"
57
+ description="Using NCover to Analyze project for test quality indicators."
58
+ if="${file::exists(app.ncover)}" />
59
+
60
+ <target name="custom_tasks_before">
61
+ <echo message="Running custom tasks if ${file.custom.step.before} exists." />
62
+ <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
63
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
64
+ <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
65
+ </exec>
66
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
67
+ <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
68
+ </exec>
69
+ </target>
70
+
71
+ <target name="custom_tasks_replace">
72
+ <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
73
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
74
+ <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
75
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
76
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
77
+ <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
78
+ </exec>
79
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
80
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
81
+ <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
82
+ </exec>
83
+ </target>
84
+
85
+ <target name="prepare">
86
+ <echo message="Removing and adding ${dirs.ncover_results}."/>
87
+ <delete dir="${dirs.ncover_results}" failonerror="false" />
88
+ <mkdir dir="${dirs.ncover_results}" />
89
+ </target>
90
+
91
+ <target name="get_test_dlls">
92
+ <echo message="Getting test dlls based on name in directory ${path::get-full-path(dirs.build.code)}." />
93
+ <property name="dll.names" value="" />
94
+ <foreach item="File" property="dll.filename">
95
+ <in>
96
+ <items>
97
+ <exclude name="${dirs.build.code}\*Database*dll" />
98
+ <exclude name="${dirs.build.code}\*.Integration*dll" />
99
+ <exclude name="${dirs.build.code}\TestFu.dll" />
100
+ <include name="${dirs.build.code}\*Test*dll" />
101
+ <include name="${dirs.build.code}\*Spec*dll" />
102
+ </items>
103
+ </in>
104
+ <do>
105
+ <property name="dll.names" value="${dll.names + ' ' + path::get-file-name(dll.filename)}" />
106
+ </do>
107
+ </foreach>
108
+
109
+ <property name="dlls.test" value="${dll.names}" />
110
+ <echo message="Running NCover against these test dlls - ${dlls.test}." />
111
+
112
+ <property name="args.test_runner" value="${dlls.test} ${test.args}" />
113
+ </target>
114
+
115
+ <target name="ncover" if="${file::exists(app.ncover) and file::exists(app.ncover.tester)}" >
116
+ <echo message="Attempting to run NCover. Creating file at ${file.ncover_results} and logging at ${file.ncover_log}." />
117
+ <ncover program="${app.ncover}"
118
+ commandLineExe="${app.ncover.tester}"
119
+ commandLineArgs="${args.test_runner}"
120
+ workingDirectory="${dirs.build.code}"
121
+ coverageFile="${file.ncover_results}"
122
+ logLevel="Normal"
123
+ logFile="${file.ncover_log}"
124
+ excludeAttributes="CoverageExcludeAttribute"
125
+ failonerror="false"
126
+ verbose="true">
127
+ <assemblies basedir="${dirs.build.code}">
128
+ <exclude name="${dirs.build.code}\TestFu.dll" />
129
+ <exclude name="${dirs.build.code}\*Test*dll" />
130
+ <exclude name="${dirs.build.code}\*Spec*dll" />
131
+ <include name="${dirs.build.code}\${project.name}*.dll" />
132
+ </assemblies>
133
+ </ncover>
134
+ </target>
135
+
136
+ <target name="ncover_explorer" depends="ncover" if="${file::exists(app.ncover.explorer)}" >
137
+ <echo message="Attempting to run NCoverExplorer. Creating HTML results file at ${file.html.code_coverage_results} and XML results file at ${file.xml.code_coverage_results}." />
138
+ <ncoverexplorer
139
+ program="${app.ncover.explorer}"
140
+ projectName="${project.name}"
141
+ reportType="4"
142
+ outputDir="${dirs.ncover_results}"
143
+ xmlReportName="${file.xml.code_coverage_results}"
144
+ htmlReportName="${file.html.code_coverage_results}"
145
+ showExcluded="True"
146
+ satisfactoryCoverage="${number.satisfactory_coverage}"
147
+ failMinimum="false"
148
+ failonerror="false"
149
+ >
150
+ <fileset>
151
+ <include name="${file.ncover_results}" />
152
+ </fileset>
153
+ <exclusions>
154
+ <exclusion enabled="true" isRegex="false" pattern="*Test*" type="Assembly" />
155
+ <exclusion enabled="true" isRegex="false" pattern="*Spec*" type="Assembly" />
156
+ <exclusion enabled="true" isRegex="false" pattern="*Test*" type="Namespace" />
157
+ <exclusion enabled="true" isRegex="false" pattern="*.My*" type="Namespace" />
158
+ <exclusion enabled="true" isRegex="false" pattern="*.bdd*" type="Namespace" />
159
+ <exclusion enabled="true" isRegex="false" pattern="when*" type="Class" />
160
+ <exclusion enabled="true" isRegex="false" pattern="concern*" type="Class" />
161
+ </exclusions>
162
+ </ncoverexplorer>
163
+ </target>
164
+
165
+ <target name="open_results">
166
+ <echo message="Opening results at ${path::get-full-path(dirs.ncover_results)}\${file.html.code_coverage_results}."/>
167
+ <exec
168
+ spawn="true"
169
+ program="${environment::get-folder-path('ProgramFiles')}\Internet Explorer\iexplore.exe"
170
+ commandline="${path::get-full-path(dirs.ncover_results)}\${file.html.code_coverage_results}"
171
+ >
172
+ </exec>
173
+ </target>
174
+
175
+ <target name="custom_tasks_after">
176
+ <echo message="Running custom tasks if ${file.custom.step.after} exists." />
177
+ <nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
178
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
179
+ <arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
180
+ </exec>
181
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
182
+ <arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
183
+ </exec>
184
+ </target>
185
+
186
+ </project>