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,468 @@
1
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
2
+ <!-- Created for NCoverExplorer by Grant Drake (see http://www.kiwidude.com/blog/) -->
3
+ <xsl:output method="html" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>
4
+
5
+ <xsl:template match="/">
6
+ <html>
7
+ <head>
8
+ <xsl:comment>Generated by NCoverExplorer (see http://www.kiwidude.com/blog/)</xsl:comment>
9
+ <title>NCoverExplorer - Merged Report</title>
10
+ <style>
11
+ body { font: small verdana, arial, helvetica; color:#000000; }
12
+ .coverageReportTable { font-size: 9px; }
13
+ .reportHeader { padding: 5px 8px 5px 8px; font-size: 12px; border: 1px solid; margin: 0px; }
14
+ .titleText { font-weight: bold; font-size: 12px; white-space: nowrap; padding: 0px; margin: 1px; }
15
+ .subtitleText { font-size: 9px; font-weight: normal; padding: 0px; margin: 1px; white-space: nowrap; }
16
+ .projectStatistics { font-size: 10px; border-left: #649cc0 1px solid; white-space: nowrap; width: 40%; }
17
+ .heading { font-weight: bold; }
18
+ .mainTableHeaderLeft { border: #dcdcdc 1px solid; font-weight: bold; padding-left: 5px; }
19
+ .mainTableHeader { border-bottom: 1px solid; border-top: 1px solid; border-right: 1px solid; text-align: center; }
20
+ .mainTableGraphHeader { border-bottom: 1px solid; border-top: 1px solid; border-right: 1px solid; text-align: left; font-weight: bold; }
21
+ .mainTableCellItem { background: #ffffff; border-left: #dcdcdc 1px solid; border-right: #dcdcdc 1px solid; padding-left: 10px; padding-right: 10px; font-weight: bold; font-size: 10px; }
22
+ .mainTableCellData { background: #ffffff; border-right: #dcdcdc 1px solid; text-align: center; white-space: nowrap; }
23
+ .mainTableCellPercent { background: #ffffff; font-weight: bold; white-space: nowrap; text-align: right; padding-left: 10px; }
24
+ .mainTableCellGraph { background: #ffffff; border-right: #dcdcdc 1px solid; padding-right: 5px; }
25
+ .mainTableCellBottom { border-bottom: #dcdcdc 1px solid; }
26
+ .childTableHeader { border-top: 1px solid; border-bottom: 1px solid; border-left: 1px solid; border-right: 1px solid; font-weight: bold; padding-left: 10px; }
27
+ .childTableCellIndentedItem { background: #ffffff; border-left: #dcdcdc 1px solid; border-right: #dcdcdc 1px solid; padding-right: 10px; font-size: 10px; }
28
+ .exclusionTableCellItem { background: #ffffff; border-left: #dcdcdc 1px solid; border-right: #dcdcdc 1px solid; padding-left: 10px; padding-right: 10px; }
29
+ .projectTable { background: #a9d9f7; border-color: #649cc0; }
30
+ .primaryTable { background: #d7eefd; border-color: #a4dafc; }
31
+ .secondaryTable { background: #f9e9b7; border-color: #f6d376; }
32
+ .secondaryChildTable { background: #fff6df; border-color: #f5e1b1; }
33
+ .exclusionTable { background: #fadada; border-color: #f37f7f; }
34
+ .graphBarNotVisited { font-size: 2px; border:#9c9c9c 1px solid; background:#df0000; }
35
+ .graphBarSatisfactory { font-size: 2px; border:#9c9c9c 1px solid; background:#f4f24e; }
36
+ .graphBarVisited { background: #00df00; font-size: 2px; border-left:#9c9c9c 1px solid; border-top:#9c9c9c 1px solid; border-bottom:#9c9c9c 1px solid; }
37
+ .graphBarVisitedFully { background: #00df00; font-size: 2px; border:#9c9c9c 1px solid; }
38
+ </style>
39
+ </head>
40
+ <body>
41
+ <table class="coverageReportTable" cellpadding="2" cellspacing="0">
42
+ <tbody>
43
+ <xsl:apply-templates select="//coverageReport" />
44
+ </tbody>
45
+ </table>
46
+ </body>
47
+ </html>
48
+ </xsl:template>
49
+
50
+ <!-- Main Project Section -->
51
+ <xsl:template match="//coverageReport">
52
+ <xsl:variable name="reportType" select="./@reportTitle" />
53
+ <xsl:variable name="threshold">
54
+ <xsl:choose>
55
+ <xsl:when test="$reportType = 'Module Class Function Summary'"><xsl:value-of select="./project/@acceptableFunction" /></xsl:when>
56
+ <xsl:otherwise><xsl:value-of select="./project/@acceptable" /></xsl:otherwise>
57
+ </xsl:choose>
58
+ </xsl:variable>
59
+ <xsl:variable name="unvisitedTitle">
60
+ <xsl:choose>
61
+ <xsl:when test="$reportType = 'Module Class Function Summary'">Unvisited Functions</xsl:when>
62
+ <xsl:otherwise>Unvisited SeqPts</xsl:otherwise>
63
+ </xsl:choose>
64
+ </xsl:variable>
65
+ <xsl:variable name="coverageTitle">
66
+ <xsl:choose>
67
+ <xsl:when test="$reportType = 'Module Class Function Summary'">Function Coverage</xsl:when>
68
+ <xsl:otherwise>Coverage</xsl:otherwise>
69
+ </xsl:choose>
70
+ </xsl:variable>
71
+
72
+ <xsl:call-template name="header" />
73
+
74
+ <xsl:call-template name="projectSummary">
75
+ <xsl:with-param name="threshold" select="$threshold" />
76
+ <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
77
+ <xsl:with-param name="coverageTitle" select="$coverageTitle" />
78
+ <xsl:with-param name="reportType" select="$reportType" />
79
+ </xsl:call-template>
80
+
81
+ <xsl:call-template name="moduleSummary">
82
+ <xsl:with-param name="threshold" select="$threshold" />
83
+ <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
84
+ <xsl:with-param name="coverageTitle" select="$coverageTitle" />
85
+ </xsl:call-template>
86
+
87
+ <xsl:if test="$reportType = 'Module Namespace Summary'">
88
+ <xsl:call-template name="moduleNamespaceSummary">
89
+ <xsl:with-param name="threshold" select="$threshold" />
90
+ </xsl:call-template>
91
+ </xsl:if>
92
+
93
+ <xsl:if test="($reportType = 'Module Class Summary') or ($reportType = 'Module Class Function Summary')">
94
+ <xsl:call-template name="classModuleSummary">
95
+ <xsl:with-param name="threshold" select="$threshold" />
96
+ <xsl:with-param name="unvisitedTitle" select="$unvisitedTitle" />
97
+ <xsl:with-param name="coverageTitle" select="$coverageTitle" />
98
+ </xsl:call-template>
99
+ </xsl:if>
100
+
101
+ <xsl:if test="count(./exclusions/exclusion) != 0">
102
+ <xsl:call-template name="exclusionsSummary" />
103
+ </xsl:if>
104
+
105
+ <xsl:call-template name="footer" />
106
+ </xsl:template>
107
+
108
+
109
+ <!-- Report Header -->
110
+ <xsl:template name="header">
111
+ <tr>
112
+ <td class="projectTable reportHeader" colspan="5">
113
+ <table width="100%">
114
+ <tbody>
115
+ <tr>
116
+ <td valign="top">
117
+ <h1 class="titleText">NCoverExplorer Coverage Report - <xsl:value-of select="./project/@name" />&#160;&#160;</h1>
118
+ <table cellpadding="1" class="subtitleText">
119
+ <tbody>
120
+ <tr>
121
+ <td class="heading">Report generated on:</td>
122
+ <td><xsl:value-of select="./@date" />&#160;at&#160;<xsl:value-of select="./@time" /></td>
123
+ </tr>
124
+ <tr>
125
+ <td class="heading">NCoverExplorer version:</td>
126
+ <td><xsl:value-of select="./@version" /></td>
127
+ </tr>
128
+ <tr>
129
+ <td class="heading">Filtering / Sorting:</td>
130
+ <td><xsl:value-of select="./project/@filteredBy" />&#160;/&#160;<xsl:value-of select="./project/@sortedBy" /></td>
131
+ </tr>
132
+ </tbody>
133
+ </table>
134
+ </td>
135
+ <td class="projectStatistics" align="right" valign="top">
136
+ <table cellpadding="1">
137
+ <tbody>
138
+ <tr>
139
+ <td rowspan="4" valign="top" nowrap="true" class="heading">Project Statistics:</td>
140
+ <td align="right" class="heading">Files:</td>
141
+ <td align="right"><xsl:value-of select="./project/@files" /></td>
142
+ <td rowspan="4">&#160;</td>
143
+ <td align="right" class="heading">NCLOC:</td>
144
+ <td align="right"><xsl:value-of select="./project/@nonCommentLines" /></td>
145
+ </tr>
146
+ <tr>
147
+ <td align="right" class="heading">Classes:</td>
148
+ <td align="right"><xsl:value-of select="./project/@classes" /></td>
149
+ <td align="right" class="heading">&#160;</td>
150
+ <td align="right">&#160;</td>
151
+ </tr>
152
+ <tr>
153
+ <td align="right" class="heading">Functions:</td>
154
+ <td align="right"><xsl:value-of select="./project/@members" /></td>
155
+ <td align="right" class="heading">Unvisited:</td>
156
+ <td align="right"><xsl:value-of select="./project/@unvisitedFunctions" /></td>
157
+ </tr>
158
+ <tr>
159
+ <td align="right" class="heading">Seq Pts:</td>
160
+ <td align="right"><xsl:value-of select="./project/@sequencePoints" /></td>
161
+ <td align="right" class="heading">Unvisited:</td>
162
+ <td align="right"><xsl:value-of select="./project/@unvisitedPoints" /></td>
163
+ </tr>
164
+ </tbody>
165
+ </table>
166
+ </td>
167
+ </tr>
168
+ </tbody>
169
+ </table>
170
+ </td>
171
+ </tr>
172
+ </xsl:template>
173
+
174
+ <!-- Project Summary -->
175
+ <xsl:template name="projectSummary">
176
+ <xsl:param name="threshold" />
177
+ <xsl:param name="unvisitedTitle" />
178
+ <xsl:param name="coverageTitle" />
179
+ <xsl:param name="reportType" />
180
+ <tr>
181
+ <td colspan="5">&#160;</td>
182
+ </tr>
183
+ <tr>
184
+ <td class="projectTable mainTableHeaderLeft">Project</td>
185
+ <td class="projectTable mainTableHeader">Acceptable</td>
186
+ <td class="projectTable mainTableHeader"><xsl:value-of select="$unvisitedTitle" /></td>
187
+ <td class="projectTable mainTableGraphHeader" colspan="2"><xsl:value-of select="$coverageTitle" /></td>
188
+ </tr>
189
+ <xsl:call-template name="coverageDetail">
190
+ <xsl:with-param name="name">
191
+ <xsl:choose>
192
+ <xsl:when test="string-length(./project/@name) > 0"><xsl:value-of select="./project/@name" /></xsl:when>
193
+ <xsl:otherwise>&#160;</xsl:otherwise>
194
+ </xsl:choose>
195
+ </xsl:with-param>
196
+ <xsl:with-param name="unvisitedPoints">
197
+ <xsl:choose>
198
+ <xsl:when test="$reportType = 'Module Class Function Summary'"><xsl:value-of select="./project/@unvisitedFunctions" /></xsl:when>
199
+ <xsl:otherwise><xsl:value-of select="./project/@unvisitedPoints" /></xsl:otherwise>
200
+ </xsl:choose>
201
+ </xsl:with-param>
202
+ <xsl:with-param name="sequencePoints">
203
+ <xsl:choose>
204
+ <xsl:when test="$reportType = 'Module Class Function Summary'"><xsl:value-of select="./project/@members" /></xsl:when>
205
+ <xsl:otherwise><xsl:value-of select="./project/@sequencePoints" /></xsl:otherwise>
206
+ </xsl:choose>
207
+ </xsl:with-param>
208
+ <xsl:with-param name="coverage">
209
+ <xsl:choose>
210
+ <xsl:when test="$reportType = 'Module Class Function Summary'"><xsl:value-of select="./project/@functionCoverage" /></xsl:when>
211
+ <xsl:otherwise><xsl:value-of select="./project/@coverage" /></xsl:otherwise>
212
+ </xsl:choose>
213
+ </xsl:with-param>
214
+ <xsl:with-param name="threshold" select="$threshold" />
215
+ <xsl:with-param name="showThreshold">True</xsl:with-param>
216
+ </xsl:call-template>
217
+ </xsl:template>
218
+
219
+ <!-- Modules Summary -->
220
+ <xsl:template name="moduleSummary">
221
+ <xsl:param name="threshold" />
222
+ <xsl:param name="unvisitedTitle" />
223
+ <xsl:param name="coverageTitle" />
224
+ <tr>
225
+ <td colspan="5">&#160;</td>
226
+ </tr>
227
+ <tr>
228
+ <td class="primaryTable mainTableHeaderLeft">Modules</td>
229
+ <td class="primaryTable mainTableHeader">Acceptable</td>
230
+ <td class="primaryTable mainTableHeader"><xsl:value-of select="$unvisitedTitle" /></td>
231
+ <td class="primaryTable mainTableGraphHeader" colspan="2"><xsl:value-of select="$coverageTitle" /></td>
232
+ </tr>
233
+ <xsl:for-each select="./modules/module">
234
+ <xsl:call-template name="coverageDetail">
235
+ <xsl:with-param name="name" select="./@name" />
236
+ <xsl:with-param name="unvisitedPoints" select="./@unvisitedPoints" />
237
+ <xsl:with-param name="sequencePoints" select="./@sequencePoints" />
238
+ <xsl:with-param name="coverage" select="./@coverage" />
239
+ <xsl:with-param name="threshold" select="./@acceptable" />
240
+ <xsl:with-param name="showThreshold">True</xsl:with-param>
241
+ </xsl:call-template>
242
+ </xsl:for-each>
243
+ </xsl:template>
244
+
245
+ <!-- Namespaces per Module Summary -->
246
+ <xsl:template name="moduleNamespaceSummary">
247
+ <xsl:param name="threshold" />
248
+ <xsl:for-each select="./modules/module">
249
+ <tr>
250
+ <td colspan="5">&#160;</td>
251
+ </tr>
252
+ <tr>
253
+ <td class="secondaryTable mainTableHeaderLeft">Module</td>
254
+ <td class="secondaryTable mainTableHeader">Acceptable</td>
255
+ <td class="secondaryTable mainTableHeader">Unvisited SeqPts</td>
256
+ <td class="secondaryTable mainTableGraphHeader" colspan="2">Coverage</td>
257
+ </tr>
258
+ <xsl:call-template name="coverageDetailSecondary">
259
+ <xsl:with-param name="name" select="./@name" />
260
+ <xsl:with-param name="unvisitedPoints" select="./@unvisitedPoints" />
261
+ <xsl:with-param name="sequencePoints" select="./@sequencePoints" />
262
+ <xsl:with-param name="coverage" select="./@coverage" />
263
+ <xsl:with-param name="threshold" select="./@acceptable" />
264
+ </xsl:call-template>
265
+ <tr>
266
+ <td class="secondaryChildTable childTableHeader" colspan="5">Namespaces</td>
267
+ </tr>
268
+ <xsl:for-each select="./namespace">
269
+ <xsl:call-template name="coverageIndentedDetail">
270
+ <xsl:with-param name="name" select="./@name" />
271
+ <xsl:with-param name="unvisitedPoints" select="./@unvisitedPoints" />
272
+ <xsl:with-param name="sequencePoints" select="./@sequencePoints" />
273
+ <xsl:with-param name="coverage" select="./@coverage" />
274
+ <xsl:with-param name="threshold" select="./../@acceptable" />
275
+ </xsl:call-template>
276
+ </xsl:for-each>
277
+ </xsl:for-each>
278
+ </xsl:template>
279
+
280
+ <!-- Classes per Namespace per Module Summary -->
281
+ <xsl:template name="classModuleSummary">
282
+ <xsl:param name="threshold" />
283
+ <xsl:param name="unvisitedTitle" />
284
+ <xsl:param name="coverageTitle" />
285
+ <xsl:for-each select="./modules/module">
286
+ <tr>
287
+ <td colspan="5">&#160;</td>
288
+ </tr>
289
+ <tr>
290
+ <td class="secondaryTable mainTableHeaderLeft">Module</td>
291
+ <td class="secondaryTable mainTableHeader">Acceptable</td>
292
+ <td class="secondaryTable mainTableHeader"><xsl:value-of select="$unvisitedTitle" /></td>
293
+ <td class="secondaryTable mainTableGraphHeader" colspan="2"><xsl:value-of select="$coverageTitle" /></td>
294
+ </tr>
295
+ <xsl:call-template name="coverageDetailSecondary">
296
+ <xsl:with-param name="name" select="./@name" />
297
+ <xsl:with-param name="unvisitedPoints" select="./@unvisitedPoints" />
298
+ <xsl:with-param name="sequencePoints" select="./@sequencePoints" />
299
+ <xsl:with-param name="coverage" select="./@coverage" />
300
+ <xsl:with-param name="threshold" select="./@acceptable" />
301
+ </xsl:call-template>
302
+ <tr>
303
+ <td class="secondaryChildTable childTableHeader" colspan="5">Namespace / Classes</td>
304
+ </tr>
305
+ <xsl:for-each select="./namespace">
306
+ <xsl:call-template name="coverageIndentedDetail">
307
+ <xsl:with-param name="name" select="./@name" />
308
+ <xsl:with-param name="unvisitedPoints" select="./@unvisitedPoints" />
309
+ <xsl:with-param name="sequencePoints" select="./@sequencePoints" />
310
+ <xsl:with-param name="coverage" select="./@coverage" />
311
+ <xsl:with-param name="threshold" select="../@acceptable" />
312
+ <xsl:with-param name="styleTweak">padding-left:20px;font-weight:bold</xsl:with-param>
313
+ </xsl:call-template>
314
+ <xsl:for-each select="./class">
315
+ <xsl:call-template name="coverageIndentedDetail">
316
+ <xsl:with-param name="name" select="./@name" />
317
+ <xsl:with-param name="unvisitedPoints" select="./@unvisitedPoints" />
318
+ <xsl:with-param name="sequencePoints" select="./@sequencePoints" />
319
+ <xsl:with-param name="coverage" select="./@coverage" />
320
+ <xsl:with-param name="threshold" select="../../@acceptable" />
321
+ <xsl:with-param name="styleTweak">padding-left:30px</xsl:with-param>
322
+ <xsl:with-param name="scale">160</xsl:with-param>
323
+ </xsl:call-template>
324
+ </xsl:for-each>
325
+ </xsl:for-each>
326
+ </xsl:for-each>
327
+ </xsl:template>
328
+
329
+ <!-- Coverage detail row in main grid displaying a name, statistics and graph bar -->
330
+ <xsl:template name="coverageDetail">
331
+ <xsl:param name="name" />
332
+ <xsl:param name="unvisitedPoints" />
333
+ <xsl:param name="sequencePoints" />
334
+ <xsl:param name="coverage" />
335
+ <xsl:param name="threshold" />
336
+ <xsl:param name="showThreshold" />
337
+ <tr>
338
+ <xsl:choose>
339
+ <xsl:when test="$showThreshold='True'">
340
+ <td class="mainTableCellBottom mainTableCellItem"><xsl:value-of select="$name" /></td>
341
+ <td class="mainTableCellBottom mainTableCellData"><xsl:value-of select="concat(format-number($threshold,'#0.0'), ' %')" /></td>
342
+ </xsl:when>
343
+ <xsl:otherwise>
344
+ <td class="mainTableCellBottom mainTableCellItem" colspan="2"><xsl:value-of select="$name" /></td>
345
+ </xsl:otherwise>
346
+ </xsl:choose>
347
+ <td class="mainTableCellBottom mainTableCellData"><xsl:value-of select="$unvisitedPoints" /></td>
348
+ <td class="mainTableCellBottom mainTableCellPercent"><xsl:value-of select="concat(format-number($coverage,'#0.0'), ' %')" /></td>
349
+ <td class="mainTableCellBottom mainTableCellGraph">
350
+ <xsl:call-template name="detailPercent">
351
+ <xsl:with-param name="notVisited" select="$unvisitedPoints" />
352
+ <xsl:with-param name="total" select="$sequencePoints" />
353
+ <xsl:with-param name="threshold" select="$threshold" />
354
+ <xsl:with-param name="scale" select="200" />
355
+ </xsl:call-template>
356
+ </td>
357
+ </tr>
358
+ </xsl:template>
359
+
360
+ <!-- Coverage detail row in secondary grid header displaying a name, statistics and graph bar -->
361
+ <xsl:template name="coverageDetailSecondary">
362
+ <xsl:param name="name" />
363
+ <xsl:param name="unvisitedPoints" />
364
+ <xsl:param name="sequencePoints" />
365
+ <xsl:param name="coverage" />
366
+ <xsl:param name="threshold" />
367
+ <tr>
368
+ <td class="mainTableCellItem"><xsl:value-of select="$name" /></td>
369
+ <td class="mainTableCellData"><xsl:value-of select="concat(format-number($threshold,'#0.0'), ' %')" /></td>
370
+ <td class="mainTableCellData"><xsl:value-of select="$unvisitedPoints" /></td>
371
+ <td class="mainTableCellPercent"><xsl:value-of select="concat(format-number($coverage,'#0.0'), ' %')" /></td>
372
+ <td class="mainTableCellGraph">
373
+ <xsl:call-template name="detailPercent">
374
+ <xsl:with-param name="notVisited" select="$unvisitedPoints" />
375
+ <xsl:with-param name="total" select="$sequencePoints" />
376
+ <xsl:with-param name="threshold" select="$threshold" />
377
+ <xsl:with-param name="scale" select="200" />
378
+ </xsl:call-template>
379
+ </td>
380
+ </tr>
381
+ </xsl:template>
382
+
383
+ <!-- Coverage detail row with indented item name and shrunk graph bar -->
384
+ <xsl:template name="coverageIndentedDetail">
385
+ <xsl:param name="name" />
386
+ <xsl:param name="unvisitedPoints" />
387
+ <xsl:param name="sequencePoints" />
388
+ <xsl:param name="coverage" />
389
+ <xsl:param name="threshold" />
390
+ <xsl:param name="styleTweak">padding-left:20px</xsl:param>
391
+ <xsl:param name="scale">180</xsl:param>
392
+ <tr>
393
+ <td class="mainTableCellBottom childTableCellIndentedItem" colspan="2"><xsl:attribute name="style"><xsl:value-of select="$styleTweak"/></xsl:attribute><xsl:value-of select="$name" /></td>
394
+ <td class="mainTableCellBottom mainTableCellData"><xsl:value-of select="$unvisitedPoints" /></td>
395
+ <td class="mainTableCellBottom mainTableCellPercent"><xsl:value-of select="concat(format-number($coverage,'#0.0'), ' %')" /></td>
396
+ <td class="mainTableCellBottom mainTableCellGraph">
397
+ <xsl:call-template name="detailPercent">
398
+ <xsl:with-param name="notVisited" select="$unvisitedPoints" />
399
+ <xsl:with-param name="total" select="$sequencePoints" />
400
+ <xsl:with-param name="threshold" select="$threshold" />
401
+ <xsl:with-param name="scale" select="$scale" />
402
+ </xsl:call-template>
403
+ </td>
404
+ </tr>
405
+ </xsl:template>
406
+
407
+ <!-- Exclusions Summary -->
408
+ <xsl:template name="exclusionsSummary">
409
+ <tr>
410
+ <td colspan="5">&#160;</td>
411
+ </tr>
412
+ <tr>
413
+ <td class="exclusionTable mainTableHeaderLeft" colspan="3">Excluded From Coverage Results</td>
414
+ <td class="exclusionTable mainTableGraphHeader" colspan="2">All Code Within</td>
415
+ </tr>
416
+ <xsl:for-each select="./exclusions/exclusion">
417
+ <tr>
418
+ <td class="mainTableCellBottom exclusionTableCellItem" colspan="3"><xsl:value-of select="@name" /></td>
419
+ <td class="mainTableCellBottom mainTableCellGraph" colspan="2"><xsl:value-of select="@category" /></td>
420
+ </tr>
421
+ </xsl:for-each>
422
+ </xsl:template>
423
+
424
+ <!-- Footer -->
425
+ <xsl:template name="footer">
426
+ <tr>
427
+ <td colspan="5">&#160;</td>
428
+ </tr>
429
+ </xsl:template>
430
+
431
+ <!-- Draw % Green/Red/Yellow Bar -->
432
+ <xsl:template name="detailPercent">
433
+ <xsl:param name="notVisited" />
434
+ <xsl:param name="total" />
435
+ <xsl:param name="threshold" />
436
+ <xsl:param name="scale" />
437
+ <xsl:variable name="visited" select="$total - $notVisited" />
438
+ <xsl:variable name="coverage" select="$visited div $total * 100"/>
439
+ <table cellpadding="0" cellspacing="0">
440
+ <tbody>
441
+ <tr>
442
+ <xsl:if test="$notVisited = 0">
443
+ <td class="graphBarVisitedFully" height="14">
444
+ <xsl:attribute name="width">
445
+ <xsl:value-of select="$scale" />
446
+ </xsl:attribute>.</td>
447
+ </xsl:if>
448
+ <xsl:if test="($visited != 0) and ($notVisited != 0)">
449
+ <td class="graphBarVisited" height="14">
450
+ <xsl:attribute name="width">
451
+ <xsl:value-of select="format-number($coverage div 100 * $scale, '0') - 1" />
452
+ </xsl:attribute>.</td>
453
+ </xsl:if>
454
+ <xsl:if test="$notVisited != 0">
455
+ <td height="14">
456
+ <xsl:attribute name="class">
457
+ <xsl:if test="$coverage &gt;= $threshold">graphBarSatisfactory</xsl:if>
458
+ <xsl:if test="$coverage &lt; $threshold">graphBarNotVisited</xsl:if>
459
+ </xsl:attribute>
460
+ <xsl:attribute name="width">
461
+ <xsl:value-of select="format-number($notVisited div $total * $scale, '0')" />
462
+ </xsl:attribute>.</td>
463
+ </xsl:if>
464
+ </tr>
465
+ </tbody>
466
+ </table>
467
+ </xsl:template>
468
+ </xsl:stylesheet>