tetra 0.46.0 → 0.48.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (223) hide show
  1. data/.rubocop.yml +6 -0
  2. data/README.md +5 -12
  3. data/SPECIAL_CASES.md +3 -74
  4. data/integration-tests/build-commons.sh +5 -8
  5. data/lib/template/kit/CONTENTS +4 -3
  6. data/lib/template/kit/apache-ant-1.9.4/INSTALL +2 -0
  7. data/lib/template/kit/apache-ant-1.9.4/KEYS +1497 -0
  8. data/lib/template/kit/apache-ant-1.9.4/LICENSE +272 -0
  9. data/lib/template/kit/apache-ant-1.9.4/NOTICE +9 -0
  10. data/lib/template/kit/apache-ant-1.9.4/README +97 -0
  11. data/lib/template/kit/apache-ant-1.9.4/WHATSNEW +6108 -0
  12. data/lib/template/kit/apache-ant-1.9.4/bin/ant +336 -0
  13. data/lib/template/kit/apache-ant-1.9.4/bin/ant.bat +218 -0
  14. data/lib/template/kit/apache-ant-1.9.4/bin/ant.cmd +93 -0
  15. data/lib/template/kit/apache-ant-1.9.4/bin/antRun +24 -0
  16. data/lib/template/kit/apache-ant-1.9.4/bin/antRun.bat +50 -0
  17. data/lib/template/kit/apache-ant-1.9.4/bin/antRun.pl +66 -0
  18. data/lib/template/kit/apache-ant-1.9.4/bin/antenv.cmd +98 -0
  19. data/lib/template/kit/apache-ant-1.9.4/bin/complete-ant-cmd.pl +114 -0
  20. data/lib/template/kit/apache-ant-1.9.4/bin/envset.cmd +131 -0
  21. data/lib/template/kit/apache-ant-1.9.4/bin/lcp.bat +31 -0
  22. data/lib/template/kit/apache-ant-1.9.4/bin/runant.pl +153 -0
  23. data/lib/template/kit/apache-ant-1.9.4/bin/runant.py +102 -0
  24. data/lib/template/kit/apache-ant-1.9.4/bin/runrc.cmd +60 -0
  25. data/lib/template/kit/apache-ant-1.9.4/etc/ant-bootstrap.jar +0 -0
  26. data/lib/template/kit/apache-ant-1.9.4/etc/changelog.xsl +148 -0
  27. data/lib/template/kit/apache-ant-1.9.4/etc/checkstyle/checkstyle-frames.xsl +299 -0
  28. data/lib/template/kit/apache-ant-1.9.4/etc/checkstyle/checkstyle-text.xsl +34 -0
  29. data/lib/template/kit/apache-ant-1.9.4/etc/checkstyle/checkstyle-xdoc.xsl +130 -0
  30. data/lib/template/kit/apache-ant-1.9.4/etc/coverage-frames.xsl +489 -0
  31. data/lib/template/kit/apache-ant-1.9.4/etc/jdepend-frames.xsl +487 -0
  32. data/lib/template/kit/apache-ant-1.9.4/etc/jdepend.xsl +276 -0
  33. data/lib/template/kit/apache-ant-1.9.4/etc/junit-frames-xalan1.xsl +745 -0
  34. data/lib/template/kit/apache-ant-1.9.4/etc/junit-frames.xsl +955 -0
  35. data/lib/template/kit/apache-ant-1.9.4/etc/junit-noframes.xsl +496 -0
  36. data/lib/template/kit/apache-ant-1.9.4/etc/log.xsl +203 -0
  37. data/lib/template/kit/apache-ant-1.9.4/etc/maudit-frames.xsl +503 -0
  38. data/lib/template/kit/apache-ant-1.9.4/etc/mmetrics-frames.xsl +1026 -0
  39. data/lib/template/kit/apache-ant-1.9.4/etc/tagdiff.xsl +179 -0
  40. data/lib/template/kit/apache-ant-1.9.4/fetch.xml +335 -0
  41. data/lib/template/kit/apache-ant-1.9.4/get-m2.xml +121 -0
  42. data/lib/template/kit/apache-ant-1.9.4/lib/README +3 -0
  43. data/lib/template/kit/apache-ant-1.9.4/lib/ant-antlr.jar +0 -0
  44. data/lib/template/kit/apache-ant-1.9.4/lib/ant-antlr.pom +75 -0
  45. data/lib/template/kit/apache-ant-1.9.4/lib/ant-apache-bcel.jar +0 -0
  46. data/lib/template/kit/apache-ant-1.9.4/lib/ant-apache-bcel.pom +71 -0
  47. data/lib/template/kit/apache-ant-1.9.4/lib/ant-apache-bsf.jar +0 -0
  48. data/lib/template/kit/apache-ant-1.9.4/lib/ant-apache-bsf.pom +74 -0
  49. data/lib/template/kit/apache-ant-1.9.4/lib/ant-apache-log4j.jar +0 -0
  50. data/lib/template/kit/apache-ant-1.9.4/lib/ant-apache-log4j.pom +69 -0
  51. data/lib/template/kit/apache-ant-1.9.4/lib/ant-apache-oro.jar +0 -0
  52. data/lib/template/kit/apache-ant-1.9.4/lib/ant-apache-oro.pom +74 -0
  53. data/lib/template/kit/apache-ant-1.9.4/lib/ant-apache-regexp.jar +0 -0
  54. data/lib/template/kit/apache-ant-1.9.4/lib/ant-apache-regexp.pom +70 -0
  55. data/lib/template/kit/apache-ant-1.9.4/lib/ant-apache-resolver.jar +0 -0
  56. data/lib/template/kit/apache-ant-1.9.4/lib/ant-apache-resolver.pom +69 -0
  57. data/lib/template/kit/apache-ant-1.9.4/lib/ant-apache-xalan2.jar +0 -0
  58. data/lib/template/kit/apache-ant-1.9.4/lib/ant-apache-xalan2.pom +94 -0
  59. data/lib/template/kit/apache-ant-1.9.4/lib/ant-commons-logging.jar +0 -0
  60. data/lib/template/kit/apache-ant-1.9.4/lib/ant-commons-logging.pom +70 -0
  61. data/lib/template/kit/apache-ant-1.9.4/lib/ant-commons-net.jar +0 -0
  62. data/lib/template/kit/apache-ant-1.9.4/lib/ant-commons-net.pom +75 -0
  63. data/lib/template/kit/apache-ant-1.9.4/lib/ant-jai.jar +0 -0
  64. data/lib/template/kit/apache-ant-1.9.4/lib/ant-jai.pom +85 -0
  65. data/lib/template/kit/apache-ant-1.9.4/lib/ant-javamail.jar +0 -0
  66. data/lib/template/kit/apache-ant-1.9.4/lib/ant-javamail.pom +78 -0
  67. data/lib/template/kit/apache-ant-1.9.4/lib/ant-jdepend.jar +0 -0
  68. data/lib/template/kit/apache-ant-1.9.4/lib/ant-jdepend.pom +72 -0
  69. data/lib/template/kit/apache-ant-1.9.4/lib/ant-jmf.jar +0 -0
  70. data/lib/template/kit/apache-ant-1.9.4/lib/ant-jmf.pom +65 -0
  71. data/lib/template/kit/apache-ant-1.9.4/lib/ant-jsch.jar +0 -0
  72. data/lib/template/kit/apache-ant-1.9.4/lib/ant-jsch.pom +74 -0
  73. data/lib/template/kit/apache-ant-1.9.4/lib/ant-junit.jar +0 -0
  74. data/lib/template/kit/apache-ant-1.9.4/lib/ant-junit.pom +101 -0
  75. data/lib/template/kit/apache-ant-1.9.4/lib/ant-junit4.jar +0 -0
  76. data/lib/template/kit/apache-ant-1.9.4/lib/ant-junit4.pom +71 -0
  77. data/lib/template/kit/apache-ant-1.9.4/lib/ant-launcher.jar +0 -0
  78. data/lib/template/kit/apache-ant-1.9.4/lib/ant-launcher.pom +57 -0
  79. data/lib/template/kit/apache-ant-1.9.4/lib/ant-netrexx.jar +0 -0
  80. data/lib/template/kit/apache-ant-1.9.4/lib/ant-netrexx.pom +98 -0
  81. data/lib/template/kit/apache-ant-1.9.4/lib/ant-parent.pom +151 -0
  82. data/lib/template/kit/apache-ant-1.9.4/lib/ant-swing.jar +0 -0
  83. data/lib/template/kit/apache-ant-1.9.4/lib/ant-swing.pom +66 -0
  84. data/lib/template/kit/apache-ant-1.9.4/lib/ant-testutil.jar +0 -0
  85. data/lib/template/kit/apache-ant-1.9.4/lib/ant-testutil.pom +74 -0
  86. data/lib/template/kit/apache-ant-1.9.4/lib/ant.jar +0 -0
  87. data/lib/template/kit/apache-ant-1.9.4/lib/ant.pom +225 -0
  88. data/lib/template/kit/apache-ant-1.9.4/lib/libraries.properties +65 -0
  89. data/lib/template/kit/apache-maven-3.2.5/LICENSE +302 -0
  90. data/lib/template/kit/apache-maven-3.2.5/NOTICE +8 -0
  91. data/lib/template/kit/apache-maven-3.2.5/README.txt +77 -0
  92. data/lib/template/kit/apache-maven-3.2.5/bin/m2.conf +8 -0
  93. data/lib/template/kit/apache-maven-3.2.5/bin/mvn +202 -0
  94. data/lib/template/kit/apache-maven-3.2.5/bin/mvn.bat +197 -0
  95. data/lib/template/kit/apache-maven-3.2.5/bin/mvnDebug +200 -0
  96. data/lib/template/kit/apache-maven-3.2.5/bin/mvnDebug.bat +200 -0
  97. data/lib/template/kit/apache-maven-3.2.5/bin/mvnyjp +207 -0
  98. data/lib/template/kit/apache-maven-3.2.5/boot/plexus-classworlds-2.5.2.jar +0 -0
  99. data/lib/template/kit/apache-maven-3.2.5/conf/logging/simplelogger.properties +25 -0
  100. data/lib/template/kit/apache-maven-3.2.5/conf/settings.xml +257 -0
  101. data/lib/template/kit/apache-maven-3.2.5/lib/aether-api-1.0.0.v20140518.jar +0 -0
  102. data/lib/template/kit/apache-maven-3.2.5/lib/aether-api.license +261 -0
  103. data/lib/template/kit/apache-maven-3.2.5/lib/aether-connector-basic-1.0.0.v20140518.jar +0 -0
  104. data/lib/template/kit/apache-maven-3.2.5/lib/aether-connector-basic.license +261 -0
  105. data/lib/template/kit/apache-maven-3.2.5/lib/aether-impl-1.0.0.v20140518.jar +0 -0
  106. data/lib/template/kit/apache-maven-3.2.5/lib/aether-impl.license +261 -0
  107. data/lib/template/kit/apache-maven-3.2.5/lib/aether-spi-1.0.0.v20140518.jar +0 -0
  108. data/lib/template/kit/apache-maven-3.2.5/lib/aether-spi.license +261 -0
  109. data/lib/template/kit/apache-maven-3.2.5/lib/aether-transport-wagon-1.0.0.v20140518.jar +0 -0
  110. data/lib/template/kit/apache-maven-3.2.5/lib/aether-transport-wagon.license +261 -0
  111. data/lib/template/kit/apache-maven-3.2.5/lib/aether-util-1.0.0.v20140518.jar +0 -0
  112. data/lib/template/kit/apache-maven-3.2.5/lib/aether-util.license +261 -0
  113. data/lib/template/kit/apache-maven-3.2.5/lib/aopalliance-1.0.jar +0 -0
  114. data/lib/template/kit/apache-maven-3.2.5/lib/cdi-api-1.0.jar +0 -0
  115. data/lib/template/kit/apache-maven-3.2.5/lib/cdi-api.license +445 -0
  116. data/lib/template/kit/apache-maven-3.2.5/lib/commons-cli-1.2.jar +0 -0
  117. data/lib/template/kit/apache-maven-3.2.5/lib/commons-io-2.2.jar +0 -0
  118. data/lib/template/kit/apache-maven-3.2.5/lib/commons-lang-2.6.jar +0 -0
  119. data/lib/template/kit/apache-maven-3.2.5/lib/ext/README.txt +2 -0
  120. data/lib/template/kit/apache-maven-3.2.5/lib/guava-18.0.jar +0 -0
  121. data/lib/template/kit/apache-maven-3.2.5/lib/javax.inject-1.jar +0 -0
  122. data/lib/template/kit/apache-maven-3.2.5/lib/jsoup-1.7.2.jar +0 -0
  123. data/lib/template/kit/apache-maven-3.2.5/lib/jsoup.license +66 -0
  124. data/lib/template/kit/apache-maven-3.2.5/lib/jsr250-api-1.0.jar +0 -0
  125. data/lib/template/kit/apache-maven-3.2.5/lib/jsr250-api.license +406 -0
  126. data/lib/template/kit/apache-maven-3.2.5/lib/maven-aether-provider-3.2.5.jar +0 -0
  127. data/lib/template/kit/apache-maven-3.2.5/lib/maven-aether-provider.license +202 -0
  128. data/lib/template/kit/apache-maven-3.2.5/lib/maven-artifact-3.2.5.jar +0 -0
  129. data/lib/template/kit/apache-maven-3.2.5/lib/maven-artifact.license +202 -0
  130. data/lib/template/kit/apache-maven-3.2.5/lib/maven-compat-3.2.5.jar +0 -0
  131. data/lib/template/kit/apache-maven-3.2.5/lib/maven-compat.license +202 -0
  132. data/lib/template/kit/apache-maven-3.2.5/lib/maven-core-3.2.5.jar +0 -0
  133. data/lib/template/kit/apache-maven-3.2.5/lib/maven-core.license +202 -0
  134. data/lib/template/kit/apache-maven-3.2.5/lib/maven-embedder-3.2.5.jar +0 -0
  135. data/lib/template/kit/apache-maven-3.2.5/lib/maven-embedder.license +202 -0
  136. data/lib/template/kit/apache-maven-3.2.5/lib/maven-model-3.2.5.jar +0 -0
  137. data/lib/template/kit/apache-maven-3.2.5/lib/maven-model-builder-3.2.5.jar +0 -0
  138. data/lib/template/kit/apache-maven-3.2.5/lib/maven-model-builder.license +202 -0
  139. data/lib/template/kit/apache-maven-3.2.5/lib/maven-model.license +202 -0
  140. data/lib/template/kit/apache-maven-3.2.5/lib/maven-plugin-api-3.2.5.jar +0 -0
  141. data/lib/template/kit/apache-maven-3.2.5/lib/maven-plugin-api.license +202 -0
  142. data/lib/template/kit/apache-maven-3.2.5/lib/maven-repository-metadata-3.2.5.jar +0 -0
  143. data/lib/template/kit/apache-maven-3.2.5/lib/maven-repository-metadata.license +202 -0
  144. data/lib/template/kit/apache-maven-3.2.5/lib/maven-settings-3.2.5.jar +0 -0
  145. data/lib/template/kit/apache-maven-3.2.5/lib/maven-settings-builder-3.2.5.jar +0 -0
  146. data/lib/template/kit/apache-maven-3.2.5/lib/maven-settings-builder.license +202 -0
  147. data/lib/template/kit/apache-maven-3.2.5/lib/maven-settings.license +202 -0
  148. data/lib/template/kit/apache-maven-3.2.5/lib/org.eclipse.sisu.inject-0.3.0.M1.jar +0 -0
  149. data/lib/template/kit/apache-maven-3.2.5/lib/org.eclipse.sisu.inject.license +261 -0
  150. data/lib/template/kit/apache-maven-3.2.5/lib/org.eclipse.sisu.plexus-0.3.0.M1.jar +0 -0
  151. data/lib/template/kit/apache-maven-3.2.5/lib/org.eclipse.sisu.plexus.license +261 -0
  152. data/lib/template/kit/apache-maven-3.2.5/lib/plexus-cipher-1.7.jar +0 -0
  153. data/lib/template/kit/apache-maven-3.2.5/lib/plexus-cipher.license +445 -0
  154. data/lib/template/kit/apache-maven-3.2.5/lib/plexus-component-annotations-1.5.5.jar +0 -0
  155. data/lib/template/kit/apache-maven-3.2.5/lib/plexus-interpolation-1.21.jar +0 -0
  156. data/lib/template/kit/apache-maven-3.2.5/lib/plexus-sec-dispatcher-1.3.jar +0 -0
  157. data/lib/template/kit/apache-maven-3.2.5/lib/plexus-sec-dispatcher.license +445 -0
  158. data/lib/template/kit/apache-maven-3.2.5/lib/plexus-utils-3.0.20.jar +0 -0
  159. data/lib/template/kit/apache-maven-3.2.5/lib/sisu-guice-3.2.3-no_aop.jar +0 -0
  160. data/lib/template/kit/apache-maven-3.2.5/lib/slf4j-api-1.7.5.jar +0 -0
  161. data/lib/template/kit/apache-maven-3.2.5/lib/slf4j-api.license +190 -0
  162. data/lib/template/kit/apache-maven-3.2.5/lib/slf4j-simple-1.7.5.jar +0 -0
  163. data/lib/template/kit/apache-maven-3.2.5/lib/slf4j-simple.license +190 -0
  164. data/lib/template/kit/apache-maven-3.2.5/lib/wagon-file-2.8.jar +0 -0
  165. data/lib/template/kit/apache-maven-3.2.5/lib/wagon-file.license +202 -0
  166. data/lib/template/kit/apache-maven-3.2.5/lib/wagon-http-2.8-shaded.jar +0 -0
  167. data/lib/template/kit/apache-maven-3.2.5/lib/wagon-http-shared-2.8.jar +0 -0
  168. data/lib/template/kit/apache-maven-3.2.5/lib/wagon-http-shared.license +202 -0
  169. data/lib/template/kit/apache-maven-3.2.5/lib/wagon-http.license +202 -0
  170. data/lib/template/kit/apache-maven-3.2.5/lib/wagon-provider-api-2.8.jar +0 -0
  171. data/lib/template/kit/apache-maven-3.2.5/lib/wagon-provider-api.license +202 -0
  172. data/lib/tetra.rb +30 -29
  173. data/lib/tetra/facades/ant.rb +27 -0
  174. data/lib/tetra/{git.rb → facades/git.rb} +29 -24
  175. data/lib/tetra/facades/mvn.rb +44 -0
  176. data/lib/tetra/facades/process_runner.rb +65 -0
  177. data/lib/tetra/facades/tar.rb +20 -0
  178. data/lib/tetra/{kit_runner.rb → kit.rb} +3 -10
  179. data/lib/tetra/main.rb +12 -36
  180. data/lib/tetra/maven_website.rb +1 -1
  181. data/lib/tetra/packages/archivable.rb +3 -11
  182. data/lib/tetra/packages/{kit.rb → kit_package.rb} +1 -1
  183. data/lib/tetra/packages/{built_package.rb → package.rb} +2 -2
  184. data/lib/tetra/packages/scriptable.rb +27 -15
  185. data/lib/tetra/project.rb +18 -14
  186. data/lib/tetra/{commands/ant.rb → ui/ant_subcommand.rb} +5 -5
  187. data/lib/tetra/ui/dry_run_subcommand.rb +44 -0
  188. data/lib/tetra/{commands/generate_all.rb → ui/generate_all_subcommand.rb} +5 -5
  189. data/lib/tetra/{commands/generate_archive.rb → ui/generate_archive_subcommand.rb} +2 -2
  190. data/lib/tetra/{commands/generate_kit.rb → ui/generate_kit_subcommand.rb} +2 -2
  191. data/lib/tetra/{commands/generate_script.rb → ui/generate_script_subcommand.rb} +2 -2
  192. data/lib/tetra/{commands/generate_spec.rb → ui/generate_spec_subcommand.rb} +2 -2
  193. data/lib/tetra/{commands/get_pom.rb → ui/get_pom_subcommand.rb} +1 -1
  194. data/lib/tetra/{commands/init.rb → ui/init_subcommand.rb} +1 -1
  195. data/lib/tetra/{commands/move_jars_to_kit.rb → ui/move_jars_to_kit_subcommand.rb} +1 -1
  196. data/lib/tetra/{commands/mvn.rb → ui/mvn_subcommand.rb} +5 -5
  197. data/lib/tetra/{commands/base.rb → ui/subcommand.rb} +19 -6
  198. data/lib/tetra/version.rb +1 -1
  199. data/spec/lib/ant_spec.rb +36 -0
  200. data/spec/lib/archivable_spec.rb +1 -1
  201. data/spec/lib/built_package_spec.rb +6 -6
  202. data/spec/lib/kit_package_spec.rb +47 -0
  203. data/spec/lib/kit_spec.rb +8 -28
  204. data/spec/lib/mvn_spec.rb +47 -0
  205. data/spec/lib/project_spec.rb +11 -11
  206. data/spec/lib/scriptable_spec.rb +8 -16
  207. data/spec/spec_helper.rb +13 -4
  208. data/tetra.gemspec +1 -0
  209. metadata +207 -31
  210. data/lib/tetra/ant_runner.rb +0 -27
  211. data/lib/tetra/commands/download_maven_source_jars.rb +0 -29
  212. data/lib/tetra/commands/dry_run.rb +0 -17
  213. data/lib/tetra/commands/finish.rb +0 -22
  214. data/lib/tetra/commands/get_source.rb +0 -30
  215. data/lib/tetra/commands/list_kit_missing_sources.rb +0 -21
  216. data/lib/tetra/kit_checker.rb +0 -104
  217. data/lib/tetra/maven_runner.rb +0 -43
  218. data/lib/tetra/source_getter.rb +0 -41
  219. data/spec/lib/ant_runner_spec.rb +0 -45
  220. data/spec/lib/kit_checker_spec.rb +0 -119
  221. data/spec/lib/maven_runner_spec.rb +0 -68
  222. data/spec/lib/source_getter_spec.rb +0 -36
  223. data/spec/support/kit_runner_examples.rb +0 -15
