Permalink
Browse files

Initial import

  • Loading branch information...
clarkware committed Aug 21, 2008
0 parents commit be0bccac1c798534e1c4ec685854c15894f40acf
Showing with 10,475 additions and 0 deletions.
  1. +208 −0 CHANGES
  2. +29 −0 LICENSE
  3. +45 −0 README
  4. +250 −0 build.xml
  5. +1,675 −0 docs/JDepend.html
  6. BIN docs/images/figure1a.jpg
  7. BIN docs/images/figure1b.jpg
  8. BIN docs/images/figure2b.jpg
  9. BIN docs/images/figure3b.jpg
  10. +179 −0 docs/jdepend-report.dot
  11. +193 −0 docs/jdepend-report.txt
  12. +390 −0 docs/jdepend-report.xml
  13. +217 −0 docs/jdepend-text.out
  14. +198 −0 docs/jdepend-xml.out
  15. +168 −0 sample/epayment/adapters/ABCGatewayAdapter.java
  16. +166 −0 sample/epayment/adapters/XYZGatewayAdapter.java
  17. +41 −0 sample/epayment/commands/AuthorizeCommand.java
  18. +41 −0 sample/epayment/commands/CaptureCommand.java
  19. +41 −0 sample/epayment/commands/CreditCommand.java
  20. +42 −0 sample/epayment/commands/SaleCommand.java
  21. +41 −0 sample/epayment/commands/VoidSaleCommand.java
  22. +45 −0 sample/epayment/framework/AbstractPaymentCommand.java
  23. +80 −0 sample/epayment/framework/IGatewayAdapter.java
  24. +33 −0 sample/epayment/framework/IPaymentCommand.java
  25. +63 −0 sample/epayment/framework/IPaymentRequest.java
  26. +30 −0 sample/epayment/framework/IPaymentResponse.java
  27. +25 −0 sample/epayment/framework/PaymentException.java
  28. +90 −0 sample/epayment/processor/PaymentProcessor.java
  29. +46 −0 sample/epayment/processor/PaymentProcessorConfigurator.java
  30. +169 −0 sample/epayment/request/PaymentRequest.java
  31. +79 −0 sample/epayment/response/PaymentResponse.java
  32. +20 −0 sample/jdepend.properties
  33. +69 −0 src/jdepend/framework/AbstractParser.java
  34. +668 −0 src/jdepend/framework/ClassFileParser.java
  35. +160 −0 src/jdepend/framework/DependencyConstraint.java
  36. +134 −0 src/jdepend/framework/FileManager.java
  37. +344 −0 src/jdepend/framework/JDepend.java
  38. +95 −0 src/jdepend/framework/JavaClass.java
  39. +137 −0 src/jdepend/framework/JavaClassBuilder.java
  40. +268 −0 src/jdepend/framework/JavaPackage.java
  41. +49 −0 src/jdepend/framework/PackageComparator.java
  42. +98 −0 src/jdepend/framework/PackageFilter.java
  43. +24 −0 src/jdepend/framework/ParserListener.java
  44. +143 −0 src/jdepend/framework/PropertyConfigurator.java
  45. +117 −0 src/jdepend/swingui/AboutDialog.java
  46. +65 −0 src/jdepend/swingui/AfferentNode.java
  47. +132 −0 src/jdepend/swingui/DependTree.java
  48. +171 −0 src/jdepend/swingui/DependTreeModel.java
  49. +86 −0 src/jdepend/swingui/EfferentNode.java
  50. +557 −0 src/jdepend/swingui/JDepend.java
  51. +181 −0 src/jdepend/swingui/PackageNode.java
  52. +39 −0 src/jdepend/swingui/StatusPanel.java
  53. +527 −0 src/jdepend/textui/JDepend.java
  54. +193 −0 src/jdepend/xmlui/JDepend.java
  55. +8 −0 test/data/jdepend.properties
  56. BIN test/data/test.jar
  57. BIN test/data/test.zip
  58. +35 −0 test/jdepend/framework/AllTests.java
  59. +162 −0 test/jdepend/framework/ClassFileParserTest.java
  60. +185 −0 test/jdepend/framework/CollectAllCyclesTest.java
  61. +114 −0 test/jdepend/framework/ComponentTest.java
  62. +93 −0 test/jdepend/framework/ConstraintTest.java
  63. +197 −0 test/jdepend/framework/CycleTest.java
  64. +31 −0 test/jdepend/framework/ExampleAbstractClass.java
  65. +48 −0 test/jdepend/framework/ExampleConcreteClass.java
  66. +20 −0 test/jdepend/framework/ExampleInterface.java
  67. +143 −0 test/jdepend/framework/ExampleTest.java
  68. +101 −0 test/jdepend/framework/FileManagerTest.java
  69. +71 −0 test/jdepend/framework/FilterTest.java
  70. +64 −0 test/jdepend/framework/JDependTestCase.java
  71. +135 −0 test/jdepend/framework/JarFileParserTest.java
  72. +140 −0 test/jdepend/framework/MetricTest.java
  73. +67 −0 test/jdepend/framework/PropertyConfiguratorTest.java
