Good day to you, Rune, Nice info :) ..though I haven't tried this myself, I thought I'd create a wiki page for this :) I am not sure though where to put this so I simply placed it in see [1].
Thanks, Franz [1] http://docs.codehaus.org/display/MAVENUSER/Running+Macker+with+Maven+2 Rune Flobakk-2 wrote: > > Hi, > > I've recently been trying out the Macker tool (http://innig.net/macker) > to enforce architectural rules in a project of mine. I did some > searching in this mailing list as well as Google if there was a way to > run Macker with Maven 2, but only found questions from others asking how > this should be done. The existing maven-macker-plugin is for Maven 1, > though I have seen a message that there apparently is a Maven 2 plugin > in development. > > Anyway, I have been fiddling around a bit and found a way to run Macker > in Maven 2 until a proper plugin is available, which I thought I'd share > here for anyone interested. As I still consider myself as a Maven 2 > newbie, I would appreciate any feedback on this solution, if it seems > reasonable at all. This is the first time I use the antrun plugin, and I > have no experience using Ant before at all. > > The description below is for a simple single project following the > directory structure expected as default by Maven 2. It should however be > simple to adapt it. This is going to be a bit lengthy, so bring a > sandwich. > > > > 1. In your POM: > > <build> > ... > <plugins> > <plugin> > <artifactId>maven-antrun-plugin</artifactId> > <groupId>org.apache.maven.plugins</groupId> > <version>1.1</version> > <configuration> > <tasks> > <ant antfile="${basedir}/build.xml" > inheritRefs="true"> > <target name="macker"/> > </ant> > </tasks> > </configuration> > <dependencies> > <dependency> > <groupId>ant</groupId> > <artifactId>ant-antlr</artifactId> > <version>1.6.5</version> > </dependency> > <dependency> > <groupId>antlr</groupId> > <artifactId>antlrall</artifactId> > <version>2.7.4</version> > </dependency> > <dependency> > <artifactId>macker</artifactId> > <groupId>innig</groupId> > <version>0.4.2</version> > </dependency> > <dependency> > <artifactId>innig-util</artifactId> > <groupId>innig</groupId> > <version>0.4.2</version> > </dependency> > <dependency> > <artifactId>jakarta-regexp</artifactId> > <groupId>jakarta-regexp</groupId> > <version>1.4</version> > </dependency> > <dependency> > <artifactId>bcel</artifactId> > <groupId>bcel</groupId> > <version>5.1</version> > </dependency> > <dependency> > <artifactId>jdom</artifactId> > <groupId>jdom</groupId> > <version>1.0</version> > </dependency> > <dependency> > <artifactId>commons-lang</artifactId> > <groupId>commons-lang</groupId> > <version>1.0.1</version> > </dependency> > </dependencies> > </plugin> > ... > </plugins> > ... > </build> > > > > > 2. The build.xml file in ${basedir}. The location for this is configured > in the POM plugin configuration above (antfile="${basedir}/build.xml"). > > <?xml version="1.0"?> > > <project name="project-title" default="macker"> > <description> > Ant task to run the Macker tool. > </description> > > <target name="macker"> > <taskdef name="macker" > classname="net.innig.macker.ant.MackerAntTask" > classpathref="maven.plugin.classpath"/> > <macker> > <!-- > This classpath tells Macker where to look for its own > libraries, and the libraries used by the primary classes. > --> > <classpath refid="maven.plugin.classpath" /> > > > <!-- > Rules come from this file: > --> > <rules dir="src/test/macker" includes="macker.xml" /> > > > <!-- > Macker will apply those rules to these primary classes: > --> > <classes dir="target/classes"> > <include name="**/*.class" /> > </classes> > </macker> > </target> > </project> > > > > 3. The macker rules are placed in ${basedir}/src/test/macker/macker.xml. > This location is specified in build.xml above at > <rules dir="src/test/macker" includes="macker.xml" /> > > <?xml version="1.0"?> > <!DOCTYPE macker PUBLIC > "-//innig//DTD Macker 0.4//EN" > "http://innig.net/macker/dtd/macker-0.4.dtd"> > > <macker> > <ruleset name="Architectural rules for StoryType"> > <!-- > Define some rules here. > See http://innig.net/macker/guide/index.html > --> > </ruleset> > </macker> > > > > Using 'mvn antrun:run' will run Macker on your compiled classes in > ${basedir}/target/classes/ > > I hope I haven't forgot anything, and that this may be of interest for > others as well :) > > Rune > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Running-Macker-with-Maven-2-tf3229054s177.html#a8980944 Sent from the Maven - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]