Thank you for your reply, Brian!

Yes, that is what I figured as well. The workspace consists of several projects which does not share the same parent pom (only in the context of running eclipse:eclipse). So I don't want to be forced to upgrade the version of the plugin in projects which I decide to include in my "workspace" pom, when they are really independent projects. It seems a bit odd that there are som kind of "validating" of the configured execution goal for the plugin when explicitly running eclipse:eclipse, since eclipse:eclipse does not actually execute that goal. I have read that eclipse:eclipse also triggers the generate-resources phase, but maven-dependency-plugin is bound to the verify phase, much later in the lifecycle.

Anyway, we worked around the problem by specifying the execution of dependency:analyze-only in its own profile which is activated by Hudson. So the dependency check happens on our CI server, but cannot be triggered in the build by default, since it interferes with the eclipse:eclipse goal, and people are individually maintaining their own workspace POMs depending on what artifacts they would like linked up in Eclipse.

- Rune

Brian E. Fox skrev:
Maven will use the first version of a plugin it sees, so somewhere in
your workspace you have an old version of the dependency plugin and when
running the other projects, it is still using this old version.

-----Original Message-----
From: Rune Flobakk [mailto:[EMAIL PROTECTED] Sent: Thursday, September 04, 2008 6:32 AM
To: [email protected]
Subject: maven-dependency-plugin 2.0 fails when running eclipse:eclipse

Hello,

On my project we have quite a large codebase separated in several Maven
multimodule projects. In one of the parent poms I have configured to use
maven-dependency-plugin to verify that we use dependencies
appropriately, as described here:
http://maven.apache.org/plugins/maven-dependency-plugin/examples/failing
-the-build-on-dependency-analysis-warnings.html

Snippet from our parent pom:
<build>
  ...
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
    </plugin>
  </plugins>
  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.0</version>
        <executions>
          <execution>
            <id>analyze</id>
            <phase>verify</phase>
            <goals>
              <goal>analyze-only</goal>
            </goals>
            <configuration>
              <failOnWarning>true</failOnWarning>
              <ignoreNonCompile>true</ignoreNonCompile>
            </configuration>
          </execution>
        </executions>
      </plugin>
    ...
  </pluginManagement>
</build>

When I run any lifecycle phase including verify (e.g. install, deploy)
from that parent pom, every child module gets its dependency use
checked, and the build fails on violations. All well!

But when I run eclipse:eclipse and specifies a "workspace" pom, which
only lists modules from many different projects, some external to this
project but still internal to the organization, for some reason Maven
seems to do "something" with the maven-dependency-plugin execution
config for that one multimodule project. The problem as I understand it,
is that the projects involved in the "workspace" pom uses different
versions of maven-dependency-plugin, and I see that Maven downloads both
2.0-alpha-4 and 2.0 when I run eclipse:eclipse.

The error message I get from Maven is this:
[INFO]
------------------------------------------------------------------------
[INFO] Building project-x
[INFO]    task-segment: [eclipse:eclipse]
[INFO]
------------------------------------------------------------------------
[INFO] Preparing eclipse:eclipse
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] 'analyze-only' was specified in an execution, but not found in
the plugin [INFO]
------------------------------------------------------------------------

When building project-x on its own, everything is OK. So why does Maven
get confused on which plugin version it should use when the project-x is
included as one of many modules of a super-super-pom?

Sorry for a very verbose mail, I hope it's possible to understand the
problem. Thanks in advance for any help :)

Regards,
Rune Flobakk


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




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

Reply via email to