208 CHANGES
@@ -0,0 +1,208 @@
+JDepend Change Log
+
+
+Version 2.9.1 - 5/6/05
+----------------------
+
+- Fixed the GUI runner to support the -components option.
+
+Version 2.9 - 12/27/04
+----------------------
+
+- Includes the Module Dependencies fixture for FitNesse, contributed
+ by Bob Martin. Thanks, Bob!
+ (See http://www.butunclebob.com/ArticleS.UncleBob.JdependFixture)
+
+- Declared components now include an implicit trailing ".".
+ For example, if you want to treat all sub-packages beneath
+ the "com.foo" package as a component, use
+
+ java jdepend.textui.JDepend -components com.foo /path/to/classes
+
+ or, programmatically, use
+
+ jdepend.setComponents("com.foo");
+
+ Note, however, that an implicit "." will be appended ("com.foo."),
+ which means that the package "com.foobar", for example, will NOT be
+ included in the "com.foo" component.
+
+- Added a version number to the JAR file.
+
+
+Version 2.8 - 9/2/04
+--------------------
+
+- Components can now be defined using the -components option to any
+ JDepend user interface.
+
+- Added the Graphviz stylesheet (contrib/jdepend2dot.xsl) to transform
+ the JDepend XML format into the Graphviz dot file
+ format. (Contributed by David Bock.)
+
+- Fixed a minor bug related to using the exclude tag with the JDepend
+ Ant task.
+
+- Fixed a minor bug that was exhausting file descriptors for large
+ (2000+) file sets.
+
+
+Version 2.7 - 4/10/04
+---------------------
+
+- Set UTF-8 as the output encoding for the XML output so that the XML
+ file generated is valid if the data contains non-ASCII
+ characters. (Thanks to Olivier Mengue.)
+
+
+Version 2.6 - 2/19/04 (Somewhere between Denver and Austin)
+-----------------------------------------------------------
+
+- Classes in .jar, .war, and .zip files are now analyzed.
+
+- Added JavaPackage.collectAllCycles() to support the Eclipse plugin
+ and to start experimenting with more exhaustive cycle detection
+ techniques.
+
+
+Version 2.5 - 2/17/03
+---------------------
+
+- Source-file analysis is no longer supported.
+
+- Inner classes are now analyzed by default. To disable analyzing
+ inner classes, set the 'analyzeInnerClasses' property to 'false' in
+ the jdepend.properties file.
+
+- Added setFilter() method to all JDepend class variants to support
+ new JDepend Ant task which includes an element for excluding
+ packages. (Thanks to Bob Hays for updating the Ant task!)
+
+- Added JavaClass.getSourceFile() method which returns the name of the
+ source file from which the analyzed class file was generated. Source
+ files must be compiled with debug information (e.g. -g or
+ -g:source), otherwise "Unknown" is returned. (Thanks to Ben Walding
+ for contributing this code!)
+
+
+Version 2.4 - 2/5/03
+--------------------
+
+- Source-file analysis is now deprecated. Please adjust to using
+ class-file analysis by simply pointing JDepend at directories
+ containing class files. The next version will not support the
+ analysis of source files.
+
+- Added support for presetting a volatility (V) value on a
+ package-by-package basis.
+
+- Unzips into versioned directory.
+
+
+Version 2.3 - 1/3/03
+--------------------
+
+- Removed java.* and javax.* from the default package filter. By
+ default, no packages are filtered.
+
+- Added a constructor to jdepend.framework.JDepend that takes a
+ PackageFilter parameter. Filters can now be applied by using this
+ constructor or by creating a jdepend.properties file in the
+ classPATH (see samples/jdepend.properties).
+
+- Fixed several bugs related to properly identifying class and
+ interface names when parsing source files.
+
+- Fixed bug parsing java.lang.Object
+
+- Modified jdepend.xmlui.JDepend to always generate XML for the
+ English locale so that '.' is used as the decimal separator. XML
+ Schema identifies a float with a mandatory '.'. XSL is unable to
+ transform decimal separators other than ".".
+
+- Reorganized directory structure to include top-level 'src' and
+ 'tests' directories.
+
+
+Version 2.2 - 10/25/01
+----------------------
+
+- Removed validation of major/minor class file versions during class
+ file parsing to support Java 1.4 and beyond.
+
+- Added "Interpreting Dependency Cycles" section to documentation.
+
+- Clean-up of build.xml for consistency and added example use of
+ JDepend Ant task.
+
+
+Version 2.1 - 8/6/01
+--------------------
+
+- When parsing class files, constant pool class constants that refer
+ to array types are now properly parsed.
+
+- When parsing source files, leading spaces are now properly parsed
+ for package names, imports, and class declarations.
+
+
+Version 2.0 - 8/1/01
+--------------------
+
+- Added support for parsing class files in addition to source files.
+ Class file parsing is more accurate in its ability to identify
+ referenced packages not directly visible from 'package' or 'import'
+ statements. Analyzed package references include super classes,
+ implemented interfaces, class attribute types, method return types,
+ method parameter types, method exception types, and method local
+ variable types. If a given directory contains both a source file and
+ a class file for the same Java class, then the class file is
+ analyzed and the source file is ignored. Class files must exist in a
+ directory; JAR files are not supported in this release.
+
+
+Version 1.4 - 7/20/01
+---------------------
+
+- Added package dependency constraints to support writing tests that
+ fail if any package dependency other than those declared in the
+ dependency constraints are detected.
+
+- Added the jdepend.xmlui.JDepend class to generate the package
+ metrics, dependencies, and cycles in an XML format for easier
+ integration with other tools.
+
+
+Version 1.3 - 7/5/01
+--------------------
+
+- Package dependency cycles can now detected and the packages
+ participating in a package dependency cycle can be traversed. By
+ default, the textual UI prints the hierarchical paths of each
+ package dependency cycle and the graphical UI marks any packages
+ containing cyclic package dependencies with a "Cyclic" label.
+
+- DistanceExampleTest was renamed to ExampleTest, which now also
+ contains example JUnit test methods for automatically checking for
+ the existence of package dependency cycles.
+
+
+Version 1.2 - 5/11/01
+---------------------
+
+- Recognition of 'final' and 'strictfp' class modifiers.
+
+- Trim extra whitespace from imports and class name declaration.
+
+- Ignore trailing comments from class name declaration.
+
+- Add delegating addDirectory() method to the jdepend.textui.JDepend
+ and jdepend.swingui.JDepend classes.
+
+- Improved command-line error handling.
+
+
+Version 1.1 - 1/25/01
+---------------------
+
+- Initial public release.
29 LICENSE
@@ -0,0 +1,29 @@
+Copyright (C) 1999-2004 Clarkware Consulting, Inc.
+All Rights Reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of Clarkware Consulting, Inc. nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without prior written permission. For written
+ permission, please contact clarkware@clarkware.com.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+CLARKWARE CONSULTING OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
45 README
@@ -0,0 +1,45 @@
+
+ J D E P E N D
+
+
+ What Is It?
+ -----------
+
+ JDepend traverses Java class and source file directories and
+ generates design quality metrics for each Java package. JDepend allows
+ you to automatically measure the quality of a design in terms of its
+ extensibility, reusability, and maintainability to effectively manage
+ and control package dependencies.
+
+
+ How Do I Get It?
+ ----------------
+
+ The latest version of JDepend is available at
+ http://www.clarkware.com/software/jdepend.zip
+
+
+ Documentation
+ -------------
+
+ Documentation is available in HTML format, in the docs/ directory.
+ For the installation and user manual, see docs/JDepend.html.
+ For the API documentation, see docs/api/index.html.
+
+
+ Support
+ ---------
+
+ If you have any questions, comments, enhancement requests, success
+ stories, or bug reports regarding JDepend, please send them to
+ mike@clarkware.com.
+
+
+ Licensing
+ ---------
+
+ This software is licensed under the terms described in the file
+ named "LICENSE" in this directory.
+
+
+ Thanks for using JDepend!
Oops, something went wrong.

0 comments on commit be0bcca

Please sign in to comment.