@@ -0,0 +1,487 @@
1
+ <?xml version="1.0"?>
2
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
3
+ xmlns:lxslt="http://xml.apache.org/xslt"
4
+ xmlns:redirect="org.apache.xalan.lib.Redirect"
5
+ extension-element-prefixes="redirect">
6
+ <xsl:output method="html" indent="yes" encoding="US-ASCII"/>
7
+ <!--
8
+ Licensed to the Apache Software Foundation (ASF) under one or more
9
+ contributor license agreements. See the NOTICE file distributed with
10
+ this work for additional information regarding copyright ownership.
11
+ The ASF licenses this file to You under the Apache License, Version 2.0
12
+ (the "License"); you may not use this file except in compliance with
13
+ the License. You may obtain a copy of the License at
14
+
15
+ http://www.apache.org/licenses/LICENSE-2.0
16
+
17
+ Unless required by applicable law or agreed to in writing, software
18
+ distributed under the License is distributed on an "AS IS" BASIS,
19
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
+ See the License for the specific language governing permissions and
21
+ limitations under the License.
22
+
23
+ -->
24
+ <!--
25
+
26
+ Sample stylesheet to be used with JDepend XML output.
27
+
28
+ It creates a set of HTML files a la javadoc where you can browse easily
29
+ through all packages and classes.
30
+
31
+ @author <a href="mailto:jtulley@novell.com">Jeff Tulley</a>
32
+
33
+ -->
34
+ <xsl:param name="output.dir" select="'.'"/>
35
+
36
+ <xsl:template match="JDepend">
37
+ <!-- create the index.html -->
38
+ <redirect:write file="{$output.dir}/index.html">
39
+ <xsl:call-template name="index.html"/>
40
+ </redirect:write>
41
+
42
+ <!-- create the stylesheet.css -->
43
+ <redirect:write file="{$output.dir}/stylesheet.css">
44
+ <xsl:call-template name="stylesheet.css"/>
45
+ </redirect:write>
46
+
47
+ <!-- create the overview-packages.html at the root -->
48
+ <redirect:write file="{$output.dir}/overview-summary.html">
49
+ <xsl:apply-templates select="." mode="overview.packages"/>
50
+ </redirect:write>
51
+
52
+ <!-- create the overview-packages.html at the root -->
53
+ <redirect:write file="{$output.dir}/overview-packages.html">
54
+ <xsl:apply-templates select="." mode="packages.details"/>
55
+ </redirect:write>
56
+
57
+ <!-- create the overview-cycles.html at the root -->
58
+ <redirect:write file="{$output.dir}/overview-cycles.html">
59
+ <xsl:apply-templates select="." mode="cycles.details"/>
60
+ </redirect:write>
61
+
62
+ <!-- create the overview-cycles.html at the root -->
63
+ <redirect:write file="{$output.dir}/overview-explanations.html">
64
+ <xsl:apply-templates select="." mode="explanations"/>
65
+ </redirect:write>
66
+
67
+ <!-- create the all-packages.html at the root -->
68
+ <redirect:write file="{$output.dir}/all-packages.html">
69
+ <xsl:apply-templates select="Packages" mode="all.packages"/>
70
+ </redirect:write>
71
+
72
+ <!-- create the all-cycles.html at the root -->
73
+ <redirect:write file="{$output.dir}/all-cycles.html">
74
+ <xsl:apply-templates select="Cycles" mode="all.cycles"/>
75
+ </redirect:write>
76
+ </xsl:template>
77
+
78
+
79
+ <xsl:template name="index.html">
80
+ <html>
81
+ <head>
82
+ <title>JDepend Analysis</title>
83
+ </head>
84
+ <frameset cols="20%,80%">
85
+ <frameset rows="30%,70%">
86
+ <frame src="all-packages.html" name="packageListFrame"/>
87
+ <frame src="all-cycles.html" name="classListFrame"/>
88
+ </frameset>
89
+ <frame src="overview-summary.html" name="classFrame"/>
90
+ </frameset>
91
+ <noframes>
92
+ <h2>Frame Alert</h2>
93
+ <p>
94
+ This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
95
+ </p>
96
+ </noframes>
97
+ </html>
98
+ </xsl:template>
99
+
100
+ <!-- this is the stylesheet css to use for nearly everything -->
101
+ <xsl:template name="stylesheet.css">
102
+ <style type="text/css">
103
+ body {
104
+ font:normal 68% verdana,arial,helvetica;
105
+ color:#000000;
106
+ }
107
+ table tr td, tr th {
108
+ font-size: 68%;
109
+ }
110
+ table.details tr th{
111
+ font-weight: bold;
112
+ text-align:left;
113
+ background:#a6caf0;
114
+ }
115
+ table.details tr td{
116
+ background:#eeeee0;
117
+ }
118
+
119
+ p {
120
+ line-height:1.5em;
121
+ margin-top:0.5em; margin-bottom:1.0em;
122
+ margin-left:2em;
123
+ margin-right:2em;
124
+ }
125
+ h1 {
126
+ margin: 0px 0px 5px; font: 165% verdana,arial,helvetica
127
+ }
128
+ h2 {
129
+ margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica
130
+ }
131
+ h3 {
132
+ margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica
133
+ }
134
+ h4 {
135
+ margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
136
+ }
137
+ h5 {
138
+ margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
139
+ }
140
+ h6 {
141
+ margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
142
+ }
143
+ .Error {
144
+ font-weight:bold; color:red;
145
+ }
146
+ .Failure {
147
+ font-weight:bold; color:purple;
148
+ }
149
+ .Properties {
150
+ text-align:right;
151
+ }
152
+ </style>
153
+ </xsl:template>
154
+
155
+ <xsl:template match="JDepend" mode="overview.packages">
156
+ <html>
157
+ <head>
158
+ <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
159
+ </head>
160
+ <body>
161
+ <xsl:call-template name="pageHeader"/>
162
+ <table width="100%"><tr align="left"><h2>Summary</h2><td>
163
+ </td><td align="right">
164
+ [summary]
165
+ [<a href="overview-packages.html">packages</a>]
166
+ [<a href="overview-cycles.html">cycles</a>]
167
+ [<a href="overview-explanations.html">explanations</a>]
168
+ </td></tr></table>
169
+ <table width="100%" class="details">
170
+ <tr>
171
+ <th>Package</th>
172
+ <th>Total Classes</th>
173
+ <th><a href="overview-explanations.html#EXnumber">Abstract Classes</a></th>
174
+ <th><a href="overview-explanations.html#EXnumber">Concrete Classes</a></th>
175
+ <th><a href="overview-explanations.html#EXafferent">Afferent Couplings</a></th>
176
+ <th><a href="overview-explanations.html#EXefferent">Efferent Couplings</a></th>
177
+ <th><a href="overview-explanations.html#EXabstractness">Abstractness</a></th>
178
+ <th><a href="overview-explanations.html#EXinstability">Instability</a></th>
179
+ <th><a href="overview-explanations.html#EXdistance">Distance</a></th>
180
+
181
+ </tr>
182
+ <xsl:for-each select="./Packages/Package">
183
+ <xsl:if test="count(error) = 0">
184
+ <tr>
185
+ <td align="left">
186
+ <a>
187
+ <xsl:attribute name="href">overview-packages.html#PK<xsl:value-of select="@name"/>
188
+ </xsl:attribute>
189
+ <xsl:value-of select="@name"/>
190
+ </a>
191
+ </td>
192
+ <td align="right"><xsl:value-of select="Stats/TotalClasses"/></td>
193
+ <td align="right"><xsl:value-of select="Stats/AbstractClasses"/></td>
194
+ <td align="right"><xsl:value-of select="Stats/ConcreteClasses"/></td>
195
+ <td align="right"><xsl:value-of select="Stats/Ca"/></td>
196
+ <td align="right"><xsl:value-of select="Stats/Ce"/></td>
197
+ <td align="right"><xsl:value-of select="Stats/A"/></td>
198
+ <td align="right"><xsl:value-of select="Stats/I"/></td>
199
+ <td align="right"><xsl:value-of select="Stats/D"/></td>
200
+ </tr>
201
+ </xsl:if>
202
+ </xsl:for-each>
203
+ <xsl:for-each select="./Packages/Package">
204
+ <xsl:if test="count(error) &gt; 0">
205
+ <tr>
206
+ <td align="left">
207
+ <xsl:value-of select="@name"/>
208
+ </td>
209
+ <td align="left" colspan="8"><xsl:value-of select="error"/></td>
210
+ </tr>
211
+ </xsl:if>
212
+ </xsl:for-each>
213
+ </table>
214
+ </body>
215
+ </html>
216
+ </xsl:template>
217
+
218
+ <xsl:template match="JDepend" mode="packages.details">
219
+ <html>
220
+ <head>
221
+ <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
222
+ </head>
223
+ <body>
224
+ <xsl:call-template name="pageHeader"/>
225
+ <table width="100%"><tr align="left"><h2>Packages</h2><td>
226
+ </td><td align="right">
227
+ [<a href="overview-summary.html">summary</a>]
228
+ [packages]
229
+ [<a href="overview-cycles.html">cycles</a>]
230
+ [<a href="overview-explanations.html">explanations</a>]
231
+ </td></tr></table>
232
+
233
+ <xsl:for-each select="./Packages/Package">
234
+ <xsl:if test="count(error) = 0">
235
+ <h3><a><xsl:attribute name="name">PK<xsl:value-of select="@name"/></xsl:attribute>
236
+ <xsl:value-of select="@name"/></a></h3>
237
+
238
+ <table width="100%"><tr>
239
+ <td><a href="overview-explanations.html#EXafferent">Afferent Couplings</a>: <xsl:value-of select="Stats/Ca"/></td>
240
+ <td><a href="overview-explanations.html#EXefferent">Efferent Couplings</a>: <xsl:value-of select="Stats/Ce"/></td>
241
+ <td><a href="overview-explanations.html#EXabstractness">Abstractness</a>: <xsl:value-of select="Stats/A"/></td>
242
+ <td><a href="overview-explanations.html#EXinstability">Instability</a>: <xsl:value-of select="Stats/I"/></td>
243
+ <td><a href="overview-explanations.html#EXdistance">Distance</a>: <xsl:value-of select="Stats/D"/></td>
244
+ </tr></table>
245
+
246
+ <table width="100%" class="details">
247
+ <tr>
248
+ <th>Abstract Classes</th>
249
+ <th>Concrete Classes</th>
250
+ <th>Used by Packages</th>
251
+ <th>Uses Packages</th>
252
+ </tr>
253
+ <tr>
254
+ <td valign="top" width="25%">
255
+ <xsl:if test="count(AbstractClasses/Class)=0">
256
+ <i>None</i>
257
+ </xsl:if>
258
+ <xsl:for-each select="AbstractClasses/Class">
259
+ <xsl:value-of select="node()"/><br/>
260
+ </xsl:for-each>
261
+ </td>
262
+ <td valign="top" width="25%">
263
+ <xsl:if test="count(ConcreteClasses/Class)=0">
264
+ <i>None</i>
265
+ </xsl:if>
266
+ <xsl:for-each select="ConcreteClasses/Class">
267
+ <xsl:value-of select="node()"/><br/>
268
+ </xsl:for-each>
269
+ </td>
270
+ <td valign="top" width="25%">
271
+ <xsl:if test="count(UsedBy/Package)=0">
272
+ <i>None</i>
273
+ </xsl:if>
274
+ <xsl:for-each select="UsedBy/Package">
275
+ <a>
276
+ <xsl:attribute name="href">overview-packages.html#PK<xsl:value-of select="node()"/></xsl:attribute>
277
+ <xsl:value-of select="node()"/>
278
+ </a><br/>
279
+ </xsl:for-each>
280
+ </td>
281
+ <td valign="top" width="25%">
282
+ <xsl:if test="count(DependsUpon/Package)=0">
283
+ <i>None</i>
284
+ </xsl:if>
285
+ <xsl:for-each select="DependsUpon/Package">
286
+ <a>
287
+ <xsl:attribute name="href">overview-packages.html#PK<xsl:value-of select="node()"/></xsl:attribute>
288
+ <xsl:value-of select="node()"/>
289
+ </a><br/>
290
+ </xsl:for-each>
291
+ </td>
292
+ </tr>
293
+ </table>
294
+ </xsl:if>
295
+ </xsl:for-each>
296
+ <!-- this is often a long listing; provide a lower navigation table also -->
297
+ <table width="100%"><tr align="left"><td></td><td align="right">
298
+ [<a href="overview-summary.html">summary</a>]
299
+ [packages]
300
+ [<a href="overview-cycles.html">cycles</a>]
301
+ [<a href="overview-explanations.html">explanations</a>]
302
+ </td></tr></table>
303
+ </body>
304
+ </html>
305
+ </xsl:template>
306
+
307
+ <xsl:template match="JDepend" mode="cycles.details">
308
+ <html>
309
+ <head>
310
+ <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
311
+ </head>
312
+ <body>
313
+ <xsl:call-template name="pageHeader"/>
314
+ <table width="100%"><tr align="left"><h2>Cycles</h2><td>
315
+ </td><td align="right">
316
+ [<a href="overview-summary.html">summary</a>]
317
+ [<a href="overview-packages.html">packages</a>]
318
+ [cycles]
319
+ [<a href="overview-explanations.html">explanations</a>]
320
+ </td></tr></table>
321
+ <!--<table width="100%"><tr><td>
322
+ </td><td align="right">
323
+ [<a href="#NVsummary">summary</a>]
324
+ [<a href="#NVpackages">packages</a>]
325
+ [<a href="#NVcycles">cycles</a>]
326
+ [<a href="#NVexplanations">explanations</a>]
327
+ </td></tr></table> -->
328
+
329
+ <xsl:if test="count(Cycles/Package) = 0">
330
+ <p>There are no cyclic dependancies.</p>
331
+ </xsl:if>
332
+ <xsl:for-each select="Cycles/Package">
333
+ <h3><a><xsl:attribute name="name">#CY<xsl:value-of select="@Name"/></xsl:attribute><xsl:value-of select="@Name"/></a></h3><p>
334
+ <xsl:for-each select="Package">
335
+ <xsl:value-of select="."/><br/>
336
+ </xsl:for-each></p>
337
+ </xsl:for-each>
338
+ <!-- this is often a long listing; provide a lower navigation table also -->
339
+ <table width="100%"><tr align="left"><td></td><td align="right">
340
+ [<a href="overview-summary.html">summary</a>]
341
+ [<a href="overview-packages.html">packages</a>]
342
+ [cycles]
343
+ [<a href="overview-explanations.html">explanations</a>]
344
+ </td></tr></table>
345
+ </body>
346
+ </html>
347
+ </xsl:template>
348
+
349
+ <xsl:template match="JDepend" mode="explanations">
350
+ <html>
351
+ <head>
352
+ <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
353
+ </head>
354
+ <body>
355
+ <xsl:call-template name="pageHeader"/>
356
+
357
+ <table width="100%"><tr align="left"><h2>Explanations</h2><td>
358
+ </td><td align="right">
359
+ [<a href="overview-summary.html">summary</a>]
360
+ [<a href="overview-packages.html">packages</a>]
361
+ [<a href="overview-cycles.html">cycles</a>]
362
+ [explanations]
363
+ </td></tr></table>
364
+
365
+ <p>The following explanations are for quick reference and are lifted directly from the original <a href="http://www.clarkware.com/software/JDepend.html">JDepend documentation</a>.</p>
366
+
367
+ <h3><a name="EXnumber">Number of Classes</a></h3>
368
+ <p>The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.</p>
369
+ <h3><a name="EXafferent">Afferent Couplings</a></h3>
370
+ <p>The number of other packages that depend upon classes within the package is an indicator of the package's responsibility. </p>
371
+ <h3><a name="EXefferent">Efferent Couplings</a></h3>
372
+ <p>The number of other packages that the classes in the package depend upon is an indicator of the package's independence. </p>
373
+ <h3><a name="EXabstractness">Abstractness</a></h3>
374
+ <p>The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. </p>
375
+ <p>The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package. </p>
376
+ <h3><a name="EXinstability">Instability</a></h3>
377
+ <p>The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. </p>
378
+ <p>The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package. </p>
379
+ <h3><a name="EXdistance">Distance</a></h3>
380
+ <p>The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. </p>
381
+ <p>A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). </p>
382
+ <p>The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible. </p>
383
+
384
+ </body>
385
+ </html>
386
+ </xsl:template>
387
+
388
+
389
+ <!--
390
+ Creates an html file that contains a link to all package links in overview-packages.html.
391
+ @bug there will be a problem here, I don't know yet how to handle unnamed package :(
392
+ -->
393
+ <xsl:template match="JDepend/Packages" mode="all.packages">
394
+ <html>
395
+ <head>
396
+ <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
397
+ </head>
398
+ <body>
399
+ <table width="100%"><tr align="left"><td></td><td nowrap="nowrap" align="right">
400
+ [<a href="overview-summary.html" target="classFrame">summary</a>]
401
+ [<a href="overview-packages.html" target="classFrame">packages</a>]
402
+ [<a href="overview-cycles.html" target="classFrame">cycles</a>]
403
+ [<a href="overview-explanations.html" target="classFrame">explanations</a>]
404
+ </td></tr></table>
405
+ <h2>Packages</h2>
406
+ <table width="100%">
407
+ <xsl:apply-templates select="Package[count(error)=0]" mode="all.packages.link">
408
+ <xsl:sort select="@name"/>
409
+ </xsl:apply-templates>
410
+ <xsl:apply-templates select="Package[count(error) &gt; 0]" mode="all.packages.nolink">
411
+ <xsl:sort select="@name"/>
412
+ </xsl:apply-templates>
413
+ </table>
414
+ </body>
415
+ </html>
416
+ </xsl:template>
417
+
418
+ <xsl:template match="JDepend/Packages/Package" mode="all.packages.link">
419
+ <tr>
420
+ <td nowrap="nowrap">
421
+ <a href="overview-packages.html#PK{@name}" target="classFrame">
422
+ <xsl:value-of select="@name"/>
423
+ </a>
424
+ </td>
425
+ </tr>
426
+ </xsl:template>
427
+
428
+ <!--
429
+ I do not know JDepend enough to know if every error results in a non-analyzed package,
430
+ but that is how I am presenting it to the viewer. This may need to change.
431
+ @bug there will be a problem here, I don't know yet how to handle unnamed package :(
432
+ -->
433
+ <xsl:template match="JDepend/Packages/Package" mode="all.packages.nolink">
434
+ <tr>
435
+ <td nowrap="nowrap">
436
+ Not Analyzed: <xsl:value-of select="@name"/>
437
+ </td>
438
+ </tr>
439
+ </xsl:template>
440
+
441
+ <!--
442
+ Creates an html file that contains a link to all package links in overview-cycles.html.
443
+ @bug there will be a problem here, I don't know yet how to handle unnamed package :(
444
+ -->
445
+ <xsl:template match="JDepend/Cycles" mode="all.cycles">
446
+ <html>
447
+ <head>
448
+ <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
449
+ </head>
450
+ <body>
451
+ <table width="100%"><tr align="left"><td></td><td nowrap="nowrap" align="right">
452
+ [<a href="overview-summary.html" target="classFrame">summary</a>]
453
+ [<a href="overview-packages.html" target="classFrame">packages</a>]
454
+ [<a href="overview-cycles.html" target="classFrame">cycles</a>]
455
+ [<a href="overview-explanations.html" target="classFrame">explanations</a>]
456
+ </td></tr></table>
457
+ <h2>Cycles</h2>
458
+ <table width="100%">
459
+ <xsl:apply-templates select="Package" mode="all.cycles">
460
+ <xsl:sort select="@Name"/>
461
+ </xsl:apply-templates>
462
+ </table>
463
+ </body>
464
+ </html>
465
+ </xsl:template>
466
+
467
+ <xsl:template match="JDepend/Cycles/Package" mode="all.cycles">
468
+ <tr>
469
+ <td nowrap="nowrap">
470
+ <a href="overview-cycles.html#CY{@Name}" target="classFrame"><xsl:value-of select="@Name"/></a>
471
+ </td>
472
+ </tr>
473
+ </xsl:template>
474
+
475
+ <!-- Page HEADER -->
476
+ <xsl:template name="pageHeader">
477
+ <h1>JDepend Analysis</h1>
478
+ <table width="100%">
479
+ <tr>
480
+ <td align="left"></td>
481
+ <td align="right">Designed for use with <a href="http://www.clarkware.com/software/JDepend.html">JDepend</a> and <a href="http://jakarta.apache.org">Ant</a>.</td>
482
+ </tr>
483
+ </table>
484
+ <hr size="1"/>
485
+ </xsl:template>
486
+
487
+ </xsl:stylesheet>