Hi Xavier,
Thanks for the news!
I downloaded the new RC5 and tried to suppress specific FlexPMD violation however this feature still doesn't work.
It always suppresses all violations on this particular line regardless what I put as violation rule - // NO PMD <ViolationRule>.
Please see ticket FLEXPMD-88.
I tried to reopen the ticket (since it says the problem was fixed in RC5) however I could not change its status.
Am I missing something? Can I suppress a specific violation on specific line without suppressing all PMD violations with the new release?
What exactly should I put as <ViolationRule>?
Some examples...
paragraph.addChild(new BreakElement()); // NO PMD AlertShow
paragraph.addChild(new BreakElement()); // NO PMD AlertShowRule
paragraph.addChild(new BreakElement()); // NO PMD com.adobe.ac.pmd.rules.maintanability.AlertShow
paragraph.addChild(new BreakElement()); // NO PMD com.adobe.ac.pmd.rules.maintanability.AlertShowRule
Thanks
I did a first test with PMD this morning and everything happedned ok but nont with CPD.
When I try to launch my ant task I have this error message :
cpd:
[cpd] Starting run, minimumTokenCount is 50
[cpd] Tokenizing files
BUILD FAILED
D:\Docs\workspace\PETOR\rnd\Discovery\build.xml:266: java.lang.NoClassDefFoundError: com/adobe/ac/pmd/parser/KeyWords
Any idea ?
Thanks
My entire log when I launch the cpd ant task :
Buildfile: D:\Docs\workspace\PETOR\Discovery\build.xml
cpd:
[cpd] Starting run, minimumTokenCount is 50
[cpd] Tokenizing files
BUILD FAILED
D:\Docs\workspace\PETOR\rnd\Discovery\build.xml:260: java.lang.NoClassDefFoundError: com/adobe/ac/pmd/parser/KeyWords
Total time: 640 milliseconds
I did not see you were running from Ant.
So you need to add the as3-parser-api jar in your class path.
<taskdef name="cpd" classname="com.adobe.ac.cpd.ant.FlexCpdAntTask"
classpath="${flexpmd.libs}/flex-pmd-cpd-ant-task-${flexpmd.version}.jar">
<classpath>
<pathelement location="${flexpmd.libs}/flex-pmd-files-${flexpmd.version}.jar" />
<pathelement location="${flexpmd.libs}/flex-pmd-cpd-${flexpmd.version}.jar" />
<pathelement location="${flexpmd.libs}/as3-plugin-utils-${flexpmd.version}.jar" />
<pathelement location="${flexpmd.libs}/as3-parser-${flexpmd.version}.jar" />
<pathelement location="${flexpmd.libs}/as3-parser-api${flexpmd.version}.jar" />
<pathelement location="${flexpmd.libs}/pmd-4.2.5.jar" />
</classpath>
</taskdef>
<target name="cpd">
<cpd minimumTokenCount="50" outputFile="${flexpmd.output}/cpd.xml">
<fileset dir="${src}">
<include name="**/*.as"/>
<include name="**/*.mxml"/>
</fileset>
</cpd>
</target>
It's already the case :
<taskdef name="cpd" classname="com.adobe.ac.cpd.ant.FlexCpdAntTask"
classpath="${flexpmd.libs}/flex-pmd-cpd-ant-task-${flexpmd.version}.j ar">
<classpath>
<pathelement location="${flexpmd.libs}/flex-pmd-files-${flexpmd.version}.jar" />
<pathelement location="${flexpmd.libs}/flex-pmd-cpd-${flexpmd.version}.jar" />
<pathelement location="${flexpmd.libs}/as3-plugin-utils-${flexpmd.version}.jar" />
<pathelement location="${flexpmd.libs}/as3-parser-${flexpmd.version}.jar" />
<pathelement location="${flexpmd.libs}/as3-parser-api${flexpmd.version}.jar" />
<pathelement location="${flexpmd.libs}/pmd-4.2.5.jar" />
</classpath>
</taskdef>
<target name="cpd">
<cpd minimumTokenCount="50" outputFile="${flexpmd.output}/cpd.xml">
<fileset dir="${src.dir}">
<include name="**/*.as"/>
<include name="**/*.mxml"/>
</fileset>
</cpd>
</target>
Hi Xavier,
First of all, thanks for your job!
Is there change in the way to use the Maven plugin?
The FlexPMD RC4 was a plugin in the reporting section. And it needed to be generated by a site goal.
What about the RC5, it seems that it is a plugin and that we don't need anymore to set up it with the site goal.
Is that true?
Sorry if it supposed to clear but I didn't found more information about that except on Adobe open Source page.
David
North America
Europe, Middle East and Africa
Asia Pacific