You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by cd...@apache.org on 2014/09/05 12:44:26 UTC

[3/4] PMD 5.x migration - I still have 4 not commited files in my working-set - TooManyStatesInMxmlRule - TooShortVariableRule - TooFewBranchesInSwitchStatementRule - ParametrizedRegExpBasedRuleTest As these all need parameters and I ha

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-core/src/test/resources/broken_pmd.xml
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-core/src/test/resources/broken_pmd.xml b/FlexPMD/flex-pmd-java/flex-pmd-core/src/test/resources/broken_pmd.xml
index 7a828ae..0f38d05 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-core/src/test/resources/broken_pmd.xml
+++ b/FlexPMD/flex-pmd-java/flex-pmd-core/src/test/resources/broken_pmd.xml
@@ -16,21 +16,37 @@ See the License for the specific language governing permissions and
 limitations under the License.
 
 -->
-<ruleset name="All Flex Rules" xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd" xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd" xmlns="http://pmd.sf.net/ruleset/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<ruleset name="All Flex Rules"
+         xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd"
+         xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
   <description/>
-  <rule since="" class="com.adobe.ac.pmd.rules.architecture.MonkeyPatchingRule" message="This class looks to be duplicated with a SDK class">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.architecture.MonkeyPatchingRule"
+        message="This class looks to be duplicated with a SDK class"
+        language="flex">
     <description>Monkey patching can be a risky undertaking because it is not using intended extensibility points and thus may have unintended consequences or make migration to newer versions of the SDK more difficult</description>
     <priority>1</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.mxml.MoreThanOneEntryPointInMxmlRule" message="There is more than 1 public variable in this MXML component">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.mxml.MoreThanOneEntryPointInMxmlRule"
+        message="There is more than 1 public variable in this MXML component"
+        language="flex">
     <description/>
     <priority>3</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.mxml.MoreThanTwoEntryPointsInMxmlRule" message="There are more than 2 public variables in this MXML component">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.mxml.MoreThanTwoEntryPointsInMxmlRule"
+        message="There are more than 2 public variables in this MXML component"
+        language="flex">
     <description/>
     <priority>1</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.mxml.TooLongScriptBlockRule" message="This script block is too long ({0} maximum, but {1} actually)">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.mxml.TooLongScriptBlockRule"
+        message="This script block is too long ({0} maximum, but {1} actually)"
+        language="flex">
     <description/>
     <priority>3</priority>
     <properties>
@@ -39,11 +55,17 @@ limitations under the License.
       </property>
     </properties>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.mxml.CodeBehindInMxmlRule" message="Avoid using code behind files">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.mxml.CodeBehindInMxmlRule"
+        message="Avoid using code behind files"
+        language="flex">
     <description>Code behind files are tightly coupled with the view, not unit-testable, not easy to navigate the code base and not reusable. Try using presentation model pattern, or observer pattern</description>
     <priority>5</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.binding.BindingUtilsRule" message="BindingUtils class uses hard coded strings, which won't be picked up by the compiler if you rename this attribute. You should probably consider refactoring using events">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.binding.BindingUtilsRule"
+        message="BindingUtils class uses hard coded strings, which won't be picked up by the compiler if you rename this attribute. You should probably consider refactoring using events"
+        language="flex">
     <description/>
     <priority>1</priority>
     <example><![CDATA[public class Controller extends FrontController
@@ -54,7 +76,10 @@ limitations under the License.
    }
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.binding.ChangeWatcherRule" message="ChangeWatcher class uses hard coded strings to specify the attribute name, to listen to. Prefer listening to events or setters">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.binding.ChangeWatcherRule"
+        message="ChangeWatcher class uses hard coded strings to specify the attribute name, to listen to. Prefer listening to events or setters"
+        language="flex">
     <description/>
     <priority>1</priority>
     <example><![CDATA[public final class Title 
@@ -62,7 +87,10 @@ limitations under the License.
 	private var watcher : ChangeWatcher; // VIOLATION
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.binding.TooLongBindingExpressionRule" message="This binding expression is too long ({0} dots maximum, but {1} actually)">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.binding.TooLongBindingExpressionRule"
+        message="This binding expression is too long ({0} dots maximum, but {1} actually)"
+        language="flex">
     <description>A Binding expression is executed as soon as one of the bindable attributes changed. If a binding expression contains too many expression, there could be some performance issue.</description>
     <priority>3</priority>
     <properties>
@@ -74,23 +102,38 @@ limitations under the License.
 <mx:Label text="{ vfrfr.frfr.frf.lala }"/> <!-- Violation-->
 		]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.component.UpdateChildrenNumberInUpdateDisplayListRule" message="Flex specific - Do not add or remove displayable children from updateDisplayList">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.component.UpdateChildrenNumberInUpdateDisplayListRule"
+        message="Flex specific - Do not add or remove displayable children from updateDisplayList"
+        language="flex">
     <description>UpdateDisplayList is called everytime a child is invalidated. So calling addChild or removeChild in this function could be really CPU consuming</description>
     <priority>1</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.component.CallLaterDirectlyRule" message="Flex specific - Don't call 'callLater' explicitly">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.component.CallLaterDirectlyRule"
+        message="Flex specific - Don't call 'callLater' explicitly"
+        language="flex">
     <description>If you needed to call 'callLater' explicitly, then you probably did not extend the correct component life cycle.</description>
     <priority>1</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.css.StyleBlockInMxmlRule" message="The style block is embed in the MXML file">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.css.StyleBlockInMxmlRule"
+        message="The style block is embed in the MXML file"
+        language="flex">
     <description>It is not a good practice to embed style blocks inside the MXML component. Prefer using external CSS files.</description>
     <priority>3</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.css.UseCssInsteadOfEmbedMetaDataRule" message="Embed metadata detected in source code where a stylesheet may be cleaner">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.css.UseCssInsteadOfEmbedMetaDataRule"
+        message="Embed metadata detected in source code where a stylesheet may be cleaner"
+        language="flex">
     <description/>
     <priority>5</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.empty.EmptyCatchStatementRule" message="This catch statement is empty">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.empty.EmptyCatchStatementRule"
+        message="This catch statement is empty"
+        language="flex">
     <description/>
     <priority>3</priority>
     <example><![CDATA[public class Foo 
@@ -106,7 +149,10 @@ limitations under the License.
    }
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.empty.EmptyIfStmtRule" message="No statements in this if statement">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.empty.EmptyIfStmtRule"
+        message="No statements in this if statement"
+        language="flex">
     <description>Empty If Statement finds instances where a condition is checked but nothing is done about it.</description>
     <priority>3</priority>
     <example><![CDATA[public class Foo 
@@ -120,7 +166,10 @@ limitations under the License.
    }
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.event.EventMissingCloneFunctionRule" message="The clone event must be overiden in a custom event">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.event.EventMissingCloneFunctionRule"
+        message="The clone event must be overiden in a custom event"
+        language="flex">
     <description>When creating your own custom Event class, you must override the inherited Event.clone() method in order for it to duplicate the properties of your custom class. If you do not set all the properties that you add in your event subclass, those properties will not have the correct values when the event is cloned. This is important because the Flex SDK clones events whenever redispatching takes place.</description>
     <priority>1</priority>
     <example><![CDATA[public class FirstCustomEvent   // VIOLATION - clone method is missing
@@ -132,12 +181,25 @@ limitations under the License.
    }
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.event.PublicVariableInCustomEventRule" message="No public variables should be inside a custom event. This variable ({0}) is public">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.event.PublicVariableInCustomEventRule"
+        message="No public variables should be inside a custom event. This variable ({0}) is public"
+        language="flex">
     <description>In order to improve encapsulation in your custom event, it is better not to have public variable in your event. Prefer having read-only attributes, set by the event constructor.</description>
     <priority>3</priority>
-    <example><![CDATA[public class FirstCustomEvent   
{
   public var lala : String; // VIOLATION
   
   public function FirstCustomEvent( dfsfd)
   {         
   }
}]]></example>
+    <example><![CDATA[public class FirstCustomEvent   
+{
+   public var lala : String; // VIOLATION
+   
+   public function FirstCustomEvent( dfsfd)
+   {         
+   }
+}]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.event.ConstructorDispatchingEventRule" message="An event is dispatched in a constructor">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.event.ConstructorDispatchingEventRule"
+        message="An event is dispatched in a constructor"
+        language="flex">
     <description>This is pointless, since event listeners cannot be attached to an object before it has been constructed, so nothing can ever hear the event</description>
     <priority>1</priority>
     <example><![CDATA[public class BigModel   
@@ -148,7 +210,10 @@ limitations under the License.
    }
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.event.ListenForHardCodedEventNameRule" message="addEventListener must not contain hard coded strings">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.event.ListenForHardCodedEventNameRule"
+        message="addEventListener must not contain hard coded strings"
+        language="flex">
     <description>You should not listen for a plain string. If you rename this string, you need to replace the string listener as well. Use constants instead</description>
     <priority>1</priority>
     <example><![CDATA[public class Foo 
@@ -159,7 +224,10 @@ limitations under the License.
    }
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.event.UnboundTypeInMetadataRule" message="This type ({0}) was not found within the scope against which PMD was run">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.event.UnboundTypeInMetadataRule"
+        message="This type ({0}) was not found within the scope against which PMD was run"
+        language="flex">
     <description/>
     <priority>1</priority>
     <example><![CDATA[[Event(name="myTypeEvent",type="UnknownType")] // VIOLATION
@@ -167,7 +235,10 @@ public class UnboundMetadata
 {
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.event.UntypedEventMetadataRule" message="This event type is not specified">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.event.UntypedEventMetadataRule"
+        message="This event type is not specified"
+        language="flex">
     <description>Specifying a type will allow Flash builder and the class to have this event exposed in its API</description>
     <priority>3</priority>
     <example><![CDATA[[Event(name="myTypeEvent")] // VIOLATION
@@ -175,7 +246,10 @@ public class UnTypedMetadata
 {
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.maintanability.ExcessiveImportRule" message="A high number of imports can indicate a high degree of coupling within an object. ({0} maximum but {1} actually)">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.maintanability.ExcessiveImportRule"
+        message="A high number of imports can indicate a high degree of coupling within an object. ({0} maximum but {1} actually)"
+        language="flex">
     <description>A high number of imports can indicate a high degree of coupling within an object. Rule counts the number of unique imports and reports a violation if the count is above the user defined threshold.</description>
     <priority>3</priority>
     <properties>
@@ -193,7 +267,10 @@ public class Foo
    }
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.maintanability.TrueFalseConditionRule" message="This test contains a hard coded boolean value. You could remove it by having '{0}'">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.maintanability.TrueFalseConditionRule"
+        message="This test contains a hard coded boolean value. You could remove it by having '{0}'"
+        language="flex">
     <description/>
     <priority>3</priority>
     <example><![CDATA[if ( true ) // VIOLATION
@@ -203,14 +280,20 @@ public class Foo
    }
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.maintanability.DynamicClassRule" message="A class must not be dynamic">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.maintanability.DynamicClassRule"
+        message="A class must not be dynamic"
+        language="flex">
     <description>When using dynamic classes, you cannot control how the developer will use your class. It makes refactoring really difficult</description>
     <priority>3</priority>
     <example><![CDATA[dynamic public class DynamicObject // VIOLATION
 {
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.maintanability.forbiddentypes.UseObjectTypeRule" message="Do not use Object class">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.maintanability.forbiddentypes.UseObjectTypeRule"
+        message="Do not use Object class"
+        language="flex">
     <description>It is a bad practice to use the dynamic class Object. Prefer using strongly typed object, or marker interface in order to avoid silent compilation errors while refactoring</description>
     <priority>5</priority>
     <example><![CDATA[public class Foo
@@ -218,7 +301,10 @@ public class Foo
    public var bar : Object; // VIOLATION      
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.maintanability.NonStaticConstantFieldRule" message="A constant field should be static ({0})">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.maintanability.NonStaticConstantFieldRule"
+        message="A constant field should be static ({0})"
+        language="flex">
     <description/>
     <priority>1</priority>
     <example><![CDATA[public class MyObject {
@@ -226,7 +312,10 @@ public class Foo
    public const MY_NON_STATIC_CONSTANT : String = "myStaticConstant"; // VIOLATION
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.maintanability.UselessOverridenFunctionRule" message="This method is empty. This should be removed ({0})">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.maintanability.UselessOverridenFunctionRule"
+        message="This method is empty. This should be removed ({0})"
+        language="flex">
     <description>This function is not needed.</description>
     <priority>3</priority>
     <example><![CDATA[override protected function createChildren() : void
@@ -234,7 +323,10 @@ public class Foo
    super.createChildren();
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.maintanability.AvoidProtectedFieldInFinalClassRule" message="Protected accessors are useless in a final class. Make it private ({0})">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.maintanability.AvoidProtectedFieldInFinalClassRule"
+        message="Protected accessors are useless in a final class. Make it private ({0})"
+        language="flex">
     <description/>
     <priority>3</priority>
     <example><![CDATA[final public class Foo
@@ -242,11 +334,17 @@ public class Foo
    protected var bar : int; // VIOLATION      
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.maintanability.AvoidUsingWithKeyWordRule" message="You should not use the with keyword. It does not help readability">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.maintanability.AvoidUsingWithKeyWordRule"
+        message="You should not use the with keyword. It does not help readability"
+        language="flex">
     <description/>
     <priority>3</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.maintanability.ArrayFieldWithNoArrayElementTypeRule" message="ArrayElementType metadata is not specified for this array-type field ({0})">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.maintanability.ArrayFieldWithNoArrayElementTypeRule"
+        message="ArrayElementType metadata is not specified for this array-type field ({0})"
+        language="flex">
     <description/>
     <priority>3</priority>
     <example><![CDATA[public class ArrayVO {
@@ -256,7 +354,10 @@ public class Foo
    public var menuItems : Array;
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.maintanability.ClassAndExtensionAreIdenticalRule" message="The extension name is the same as the class name">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.maintanability.ClassAndExtensionAreIdenticalRule"
+        message="The extension name is the same as the class name"
+        language="flex">
     <description/>
     <priority>3</priority>
     <example><![CDATA[package com.MyCompany
@@ -266,14 +367,20 @@ public class Foo
    }
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.maintanability.ProtectedStaticMethodRule" message="This method ({0}) should be private">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.maintanability.ProtectedStaticMethodRule"
+        message="This method ({0}) should be private"
+        language="flex">
     <description/>
     <priority>3</priority>
     <example><![CDATA[protected static function foo() : void // VIOLATION
 {
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.maintanability.EmptyStatementRule" message="This statement is empty">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.maintanability.EmptyStatementRule"
+        message="This statement is empty"
+        language="flex">
     <description/>
     <priority>5</priority>
     <example><![CDATA[protected function foo() : void
@@ -283,7 +390,10 @@ public class Foo
    ; // VIOLATION
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.naming.TooShortVariableRule" message="This variable name is too short ({0} characters minimum, but {1} actually)">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.naming.TooShortVariableRule"
+        message="This variable name is too short ({0} characters minimum, but {1} actually)"
+        language="flex">
     <description>Detects when a field, local, or parameter has a very short name.</description>
     <priority>1</priority>
     <properties>
@@ -301,7 +411,10 @@ public class Foo
    }
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.naming.PackageCaseRule" message="A package name should be lower case ({0})">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.naming.PackageCaseRule"
+        message="A package name should be lower case ({0})"
+        language="flex">
     <description>Detects when a package definition contains upper case characters.</description>
     <priority>3</priority>
     <example><![CDATA[
@@ -313,7 +426,10 @@ package com.MyCompany  // VIOLATION <- should be lower case name
 }
          ]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.naming.VariableNameEndingWithNumericRule" message="Using digits at the end of a symbol does not help understanging the meaning of it. ({0})">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.naming.VariableNameEndingWithNumericRule"
+        message="Using digits at the end of a symbol does not help understanging the meaning of it. ({0})"
+        language="flex">
     <description/>
     <priority>3</priority>
     <example><![CDATA[
@@ -323,7 +439,10 @@ public class SomeClass
 }		
 		]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.naming.PropertyHiddenByLocalVariableRule" message="A class property is hidden by this local variable ({0})">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.naming.PropertyHiddenByLocalVariableRule"
+        message="A class property is hidden by this local variable ({0})"
+        language="flex">
     <description/>
     <priority>3</priority>
     <example><![CDATA[public class SomeClass 
@@ -336,7 +455,10 @@ public class SomeClass
    }
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.naming.WronglyNamedVariableRule" message="This variable ({0}) seems to be incorrectly named. Let your creativity flow">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.naming.WronglyNamedVariableRule"
+        message="This variable ({0}) seems to be incorrectly named. Let your creativity flow"
+        language="flex">
     <description/>
     <priority>3</priority>
     <example><![CDATA[
@@ -351,7 +473,10 @@ public class SomeClass
 }		
 		]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.parsley.InaccessibleMetaDataRule" message="Parsley metadata should not be placed on inaccessible members.">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.parsley.InaccessibleMetaDataRule"
+        message="Parsley metadata should not be placed on inaccessible members."
+        language="flex">
     <description>Parsley can only process metadata that is placed onto public members.</description>
     <priority>1</priority>
     <example><![CDATA[[MessageHandler]
@@ -359,7 +484,10 @@ private function doSomething() : void // VIOLATION
 {      
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.parsley.MismatchedManagedEventRule" message="Managed events should have matching [Event] metadata">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.parsley.MismatchedManagedEventRule"
+        message="Managed events should have matching [Event] metadata"
+        language="flex">
     <description>Each managed event should have matching [Event] metadata.</description>
     <priority>1</priority>
     <example><![CDATA[[Event(name="message", type="my.package.MyEvemt")]
@@ -368,7 +496,10 @@ public class MyClass
 {      
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.parsley.MessageInterceptorSignatureRule" message="The signature of the message interceptor {0} is not correct. {1}.">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.parsley.MessageInterceptorSignatureRule"
+        message="The signature of the message interceptor {0} is not correct. {1}."
+        language="flex">
     <description/>
     <priority>1</priority>
     <example><![CDATA[
@@ -394,11 +525,17 @@ public function messageInterceptor( processor : MessageProcessor, type : MyMessa
 {
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.parsley.MisplacedMetaDataRule" message="This metadata {0} is misplaced">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.parsley.MisplacedMetaDataRule"
+        message="This metadata {0} is misplaced"
+        language="flex">
     <description/>
     <priority>1</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.parsley.RedundantMessageHandlerTypeAttributeRule" message="This type metadata argument is redundant with the handler argument type">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.parsley.RedundantMessageHandlerTypeAttributeRule"
+        message="This type metadata argument is redundant with the handler argument type"
+        language="flex">
     <description/>
     <priority>3</priority>
     <example><![CDATA[
@@ -408,7 +545,10 @@ public function doSomething( message : MyMessage ) : void
    message.toString();
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.parsley.RedundantMethodAttributeRule" message="This method metadata argument is redundant with the handler name">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.parsley.RedundantMethodAttributeRule"
+        message="This method metadata argument is redundant with the handler name"
+        language="flex">
     <description/>
     <priority>3</priority>
     <example><![CDATA[
@@ -418,7 +558,10 @@ public function doSomething( message : MyMessage ) : void
    message.toString();
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.parsley.UnknownMetaDataAttributeRule" message="This metadata attribute {0} is unknown">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.parsley.UnknownMetaDataAttributeRule"
+        message="This metadata attribute {0} is unknown"
+        language="flex">
     <description/>
     <priority>1</priority>
     <example><![CDATA[
@@ -434,11 +577,17 @@ public class UnknownMetaDataAttribute
    }
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.performance.DynamicFiltersUsedInPopup" message="A popup should not use dynamic filters">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.performance.DynamicFiltersUsedInPopup"
+        message="A popup should not use dynamic filters"
+        language="flex">
     <description>Prefer using embed filters in assets</description>
     <priority>3</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.performance.CyclomaticComplexityRule" message="This method is too complex. Maximum complexity is {0}, but its cyclomatic complexity was {1}">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.performance.CyclomaticComplexityRule"
+        message="This method is too complex. Maximum complexity is {0}, but its cyclomatic complexity was {1}"
+        language="flex">
     <description/>
     <priority>3</priority>
     <properties>
@@ -447,23 +596,38 @@ public class UnknownMetaDataAttribute
       </property>
     </properties>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.performance.HeavyConstructorRule" message="Constructor must be as lightweight as possible. No control statement allowed, whereas a cyclomatic complexe of {0} has been detected">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.performance.HeavyConstructorRule"
+        message="Constructor must be as lightweight as possible. No control statement allowed, whereas a cyclomatic complexity of {0} has been detected"
+        language="flex">
     <description>The Just-In-Time compiler does not compile constructors. Make them as lightweight as possible, or move the complexity of the code to a method called by the constructor. Then the complexity will be compiled by the JIT.</description>
     <priority>3</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.performance.CreationPolicySetToAllRule" message="creationPolicy to ALL impacts the performance significantly">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.performance.CreationPolicySetToAllRule"
+        message="creationPolicy to ALL impacts the performance significantly"
+        language="flex">
     <description/>
     <priority>1</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.performance.DeeplyNestedIfRule" message="Nested if statements are not a good design">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.performance.DeeplyNestedIfRule"
+        message="Nested if statements are not a good design"
+        language="flex">
     <description/>
     <priority>3</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.performance.RecursiveStyleManagerRule" message="Detect calls to the StyleManager that don’t pass “false” as the second parameter">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.performance.RecursiveStyleManagerRule"
+        message="Detect calls to the StyleManager that don’t pass “false” as the second parameter"
+        language="flex">
     <description>A recursive style manager call can be a very expensive operation, causing parts of the UI to flicker visibly. Instead it is preferable to defer the creation of parts of the UI that depend on a runtime CSS SWF until after the SWF has been loaded. In this case a recursive call is not required.</description>
     <priority>3</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.sizing.TooManyFunctionRule" message="Too many methods detected ({0} maximum, but {1} actually)">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.sizing.TooManyFunctionRule"
+        message="Too many methods detected ({0} maximum, but {1} actually)"
+        language="flex">
     <description>A class with too many methods is probably a good suspect for refactoring, in order to reduce its complexity and find a way to have more fine grained objects.</description>
     <priority>3</priority>
     <properties>
@@ -479,7 +643,10 @@ public class UnknownMetaDataAttribute
       // [... more more public methods ...]
    }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.sizing.TooLongFunctionRule" message="This function is far too long ({0} maximum, but {1} actually)">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.sizing.TooLongFunctionRule"
+        message="This function is far too long ({0} maximum, but {1} actually)"
+        language="flex">
     <description>Violations of this rule usually indicate that the method has too much responsibility. Try to reduce the method size by creating helper methods and removing any copy/pasted code.</description>
     <priority>3</priority>
     <properties>
@@ -497,7 +664,10 @@ public class UnknownMetaDataAttribute
       }
    }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.sizing.TooLongSwitchCaseRule" message="Long switch case detected ({0} lines maximum, but {1} actually)">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.sizing.TooLongSwitchCaseRule"
+        message="Long switch case detected ({0} lines maximum, but {1} actually)"
+        language="flex">
     <description>A switch case statement should be either empty, or contain a break, or call another method.</description>
     <priority>3</priority>
     <properties>
@@ -525,7 +695,10 @@ public class UnknownMetaDataAttribute
       }
    }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.sizing.TooManyParametersRule" message="Long parameter list detected ({0} maximum, but {1} actually)">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.sizing.TooManyParametersRule"
+        message="Long parameter list detected ({0} maximum, but {1} actually)"
+        language="flex">
     <description>Long parameter lists can indicate that a new object should be created to wrap the numerous parameters.  Basically, try to group the parameters together.</description>
     <priority>3</priority>
     <properties>
@@ -541,7 +714,10 @@ public class UnknownMetaDataAttribute
       }
    }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.sizing.TooManyPublicRule" message="Too many public fields or functions detected ({0} maximum, but {1} actually)">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.sizing.TooManyPublicRule"
+        message="Too many public fields or functions detected ({0} maximum, but {1} actually)"
+        language="flex">
     <description>A large number of public methods and attributes declared in a class can indicate the class may need to be broken up as increased effort will be required to thoroughly test it.</description>
     <priority>3</priority>
     <properties>
@@ -564,7 +740,10 @@ public class UnknownMetaDataAttribute
       // [... more more public methods ...]
    }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.sizing.TooManyFieldsRule" message="Too many field detected ({0} maximum, but {1} actually)">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.sizing.TooManyFieldsRule"
+        message="Too many field detected ({0} maximum, but {1} actually)"
+        language="flex">
     <description>Classes that have too many fields could be redesigned to have fewer fields, possibly  through some nested object grouping of some of the information.  For example, a class with  city/state/zipcode fields could instead have one Address field.</description>
     <priority>3</priority>
     <properties>
@@ -582,7 +761,10 @@ public class UnknownMetaDataAttribute
 
    }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.style.ConstructorNonEmptyReturnTypeRule" message="A constructor should not have a return type">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.style.ConstructorNonEmptyReturnTypeRule"
+        message="A constructor should not have a return type"
+        language="flex">
     <description>Even if this is syntactically correct, there should not be a return type for a constructor.</description>
     <priority>5</priority>
     <example><![CDATA[public class VoidConstructor   
@@ -592,7 +774,10 @@ public class UnknownMetaDataAttribute
       }      
    }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.style.OverLongLineRule" message="Too long line ({0} maximum, but {1} actually)">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.style.OverLongLineRule"
+        message="Too long line ({0} maximum, but {1} actually)"
+        language="flex">
     <description/>
     <priority>5</priority>
     <properties>
@@ -601,7 +786,10 @@ public class UnknownMetaDataAttribute
       </property>
     </properties>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.style.ImportFromSamePackageRule" message="Imports from the same package are not necessary">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.style.ImportFromSamePackageRule"
+        message="Imports from the same package are not necessary"
+        language="flex">
     <description/>
     <priority>5</priority>
     <example><![CDATA[package com.adobe.ac
@@ -614,11 +802,17 @@ public class UnknownMetaDataAttribute
    }
 }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.style.BadFormatLoggerRule" message="The logger is not correctly formatted because {0}">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.style.BadFormatLoggerRule"
+        message="The logger is not correctly formatted because {0}"
+        language="flex">
     <description/>
     <priority>5</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.switchrules.SwitchStatementsShouldHaveDefaultRule" message="A switch statement does not contain a default statement">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.switchrules.SwitchStatementsShouldHaveDefaultRule"
+        message="A switch statement does not contain a default statement"
+        language="flex">
     <description>Switch statements should have a default label in order to detect corner cases.</description>
     <priority>1</priority>
     <example><![CDATA[public class Foo 
@@ -633,7 +827,10 @@ public class UnknownMetaDataAttribute
       }
    }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.switchrules.NestedSwitchRule" message="Switch must not be nested">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.switchrules.NestedSwitchRule"
+        message="Switch must not be nested"
+        language="flex">
     <description>As a general practice, switch statement should not be used. Prefer using inheritance. It is even harder to read when switch statements are nested.</description>
     <priority>3</priority>
     <example><![CDATA[public function foo( a : Number, b : Number ) : void
@@ -654,7 +851,10 @@ public class UnknownMetaDataAttribute
           }
       }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.switchrules.TooFewBrancheInSwitchStatementRule" message="There are too few branches in this switch statement ({0} minimum, but {1} actual)">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.switchrules.TooFewBrancheInSwitchStatementRule"
+        message="There are too few branches in this switch statement ({0} minimum, but {1} actual)"
+        language="flex">
     <description>Switch statements are designed for complex branches, and allow branches to share treatment. Using a switch for only 2 branches is ill advised, as switches are not as easy to understand as if. In this case, it's most likely is a good idea to use a if statement</description>
     <priority>5</priority>
     <properties>
@@ -663,15 +863,24 @@ public class UnknownMetaDataAttribute
       </property>
     </properties>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.switchrules.IdenticalSwitchCasesRule" message="Two switch cases should not be identical">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.switchrules.IdenticalSwitchCasesRule"
+        message="Two switch cases should not be identical"
+        language="flex">
     <description/>
     <priority>1</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.flexunit.EmptyUnitTest" message="A test should contain at least one assertion">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.flexunit.EmptyUnitTest"
+        message="A test should contain at least one assertion"
+        language="flex">
     <description/>
     <priority>3</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.unused.UnusedParameterRule" message="This parameter ({0}) of this function is not used">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.unused.UnusedParameterRule"
+        message="This parameter ({0}) of this function is not used"
+        language="flex">
     <description/>
     <priority>1</priority>
     <example><![CDATA[public function foo( param1 : Number, param2 : Number, param3 : Number, param4 : Number, param5 : Number ) : void // 4 violations
@@ -679,7 +888,10 @@ public class UnknownMetaDataAttribute
          var i : int = param1;
       }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.unused.UnusedLocalVariableRule" message="This variable ({0}) is not used">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.unused.UnusedLocalVariableRule"
+        message="This variable ({0}) is not used"
+        language="flex">
     <description/>
     <priority>3</priority>
     <example><![CDATA[public function foo() : void
@@ -687,15 +899,24 @@ public class UnknownMetaDataAttribute
          var i : int = 0;// 1 violation
       }]]></example>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.unused.UnusedPrivateMethodRule" message="This private method ({0}) does not seem to be used">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.unused.UnusedPrivateMethodRule"
+        message="This private method ({0}) does not seem to be used"
+        language="flex">
     <description/>
     <priority>1</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.unused.UnusedFieldRule" message="This private attribute ({0}) does not seem to be used">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.unused.UnusedFieldRule"
+        message="This private attribute ({0}) does not seem to be used"
+        language="flex">
     <description/>
     <priority>1</priority>
   </rule>
-  <rule since="" class="com.adobe.ac.pmd.rules.unused.EmptyPrivateMethodRule" message="This private method ({0}) is used but its content is empty">
+  <rule since=""
+        class="com.adobe.ac.pmd.rules.unused.EmptyPrivateMethodRule"
+        message="This private method ({0}) is used but its content is empty"
+        language="flex">
     <description/>
     <priority>1</priority>
   </rule>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-cpd-ant-task/pom.xml
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-cpd-ant-task/pom.xml b/FlexPMD/flex-pmd-java/flex-pmd-cpd-ant-task/pom.xml
index bb55333..a6ff4ce 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-cpd-ant-task/pom.xml
+++ b/FlexPMD/flex-pmd-java/flex-pmd-cpd-ant-task/pom.xml
@@ -34,7 +34,7 @@ limitations under the License.
     <dependencies>
 
         <dependency>
-            <groupId>pmd</groupId>
+            <groupId>net.sourceforge.pmd</groupId>
             <artifactId>pmd</artifactId>
             <version>${pmd.version}</version>
         </dependency>
@@ -127,7 +127,7 @@ limitations under the License.
                                       todir="${project.build.directory}/release" overwrite="true"/>
                                 <copy file="${org.apache.flex.pmd:flex-pmd-cpd:jar}"
                                       todir="${project.build.directory}/release" overwrite="true"/>
-                                <copy file="${pmd:pmd:jar}"
+                                <copy file="${net.sourceforge.pmd:pmd:jar}"
                                       todir="${project.build.directory}/release" overwrite="true"/>
                                 <echo message="Copying Ant dependencies..."/>
                                 <copy file="${org.apache.flex.pmd:flex-pmd-files:jar}"

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-cpd-ant-task/src/main/java/com/adobe/ac/cpd/ant/FlexCpdAntTask.java
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-cpd-ant-task/src/main/java/com/adobe/ac/cpd/ant/FlexCpdAntTask.java b/FlexPMD/flex-pmd-java/flex-pmd-cpd-ant-task/src/main/java/com/adobe/ac/cpd/ant/FlexCpdAntTask.java
index 1f1a438..7da57cd 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-cpd-ant-task/src/main/java/com/adobe/ac/cpd/ant/FlexCpdAntTask.java
+++ b/FlexPMD/flex-pmd-java/flex-pmd-cpd-ant-task/src/main/java/com/adobe/ac/cpd/ant/FlexCpdAntTask.java
@@ -21,11 +21,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import net.sourceforge.pmd.cpd.CPD;
-import net.sourceforge.pmd.cpd.FileReporter;
-import net.sourceforge.pmd.cpd.Renderer;
-import net.sourceforge.pmd.cpd.ReportException;
-import net.sourceforge.pmd.cpd.XMLRenderer;
+import net.sourceforge.pmd.cpd.*;
 
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.DirectoryScanner;
@@ -63,8 +59,12 @@ public class FlexCpdAntTask extends Task
 
          log( "Tokenizing files",
               Project.MSG_INFO );
-         final CPD cpd = new CPD( minimumTokenCount, new FlexLanguage() );
-         cpd.setEncoding( encoding );
+
+         CPDConfiguration cpdCfg = new CPDConfiguration();
+         cpdCfg.setMinimumTileSize(minimumTokenCount);
+         cpdCfg.setEncoding(encoding);
+         cpdCfg.setLanguage(new FlexLanguage());
+         final CPD cpd = new CPD( cpdCfg );
          tokenizeFiles( cpd );
 
          log( "Starting to analyze code",

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-cpd-command-line/pom.xml
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-cpd-command-line/pom.xml b/FlexPMD/flex-pmd-java/flex-pmd-cpd-command-line/pom.xml
index 32e8a44..8dd56fe 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-cpd-command-line/pom.xml
+++ b/FlexPMD/flex-pmd-java/flex-pmd-cpd-command-line/pom.xml
@@ -51,7 +51,7 @@
         </dependency>
 
         <dependency>
-            <groupId>pmd</groupId>
+            <groupId>net.sourceforge.pmd</groupId>
             <artifactId>pmd</artifactId>
             <version>${pmd.version}</version>
         </dependency>
@@ -171,7 +171,7 @@
                                 <copy file="${org.apache.flex.pmd:as3-plugin-utils:jar}"
                                       todir="${project.build.directory}/release" overwrite="true"/>
                                 <echo message="Copying Command line dependencies..."/>
-                                <copy file="${pmd:pmd:jar}"
+                                <copy file="${net.sourceforge.pmd:pmd:jar}"
                                       todir="${project.build.directory}/release" overwrite="true"/>
                                 <copy file="${commons-lang:commons-lang:jar}"
                                       todir="${project.build.directory}/release" overwrite="true"/>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-cpd-command-line/src/main/java/com/adobe/ac/cpd/commandline/FlexCPD.java
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-cpd-command-line/src/main/java/com/adobe/ac/cpd/commandline/FlexCPD.java b/FlexPMD/flex-pmd-java/flex-pmd-cpd-command-line/src/main/java/com/adobe/ac/cpd/commandline/FlexCPD.java
index c43042f..be260ea 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-cpd-command-line/src/main/java/com/adobe/ac/cpd/commandline/FlexCPD.java
+++ b/FlexPMD/flex-pmd-java/flex-pmd-cpd-command-line/src/main/java/com/adobe/ac/cpd/commandline/FlexCPD.java
@@ -26,11 +26,7 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 
 import net.sourceforge.pmd.PMDException;
-import net.sourceforge.pmd.cpd.CPD;
-import net.sourceforge.pmd.cpd.FileReporter;
-import net.sourceforge.pmd.cpd.Renderer;
-import net.sourceforge.pmd.cpd.ReportException;
-import net.sourceforge.pmd.cpd.XMLRenderer;
+import net.sourceforge.pmd.cpd.*;
 
 import com.adobe.ac.cpd.FlexLanguage;
 import com.adobe.ac.cpd.FlexTokenizer;
@@ -108,9 +104,13 @@ public final class FlexCPD
                + parameters.getMinimumTokenCount() );
 
          LOGGER.info( "Tokenizing files" );
-         final CPD cpd = new CPD( parameters.getMinimumTokenCount(), new FlexLanguage() );
 
-         cpd.setEncoding( ENCODING );
+         CPDConfiguration cpdCfg = new CPDConfiguration();
+         cpdCfg.setMinimumTileSize( parameters.getMinimumTokenCount() );
+         cpdCfg.setEncoding( ENCODING );
+         cpdCfg.setLanguage(new FlexLanguage());
+         final CPD cpd = new CPD( cpdCfg );
+
          tokenizeFiles( cpd );
 
          LOGGER.info( "Starting to analyze code" );

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/pom.xml b/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/pom.xml
index 7089f25..26c33c4 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/pom.xml
+++ b/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/pom.xml
@@ -35,7 +35,7 @@
 
     <dependencies>
         <dependency>
-            <groupId>pmd</groupId>
+            <groupId>net.sourceforge.pmd</groupId>
             <artifactId>pmd</artifactId>
             <version>${pmd.version}</version>
         </dependency>
@@ -81,6 +81,13 @@
             <scope>provided</scope>
         </dependency>
 
+        <dependency>
+            <groupId>org.apache.maven.plugin-testing</groupId>
+            <artifactId>maven-plugin-testing-harness</artifactId>
+            <version>${maven-plugin-testing.version}</version>
+            <scope>test</scope>
+        </dependency>
+
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/src/main/java/com/adobe/ac/cpd/maven/FlexCpdMojo.java
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/src/main/java/com/adobe/ac/cpd/maven/FlexCpdMojo.java b/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/src/main/java/com/adobe/ac/cpd/maven/FlexCpdMojo.java
index e7481e5..ed355ba 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/src/main/java/com/adobe/ac/cpd/maven/FlexCpdMojo.java
+++ b/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/src/main/java/com/adobe/ac/cpd/maven/FlexCpdMojo.java
@@ -24,16 +24,12 @@ import java.util.ResourceBundle;
 import java.util.Map.Entry;
 
 import net.sourceforge.pmd.PMDException;
-import net.sourceforge.pmd.cpd.CPD;
-import net.sourceforge.pmd.cpd.FileReporter;
-import net.sourceforge.pmd.cpd.Renderer;
-import net.sourceforge.pmd.cpd.ReportException;
-import net.sourceforge.pmd.cpd.XMLRenderer;
+import net.sourceforge.pmd.cpd.*;
 
+import org.apache.maven.doxia.siterenderer.Renderer;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.AbstractMavenReport;
 import org.apache.maven.reporting.MavenReportException;
-import org.codehaus.doxia.site.renderer.SiteRenderer;
 
 import com.adobe.ac.cpd.FlexLanguage;
 import com.adobe.ac.pmd.LoggerUtils;
@@ -83,11 +79,11 @@ public class FlexCpdMojo extends AbstractMavenReport
 
    /**
     * @parameter 
-    *            expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
+    *            expression="${component.org.apache.maven.doxia.siterenderer.Renderer}"
     * @required
     * @readonly
     */
-   private SiteRenderer siteRenderer;
+   private Renderer siteRenderer;
 
    /**
     * Specifies the location of the source files to be used.
@@ -129,7 +125,7 @@ public class FlexCpdMojo extends AbstractMavenReport
       return OUTPUT_NAME;
    }
 
-   void setSiteRenderer( final SiteRenderer site )
+   void setSiteRenderer( final Renderer site )
    {
       siteRenderer = site;
    }
@@ -139,7 +135,11 @@ public class FlexCpdMojo extends AbstractMavenReport
    {
       new LoggerUtils().loadConfiguration();
 
-      final CPD cpd = new CPD( minimumTokenCount, new FlexLanguage() );
+      CPDConfiguration cpdCfg = new CPDConfiguration();
+      cpdCfg.setMinimumTileSize(minimumTokenCount);
+      cpdCfg.setEncoding(encoding);
+      cpdCfg.setLanguage(new FlexLanguage());
+      final CPD cpd = new CPD( cpdCfg );
 
       try
       {
@@ -184,14 +184,14 @@ public class FlexCpdMojo extends AbstractMavenReport
    }
 
    @Override
-   protected SiteRenderer getSiteRenderer()
+   protected Renderer getSiteRenderer()
    {
       return siteRenderer;
    }
 
    private void report( final CPD cpd ) throws ReportException
    {
-      final Renderer renderer = new XMLRenderer( encoding );
+      final net.sourceforge.pmd.cpd.Renderer renderer = new XMLRenderer( encoding );
       final FileReporter reporter = new FileReporter( new File( outputDirectory.getAbsolutePath(),
                                                                 OUTPUT_NAME
                                                                       + ".xml" ), encoding );

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/src/test/java/com/adobe/ac/cpd/maven/FlexCpdMojoTest.java
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/src/test/java/com/adobe/ac/cpd/maven/FlexCpdMojoTest.java b/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/src/test/java/com/adobe/ac/cpd/maven/FlexCpdMojoTest.java
index 93d09cb..12ebdd4 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/src/test/java/com/adobe/ac/cpd/maven/FlexCpdMojoTest.java
+++ b/FlexPMD/flex-pmd-java/flex-pmd-cpd-maven-plugin/src/test/java/com/adobe/ac/cpd/maven/FlexCpdMojoTest.java
@@ -19,9 +19,9 @@ package com.adobe.ac.cpd.maven;
 import java.io.File;
 import java.io.IOException;
 
+import org.apache.maven.doxia.siterenderer.DefaultSiteRenderer;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
-import org.codehaus.doxia.site.renderer.DefaultSiteRenderer;
 import org.junit.Test;
 
 import com.adobe.ac.pmd.FlexPmdTestBase;

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-cpd/pom.xml
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-cpd/pom.xml b/FlexPMD/flex-pmd-java/flex-pmd-cpd/pom.xml
index 3e02e2c..fcdea54 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-cpd/pom.xml
+++ b/FlexPMD/flex-pmd-java/flex-pmd-cpd/pom.xml
@@ -33,7 +33,7 @@ limitations under the License.
 	<dependencies>
 
 		<dependency>
-			<groupId>pmd</groupId>
+            <groupId>net.sourceforge.pmd</groupId>
 			<artifactId>pmd</artifactId>
 			<version>${pmd.version}</version>
 		</dependency>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-cpd/src/test/java/com/adobe/ac/cpd/FlexCpdTest.java
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-cpd/src/test/java/com/adobe/ac/cpd/FlexCpdTest.java b/FlexPMD/flex-pmd-java/flex-pmd-cpd/src/test/java/com/adobe/ac/cpd/FlexCpdTest.java
index 091f744..e08162b 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-cpd/src/test/java/com/adobe/ac/cpd/FlexCpdTest.java
+++ b/FlexPMD/flex-pmd-java/flex-pmd-cpd/src/test/java/com/adobe/ac/cpd/FlexCpdTest.java
@@ -24,6 +24,7 @@ import java.util.Iterator;
 import java.util.Map.Entry;
 
 import net.sourceforge.pmd.cpd.CPD;
+import net.sourceforge.pmd.cpd.CPDConfiguration;
 import net.sourceforge.pmd.cpd.Match;
 
 import org.junit.Ignore;
@@ -65,7 +66,10 @@ public class FlexCpdTest extends FlexPmdTestBase
    @Ignore
    public void test119() throws IOException
    {
-      final CPD cpd = new CPD( 25, new FlexLanguage() );
+      CPDConfiguration cpdCfg = new CPDConfiguration();
+      cpdCfg.setMinimumTileSize(25);
+      cpdCfg.setLanguage(new FlexLanguage());
+      final CPD cpd = new CPD( cpdCfg );
 
       cpd.add( new File( "src/test/resources/test/FlexPMD119.mxml" ) );
       cpd.go();
@@ -111,7 +115,10 @@ public class FlexCpdTest extends FlexPmdTestBase
 
    private Iterator< Match > getMatchIterator() throws IOException
    {
-      final CPD cpd = new CPD( 25, new FlexLanguage() );
+      CPDConfiguration cpdCfg = new CPDConfiguration();
+      cpdCfg.setMinimumTileSize(25);
+      cpdCfg.setLanguage(new FlexLanguage());
+      final CPD cpd = new CPD( cpdCfg );
 
       for ( final Entry< String, IFlexFile > includedFile : getTestFiles().entrySet() )
       {

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/pom.xml b/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/pom.xml
index 639ff1e..32b745d 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/pom.xml
+++ b/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/pom.xml
@@ -106,6 +106,13 @@
             <artifactId>flex-pmd-ruleset</artifactId>
             <version>${project.parent.version}</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.apache.maven.plugin-testing</groupId>
+            <artifactId>maven-plugin-testing-harness</artifactId>
+            <version>${maven-plugin-testing.version}</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/main/java/com/adobe/ac/pmd/maven/AbstractFlexPmdMojo.java
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/main/java/com/adobe/ac/pmd/maven/AbstractFlexPmdMojo.java b/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/main/java/com/adobe/ac/pmd/maven/AbstractFlexPmdMojo.java
index df314e1..76171ba 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/main/java/com/adobe/ac/pmd/maven/AbstractFlexPmdMojo.java
+++ b/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/main/java/com/adobe/ac/pmd/maven/AbstractFlexPmdMojo.java
@@ -39,10 +39,10 @@ import javax.xml.transform.TransformerFactoryConfigurationError;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
+import org.apache.maven.doxia.siterenderer.Renderer;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.AbstractMavenReport;
 import org.apache.maven.reporting.MavenReportException;
-import org.codehaus.doxia.site.renderer.SiteRenderer;
 import org.w3c.dom.Document;
 import org.xml.sax.SAXException;
 
@@ -111,11 +111,11 @@ abstract class AbstractFlexPmdMojo extends AbstractMavenReport
 
    /**
     * @parameter 
-    *            expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
+    *            expression="${component.org.apache.maven.doxia.siterenderer.Renderer}"
     * @required
     * @readonly
     */
-   private SiteRenderer siteRenderer;
+   private Renderer siteRenderer;
 
    /**
     * Specifies the location of the source files to be used.
@@ -244,7 +244,7 @@ abstract class AbstractFlexPmdMojo extends AbstractMavenReport
    }
 
    @Override
-   protected final SiteRenderer getSiteRenderer()
+   protected final Renderer getSiteRenderer()
    {
       return siteRenderer;
    }
@@ -273,7 +273,7 @@ abstract class AbstractFlexPmdMojo extends AbstractMavenReport
       }
    }
 
-   protected final void setSiteRenderer( final SiteRenderer siteRendererToBeSet ) // NO_UCD
+   protected final void setSiteRenderer( final Renderer siteRendererToBeSet ) // NO_UCD
    {
       this.siteRenderer = siteRendererToBeSet;
    }

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/main/java/com/adobe/ac/pmd/maven/FlexPmdHtmlEngine.java
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/main/java/com/adobe/ac/pmd/maven/FlexPmdHtmlEngine.java b/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/main/java/com/adobe/ac/pmd/maven/FlexPmdHtmlEngine.java
index 33715fa..3c5aa3b 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/main/java/com/adobe/ac/pmd/maven/FlexPmdHtmlEngine.java
+++ b/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/main/java/com/adobe/ac/pmd/maven/FlexPmdHtmlEngine.java
@@ -27,10 +27,9 @@ import net.sourceforge.pmd.Report;
 import net.sourceforge.pmd.RuleContext;
 import net.sourceforge.pmd.renderers.HTMLRenderer;
 
-import org.apache.maven.plugin.pmd.PmdFileInfo;
 import org.apache.maven.plugin.pmd.PmdReportListener;
 import org.apache.maven.project.MavenProject;
-import org.codehaus.doxia.sink.Sink;
+import org.apache.maven.doxia.sink.Sink;
 
 import com.adobe.ac.pmd.FlexPmdParameters;
 import com.adobe.ac.pmd.FlexPmdViolations;
@@ -71,11 +70,11 @@ class FlexPmdHtmlEngine extends AbstractFlexPmdEngine
    {
       final Report report = new Report();
       final RuleContext ruleContext = new RuleContext();
-      final PmdReportListener reportSink = new PmdReportListener( sink, bundle, aggregate );
+      final PmdReportListener reportSink = new PmdReportListener();
 
       report.addListener( reportSink );
-      ruleContext.setReport( report );
-      reportSink.beginDocument();
+      ruleContext.setReport(report);
+//      reportSink.beginDocument();
       report.start();
 
       for ( final IFlexFile file : pmd.getViolations().keySet() )
@@ -83,9 +82,9 @@ class FlexPmdHtmlEngine extends AbstractFlexPmdEngine
          final File javaFile = new File( file.getFilePath() ); // NOPMD
          final List< IFlexViolation > violations = pmd.getViolations().get( file );
 
-         reportSink.beginFile( javaFile,
-                               new PmdFileInfo( project, javaFile.getParentFile(), "" ) ); // NOPMD
-         ruleContext.setSourceCodeFilename( file.getPackageName()
+/*         reportSink.beginFile(javaFile,
+                 new PmdFileInfo(project, javaFile.getParentFile(), "")); // NOPMD
+*/         ruleContext.setSourceCodeFilename( file.getPackageName()
                + "." + file.getClassName() );
 
          for ( final IFlexViolation violation : violations )
@@ -93,10 +92,10 @@ class FlexPmdHtmlEngine extends AbstractFlexPmdEngine
             report.addRuleViolation( violation );
             reportSink.ruleViolationAdded( violation );
          }
-         reportSink.endFile( javaFile );
+//         reportSink.endFile( javaFile );
       }
 
-      reportSink.endDocument();
+//      reportSink.endDocument();
       report.end();
 
       return report;
@@ -105,15 +104,14 @@ class FlexPmdHtmlEngine extends AbstractFlexPmdEngine
    private void writeReport( final File outputDirectory,
                              final Report report ) throws PMDException
    {
-      final HTMLRenderer renderer = new HTMLRenderer( "", "" );
+      final HTMLRenderer renderer = new HTMLRenderer();
 
       try
       {
          final FileWriter fileWriter = new FileWriter( new File( outputDirectory.getAbsolutePath()
                + "/" + FlexPMDFormat.HTML.toString() ) );
 
-         renderer.render( fileWriter,
-                          report );
+         renderer.renderBody( fileWriter, report );
          renderer.getWriter().flush();
          fileWriter.close();
       }

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/test/java/com/adobe/ac/pmd/maven/FlexPmdMojoTest.java
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/test/java/com/adobe/ac/pmd/maven/FlexPmdMojoTest.java b/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/test/java/com/adobe/ac/pmd/maven/FlexPmdMojoTest.java
index 39ff497..3dd34c0 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/test/java/com/adobe/ac/pmd/maven/FlexPmdMojoTest.java
+++ b/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/test/java/com/adobe/ac/pmd/maven/FlexPmdMojoTest.java
@@ -23,9 +23,9 @@ import java.io.File;
 import java.net.URL;
 import java.util.Locale;
 
+import org.apache.maven.doxia.siterenderer.DefaultSiteRenderer;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
-import org.codehaus.doxia.site.renderer.DefaultSiteRenderer;
 import org.junit.Test;
 
 import com.adobe.ac.pmd.FlexPmdParameters;

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/7f1d4d2a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/test/java/com/adobe/ac/pmd/maven/FlexPmdReportMojoTest.java
----------------------------------------------------------------------
diff --git a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/test/java/com/adobe/ac/pmd/maven/FlexPmdReportMojoTest.java b/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/test/java/com/adobe/ac/pmd/maven/FlexPmdReportMojoTest.java
index 54767cf..9632328 100644
--- a/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/test/java/com/adobe/ac/pmd/maven/FlexPmdReportMojoTest.java
+++ b/FlexPMD/flex-pmd-java/flex-pmd-maven-plugin/src/test/java/com/adobe/ac/pmd/maven/FlexPmdReportMojoTest.java
@@ -22,9 +22,9 @@ import java.io.File;
 import java.util.Locale;
 import java.util.ResourceBundle;
 
+import org.apache.maven.doxia.siterenderer.DefaultSiteRenderer;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
-import org.codehaus.doxia.site.renderer.DefaultSiteRenderer;
 import org.junit.Test;
 
 import com.adobe.ac.pmd.FlexPmdParameters;