Is there someone working on the metrics part ? I committed a description of metrics in xdocs that would be nice to see. I also started to see how we could do that with the visitors but not sure yet about a couple of things.
If we have to create something like code audit there is some need to enhance the parser to have waaaaaaay more concrete nodes and also add a couple of helper methods to these nodes. my parser skills are a bit rusty but if someone want to give it a shot I can provide the javadoc related to the ast nodes in webgain audit. That should give a rough idea of what is used. As I see it there is probably a need for 2 parsers. Metrics does not need as much nodes as audit and I believe it will slow down the metrics like crazy - just pure guess - since we often need to iterate back and forth through the childrens of a node and there is no need to iterate through 1000 when we are interested only in 1% of it. Stephane > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] > Sent: Monday, February 25, 2002 6:52 AM > To: [EMAIL PROTECTED] > Subject: cvs commit: jakarta-turbine-maven/src/templates/build > build-metrics.xml Control.vm build.xml > > > brekke 02/02/24 21:51:50 > > Modified: . build-bootstrap.xml > src/templates/build Control.vm build.xml > Added: src/templates/build build-metrics.xml > Log: > Preliminary support for generating some source code metrics via > <a > href="http://www.clarkware.com/software/JDepend.html">JDepend</a>. > Currently you need to have the JDepend jar in your > $ANT_HOME/lib directory. > > Added a build-metrics.xml template to be generated when the > build system is > gen'd. Added convience target, metrics, to build.xml so > one can just use: > > ant metrics > > If you define -Duse.jdepend.gui=1 on the command-line the > JDepend swing ui > will start up. The default mode is to generate a > jdepend-report.txt in the > root directory. I have two targets commented out which > generate an xml report. > One uses the jdepend ant task that is included in Ant 1.5 > which can format > xml and the other just uses the xmlgui version of JDepend > and will work > regardless of the ant version. > > Revision Changes Path > 1.14 +2 -1 jakarta-turbine-maven/build-bootstrap.xml > > Index: build-bootstrap.xml > =================================================================== > RCS file: /home/cvs/jakarta-turbine-maven/build-bootstrap.xml,v > retrieving revision 1.13 > retrieving revision 1.14 > diff -u -r1.13 -r1.14 > --- build-bootstrap.xml 24 Feb 2002 21:22:05 -0000 1.13 > +++ build-bootstrap.xml 25 Feb 2002 05:51:49 -0000 1.14 > @@ -36,7 +36,8 @@ > > <!-- Remove the elements of past generations before creating > the new one --> > - > + > + <delete file="build-metrics.xml"/> > <delete file="build-docs.xml"/> > <delete file="build-test.xml"/> > <delete file="build.xml"/> > > > > 1.6 +1 -1 > jakarta-turbine-maven/src/templates/build/Control.vm > > Index: Control.vm > =================================================================== > RCS file: > /home/cvs/jakarta-turbine-maven/src/templates/build/Control.vm,v > retrieving revision 1.5 > retrieving revision 1.6 > diff -u -r1.5 -r1.6 > --- Control.vm 23 Feb 2002 04:01:49 -0000 1.5 > +++ Control.vm 25 Feb 2002 05:51:49 -0000 1.6 > @@ -1,4 +1,4 @@ > -#set ($buildElements = > ["build-docs.xml","build-test.xml","build.xml","default.proper ties","LICENSE","README.txt"]) > +#set ($buildElements = ["build-metrics.xml", > "build-docs.xml","build-test.xml","build.xml","default.propert > ies","LICENSE","README.txt"]) > > $project > $project.name > > > > 1.14 +5 -0 > jakarta-turbine-maven/src/templates/build/build.xml > > Index: build.xml > =================================================================== > RCS file: > /home/cvs/jakarta-turbine-maven/src/templates/build/build.xml,v > retrieving revision 1.13 > retrieving revision 1.14 > diff -u -r1.13 -r1.14 > --- build.xml 23 Feb 2002 16:40:14 -0000 1.13 > +++ build.xml 25 Feb 2002 05:51:49 -0000 1.14 > @@ -366,6 +366,11 @@ > <!-- > ================================================================== --> > > <target > + name="metrics"> > + <ant antfile="build-metrics.xml"/> > + </target> > + > + <target > name="test"> > <ant antfile="build-test.xml"/> > </target> > > > > 1.1 > jakarta-turbine-maven/src/templates/build/build-metrics.xml > > Index: build-metrics.xml > =================================================================== > <?xml version="1.0"?> > > <project name="$project.id" default="metrics" basedir="."> > > #include("build.properties.loading") > > #include("build.init.target") > > <!-- > ================================================================== --> > <!-- M E T R I C S > --> > <!-- > ================================================================== --> > > <target > name="metrics" > depends="init,jdepend-report,jdepend-gui" > description="==> Gathers the code metrics"> > > </target> > > <!-- > ============================================================== > ========== --> > <!-- J D E P E N D R E P O R T T A R G E T > --> > <!-- > ============================================================== > ========== --> > <target name="jdepend-report" unless="use.jdepend.gui"> > > <!-- Once we start to use Ant 1.5, we can use the > builtin jdepend target --> > <!-- to generate our xml reports. Until then we can > use the xmlui. --> > <!-- > <jdepend format="xml" > outputfile="${docs.src}/jdepend-report.xml"> > <sourcespath> > <pathelement location="${src.dir}/java" /> > </sourcespath> > <classpath location="${build.dest}" /> > </jdepend> > --> > > <!-- This call will gen a xml report regardless of the > version of ant. --> > <!-- > <java classname="jdepend.xmlui.JDepend" fork="yes" > failonerror="yes"> > <arg line="-file ${docs.src}/jdepend-report.xml > ${src.dir}/java ${build.dest}"/> > <classpath> > <path refid="classpath"/> > <pathelement location="./"/> > <pathelement path="${java.class.path}" /> > </classpath> > </java> > --> > > <!-- For now we just creat a text report using the > built in jdepend task. --> > <jdepend outputfile="jdepend-report.txt"> > <sourcespath> > <pathelement location="${src.dir}/java"/> > </sourcespath> > <classpath location="${build.dest}" /> > </jdepend> > > </target> > > <!-- > ============================================================== > ========== --> > <!-- J D E P E N D G U I T A R G E T > --> > <!-- > ============================================================== > ========== --> > <target name="jdepend-gui" if="use.jdepend.gui"> > <java classname="jdepend.swingui.JDepend" fork="yes" > failonerror="yes"> > <arg line="${src.dir}/java ${build.dest}"/> > <classpath> > <path refid="classpath"/> > <pathelement location="./"/> > <pathelement path="${java.class.path}" /> > </classpath> > </java> > </target> > > </project> > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
