svn commit: r13655 - trunk/src_new

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: tfmorris
Date: 2007-10-10 14:05:55-0700
New Revision: 13655

Modified:
   trunk/src_new/build.xml
   trunk/src_new/default.properties

Log:
Add PMD syntax checker & CPD clone detector to build

Modified: trunk/src_new/build.xml
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/build.xml?view=diff&rev=13655&p1=trunk/src_new/build.xml&p2=trunk/src_new/build.xml&r1=13654&r2=13655
==============================================================================
--- trunk/src_new/build.xml	(original)
+++ trunk/src_new/build.xml	2007-10-10 14:05:55-0700
@@ -1147,6 +1147,54 @@
 
   </target>
 
+  <target name="pmd-init" depends="ant.optional.init">
+    <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpath="${pmd.jar.path}"/>
+    <taskdef name="cpd" classname="net.sourceforge.pmd.cpd.CPDTask" classpath="${pmd.jar.path}"/>
+    <property name="pmd.reports.dir" value="${argo.tests.reports}/pmd"/>
+    <mkdir dir="${pmd.reports.dir}"/>
+  </target>
+
+  <target name="pmd" depends="pmd-init">
+
+    <delete>
+      <fileset dir="${pmd.reports.dir}">
+        <include name="*.xml, *.htm*"/>
+      </fileset>
+    </delete>
+
+    <pmd shortFilenames="true">
+      <ruleset>rulesets/favorites.xml</ruleset>
+      <ruleset>basic</ruleset>
+      <formatter type="html" toFile="${pmd.reports.dir}/pmd-report.html" 
+        linkPrefix="http://pmd.sourceforge.net/xref/"/>
+      <fileset dir="${argo.src.dir}/org" includes="**/*.java">
+        <exclude name="**/JavaLexer.java"/>
+        <exclude name="**/JavaRecognizer.java"/>
+        <exclude name="**/JavaTokenTypes.java"/>
+      </fileset>
+    </pmd>
+  </target>
+
+  <target name="cpd" depends="pmd-init">
+    <property name="cpd.report.file" value="${pmd.reports.dir}/cpd-report"/>
+    
+    <mkdir dir="${pmd.reports.dir}"/>
+    <delete file="${cpd.report.file}.*"/>
+    <cpd minimumTokenCount="100" outputFile="${cpd.report.file}.xml" 
+      format="xml" encoding="UTF-8">
+      <fileset dir="${argo.src.dir}">
+        <include name="**/*.java"/>
+        <exclude name="**/JavaLexer.java"/>
+        <exclude name="**/JavaRecognizer.java"/>
+        <exclude name="**/JavaTokenTypes.java"/>
+      </fileset>
+    </cpd>
+    
+    <xslt in="${cpd.report.file}.xml" style="${pmd.xslt.path}/cpdhtml.xslt" 
+      out="${cpd.report.file}.html"/>
+
+  </target>
+
   <!-- Internal target to aggregate tasks for CruiseControl -->
   <target name="cruisecontrol" depends="tests,checkstyle" />
 

Modified: trunk/src_new/default.properties
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/default.properties?view=diff&rev=13655&p1=trunk/src_new/default.properties&p2=trunk/src_new/default.properties&r1=13654&r2=13655
==============================================================================
--- trunk/src_new/default.properties	(original)
+++ trunk/src_new/default.properties	2007-10-10 14:05:55-0700
@@ -121,4 +121,6 @@
 junit.jar.path=${argo.tools.dir}/junit-3.8.2/junit.jar
 #junit.jar.path=${argo.tools.dir}/junit-4.2/junit.jar
 easymock.jar.path=${argo.tools.dir}/lib/easymock12.jar
-
+pmd.dir=${argo.tools.dir}/pmd-4.0
+pmd.jar.path=${pmd.dir}/lib/pmd-4.0.jar
+pmd.xslt.path=${pmd.dir}/etc/xslt
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.