Architecture Rules

Download 2.1.1

About

Assert Your Architecture! with this open source java library. Architecture Rules leverages an xml configuration file and optional programmatic configuration to assert your code's architecture via unit tests or ant tasks. This test is able to assert that specific packages do not depend on others and is able to check for and report on cyclic dependencies among your project's packages and classes. This project wraps a industry accepted JDepend to simplify the process of maintaining a solid software architecture.

License

Licensed under Apache License 2.0 - allows use of the source code for the development of free and open source software as well as proprietary and closed source software.

Releases Archive

Do you Assert your Architecture? Please help out with our fund raising.
Checkout what we are raising funds for. Be sure to report issues.

July 10, 2008 @ 10:05 pm

Release 2.1.1

Fixed major issue with 2.1.0 that prevented packages defined with wildcards from even being investigated. Caused when issue-45 was fixed.

  1. architecture-rules-2.1.1.jar
  2. architecture-rules-2.1.1-sources.jar
  3. architecture-rules-2.1.1-test-sources.jar

Maven 2 – pom.xml

  1. <groupId>com.seventytwomiles<groupId>
    <artifactId>architecturerules<artifactId>
    <version>2.1.1<version>
        

Also, you must add our maven repository.

Javadocs

This version’s (2.1.1) api documentation (javadocs) are available here.

Changes

  • issue-54 report class creating the cyclic redundancy usability

Filed under Releases · 3 Comments »

July 4, 2008 @ 10:40 pm

Release 2.1.0

This big release, one year after the initial public release of Architecture Rules, finally offers wild card support. You can now use .* and ..* when defining packages to specify one package, or many sub-packages respectively. We’ve also added support for configuration method chaining, better Exception class hierarchy and metadata, and new tests, javadocs, and a copy of the Apache 2.0 License in the archive.

  1. architecture-rules-2.1.0.jar
  2. architecture-rules-2.1.0-sources.jar
  3. architecture-rules-2.1.0-test-sources.jar

Javadocs

This version’s (2.1.0) api documentation (javadocs) are available here.

Changes

  • issue-12 report class creating the cyclic redundancy usability
  • issue-27 make testArchitecture() public usability
  • issue-28 configuration method chaining usability maintainability
  • issue-37 package license file
  • issue-39 maven-license-plugin
  • issue-40 support for wildcards usability
  • issue-42 provide API to retrieve list of violations usability
  • issue-43 Exceptions should implement an ArchitectureRulesException
  • issue-44 meaningful defaults with maven plugin usability
  • issue-45 JPackage equals method not symetric
  • issue-46 classpath conflict with common-io and spring usability

Filed under Releases · No Comments »

January 19, 2008 @ 9:47 pm

Release 2.0.3

Resolved reported issues with XML configuration and path separator / on non-windows platforms. Also documenting which dependencies are not required, but are optional. For example the ant dependency is only needed by those developers who want to execute the test via the ant task.

  1. architecture-rules-2.0.3.jar
  2. architecture-rules-2.0.3-sources.jar
  3. architecture-rules-2.0.3-test-sources.jar

Javadocs

This version’s (2.0.3) api documentation (javadocs) are available here.

Changes

  • issue-23 determine which dependencies are optional usability
  • issue-24 slashes in Unix and windows are different, paths can not be read usability
  • issue-25 cycles test not run with XML configuration usability

Filed under Releases · No Comments »

November 23, 2007 @ 1:00 am

Release 2.0.2

Resolved major issue regarding scope of getConfiguration which allows for programmatic configuration.

  1. architecture-rules-2.0.2.jar
  2. architecture-rules-2.0.2-sources.jar
  3. architecture-rules-2.0.2-test-sources.jar

Javadocs

This version’s (2.0.2) api documentation (javadocs) are available here.

Changes

  • issue-9 add package.html and overview.html maintainability
  • issue-21 getConfiguration() scope too weak usability

Filed under Releases · No Comments »

November 16, 2007 @ 1:00 am

Release 2.0.1

Reduces JRE dependency from version 5.0 to version 1.4, which was the intended version all along. Fixed scope of abstract methods in the abstract test.

  1. architecture-rules-2.0.1.jar
  2. architecture-rules-2.0.1-sources.jar
  3. architecture-rules-2.0.1-test-sources.jar

Javadocs

This version’s (2.0.1) api documentation (javadocs) are available here.

Changes

  • issue-18 Cannot extend AbstractArchitectureRulesConfigurationTest usability
  • issue-20 should only require java 1.4 usability

Filed under Releases · No Comments »

November 13, 2007 @ 1:00 am

Release 2.0-rc2

Improvements release. Rewrite of the CyclicRedundencyService to utilize features in the JDepend JavaPackage to discover cyclic dependencies.

  1. architecture-rules-2.0-rc2.jar
  2. architecture-rules-2.0-rc2-sources.jar
  3. architecture-rules-2.0-rc2-test-sources.jar

Changes

  • issue-10 run test with Ant and other tools usability
  • issue-11 remove log4j.xml from package
  • issue-13 Use JavaPackage logic to locate cycles performance maintainability
  • issue-14 allow programmatic-only configuration usability
  • issue-15 add appropriate copy write to sources usability maintainability
  • issue-16 provide test-sources jar usability

Filed under Releases · No Comments »

November 2, 2007 @ 1:00 am

Release 2.0-rc1

First real release. This probably should have been the 1.0 series. This release finished the issues and tasks that should have been completed before attempting to release the tool. It added a real xml parsing strategy to the ConfigurationFactory – commons digester. Also, test coverage is now at 88%, beating the goal of 80%. And finally, rather than just reporting that a cyclic dependency exists, the exact packages with the cyclic dependency are exposed. Soon, even the classes will be identified.

  1. architecture-rules-2.0-rc1.jar
  2. architecture-rules-2.0-rc1-sources.jar

Changes

  • issue-1 more complete test coverage
  • issue-4 allow programmatic configuration usability
  • issue-5 rewrite configurationhandler with new xml parser maintainability performance
  • issue-6 report which packages were cyclic in dependency usability
  • issue-7 exceptions should be unchecked usability
  • issue-8 change rule configuration of id to name value pair usability

Filed under Releases · No Comments »

July 26, 2007 @ 1:00 am

Release 1.1

Removed dependencies that only used a single class but brought along a large package.

  1. architecture-rules-1.1.jar
  2. architecture-rules-1.1-sources.jar

Changes

  • issue-2 remove unnecessary dependencies maintainability
  • issue-3 complete javadocs maintainability

Filed under Releases · No Comments »

July 17, 2007 @ 10:03 pm

Release 1.0

First release. It works and is usable. The only known issues are enhancements.

  1. architecture-rules-1.0.jar
  2. architecture-rules-1.0-sources.jar

Filed under Releases · No Comments »

Start Here

Get Help

More Information

Architecture Propaganda

Schwag

If you assert your architecture, then let everyone know with this branded gear. architecture rules mug