Maven 2 & 3

Project-level plugin dependencies are in random order after merging

Details

  • Complexity:
    Intermediate
  • Number of attachments :
    0

Description

Parent POM snippet:

<plugin>
  <groupId>org.apache.maven.its.plugins</groupId>
  <artifactId>maven-it-plugin-class-loader</artifactId>
  <version>2.1-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>org.apache.maven.its.mng3906</groupId>
      <artifactId>e</artifactId>
      <version>0.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.its.mng3906</groupId>
      <artifactId>a</artifactId>
      <version>0.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.its.mng3906</groupId>
      <artifactId>d</artifactId>
      <version>0.1</version>
    </dependency>
  </dependencies>
</plugin>

Child POM snippet:

<plugin>
  <groupId>org.apache.maven.its.plugins</groupId>
  <artifactId>maven-it-plugin-class-loader</artifactId>
  <version>2.1-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>org.apache.maven.its.mng3906</groupId>
      <artifactId>c</artifactId>
      <version>0.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.its.mng3906</groupId>
      <artifactId>a</artifactId>
      <version>0.2</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.its.mng3906</groupId>
      <artifactId>b</artifactId>
      <version>0.1</version>
    </dependency>
  </dependencies>
</plugin>

Effective child POM:

<plugin>
  <groupId>org.apache.maven.its.plugins</groupId>
  <artifactId>maven-it-plugin-class-loader</artifactId>
  <version>2.1-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>org.apache.maven.its.mng3906</groupId>
      <artifactId>e</artifactId>
      <version>0.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.its.mng3906</groupId>
      <artifactId>a</artifactId>
      <version>0.2</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.its.mng3906</groupId>
      <artifactId>d</artifactId>
      <version>0.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.its.mng3906</groupId>
      <artifactId>c</artifactId>
      <version>0.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.its.mng3906</groupId>
      <artifactId>b</artifactId>
      <version>0.1</version>
    </dependency>
  </dependencies>
</plugin>

This should be synced with the handling of ordinary project dependencies, i.e.

  1. plugin dependencies of child POM first (in POM order)
  2. plugin dependencies of parent POM last (in POM order)

Activity

Hide
Benjamin Bentmann added a comment -

Fixed in r726417 and r726431, respectively.

Show
Benjamin Bentmann added a comment - Fixed in r726417 and r726431, respectively.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: