uppercutbuild 0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>