My favorites | Sign in
Project Logo
             
New issue | Search
for
| Advanced search | Search tips
Issue 33: maven plugin/ maven report
1 person starred this issue and may be notified of changes. Back to list
 
Reported by mikenere...@gmail.com, Feb 09, 2008
Someone one day mentioned a maven plugin. I'm not sure what its features
would be, but I imagine it would run the test without you having to
implement a unit test. You'd just write architecture-rules.xml. 

Also, an architecture-rules-report-plugin that created a report for the
site goal would be cool too. Maybe something that resembles
http://architecturerules.googlecode.com/svn/docs/maven-generated-site/surefire-report.html.
It could list each rule, its id and description, which class broke a rule,
or which packages are involved in cycles.

Any one have any other thoughts? Anyone want to pursue this task?
Comment 2 by mikenere...@gmail.com, Feb 10, 2008
If you got to this this issue through dzone, and you need more information about this
project, check out the homepage...

http://architecturerules.googlecode.com/svn/docs/index.html
Comment 3 by mykola.nickishov, Feb 11, 2008
Some time ago I've started some development. My goals are:

- run the architecturerules without a "custom" unit test implementation in a
multiproject environment, see http://maven.apache.org/getting-started.html, Multiple
Modules.

- use a single "parent" architecture-rules.xml for all modules to reduce maintenance
efforts

And I'm not bothered with reports right now ;-)
Comment 4 by mykola.nickishov, Feb 25, 2008
(No comment was entered for this change.)
Status: Started
Owner: mykola.nickishov
Labels: -OpSys-Windows OpSys-All
Comment 5 by mykola.nickishov, Feb 27, 2008
Here is a first working version of the maven2 plugin. See sample project's pom.xml
for how to configure it. I plan to implement automatic binding to the test phase later.

Now plugin requires only a configuration file for architecture-rules. There is no
need for a custom unit test.

Unfortunately plugin unable to find source code for affected classes and reports
'cycle.DoCycle: referenced classes not found'. It is a single obstacle on the way.

If there are no objections I'll commit them both.

0001-first-working-version-of-maven2-plugin.patch
9.2 KB   Download
0002-add-sample-project-which-uses-maven-architecture-rul.patch
4.4 KB   Download
Comment 6 by mykola.nickishov, Feb 27, 2008
http://code.google.com/p/architecturerules/source/detail?r=333
http://code.google.com/p/architecturerules/source/detail?r=332

Comment 7 by mikenere...@gmail.com, Mar 03, 2008
This is what I have as a prototype for the report so far...

== Summary ==
  some sort of summary

== Rules ==
  each rule listed out, rule id is the header
  each package is listed with each violations listed below it, 
    and that violations status

== Cycles ==
  dunno yet

-- Breakdown --

  Rules Sample configuration:
	
<rule id="dao">
  <comment>The dao interface package should rely on nothing.</comment>
  <packages>
    <package>com.seventytwomiles.pagerank.core.dao</package>
    <package>com.seventytwomiles.pagerank.core.dao.hibernate</package>
  </packages>
  <violations>
    <violation>com.seventytwomiles.pagerank.core.services</violation>
    <violation>com.seventytwomiles.pagerank.core.builder</violation>
    <violation>com.seventytwomiles.pagerank.util</violation>
  </violations>
</rule>

  Contains id=dao a comment, two packages, and three violations. 
  The resulting report would include a 

  header: 'dao'
  paragraph: comment: The dao interface package should rely on nothing.
   
  sub header: com.seventytwomiles.pagerank.core.dao
		
  <table>
  [OK]  com.seventytwomiles.pagerank.core.services
  [OK]  com.seventytwomiles.pagerank.core.builder
  [OK]  com.seventytwomiles.pagerank.util
  </table>

  sub header: com.seventytwomiles.pagerank.core.dao.hibernate
		
  <table>
  [OK]  com.seventytwomiles.pagerank.core.services
  [ERR] com.seventytwomiles.pagerank.core.builder
          xxx depends on yyy
  [OK]  com.seventytwomiles.pagerank.util
  </table>


  The result is the entire violations list is listed for each
  package, with the status as a graphic.

index.html
8.5 KB   Download
Comment 8 by mikenere...@gmail.com, Sep 06, 2008
(No comment was entered for this change.)
Labels: -OpSys-All -Component-Docs
Comment 9 by mikenere...@gmail.com, Sep 06, 2008
(No comment was entered for this change.)
Labels: Component-maven
Comment 10 by mikenere...@gmail.com, Jun 26, 2009
(No comment was entered for this change.)
Labels: Milestone-Release3.1
Comment 11 by mykola.nickishov, Aug 31, 2009
(No comment was entered for this change.)
Labels: -Priority-Low -Milestone-Release3.1 Priority-High Milestone-Release3.2
Comment 12 by mykola.nickishov, Aug 31, 2009
(No comment was entered for this change.)
Labels: -Priority-High Priority-Critical
Sign in to add a comment

Hosted by Google Code