Jason van Zyl wrote:
> 
> On 27 Dec 07, at 4:02 PM 27 Dec 07, Dennis Lundberg wrote:
> 
>> Hi
>>
>> I've been applying patches to the pmd-plugin from Xavier Le Vourch. The
>> patches have been of good quality.
>>
>> Now I'm looking at a patch for http://jira.codehaus.org/browse/MPMD-63
>> which reads the jdk source level from the compiler-plugin, so that it
>> can feed this info to PMD. This topic has been brought up from time to
>> time and the only answer I have seen is: "No there is no standard way of
>> doing this".
>>
>> The code seems pretty straight-forward to me, but I wanted to check with
>> you before I apply it. Here's a run down of what it does:
>>
>> - Get the build/plugins from the pmd-plugins project model
>> - Pick out "org.apache.maven.plugins:maven-compiler-plugin"
>> - Create a DOM document of the plugin's configuration
>> - Use XPath to retrieve the "source" configuration
>>
>> Is this a good/ok/bad thing to do?
>>
> 
> Bad. You're going to end up with a bunch of plugins that are implicitly
> bound to one another and you'll have the same mess as Maven 1.x.
> 
> If someone wants to share that value across plugins then today using a
> property that is shared between the plugins is better then one plugin
> lifting values from another. Then you're dealing with something explicit
> which you can see in the POM.

Thanks Jason, so the most general and forward-compatible way would be a
best-practice.

Set up a property:

  <properties>
    <compileSource>1.5</compileSource>
  </properties>

and use that in the configuration section of each plugin

      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>${compileSource}</source>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-pmd-plugin</artifactId>
        <configuration>
          <targetJdk>${compileSource}</targetJdk>
        </configuration>
      </plugin>

I'll go ahead and close the issue as "won't fix" and add some
documentation, like the above.

> For anyone to generally try and check the consistency between two plugin
> configurations is just going to end up in a quagmire.
> 
> The toolchain is not going to happen tomorrow, but today we could pick
> some standard property keys for thing like the source level and use that
> in the POM so that many plugins can share the configuration. Plugins
> poking into other plugin's configuration is the path to a mess.
> 
>> -- 
>> Dennis Lundberg
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
> 
> Thanks,
> 
> Jason
> 
> ----------------------------------------------------------
> Jason van Zyl
> Founder,  Apache Maven
> jason at sonatype dot com
> ----------------------------------------------------------
> 
> believe nothing, no matter where you read it,
> or who has said it,
> not even if i have said it,
> unless it agrees with your own reason
> and your own common sense.
> 
> -- Buddha

-- 
Dennis Lundberg

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to