Uploaded image for project: 'DeltaSpike'
  1. DeltaSpike
  2. DELTASPIKE-1356

BOM imports more dependencies than it should

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.9.0
    • Fix Version/s: 1.9.1
    • Component/s: None
    • Labels:
      None
    • Environment:
      Maven 3.5.4

      Description

      This is a regression from 1.8.2 were the BOM was fixed again.

      The parent of the pom points to other poms that define additional dependencies.

      When I look at the effective pom I get these extra defintions from you bom import:

      <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-atinject_1.0_spec</artifactId>
      <version>1.0</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-ejb_3.1_spec</artifactId>
      <version>1.0.2</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-jcdi_1.0_spec</artifactId>
      <version>1.0</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-interceptor_1.1_spec</artifactId>
      <version>1.0</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.openwebbeans</groupId>
      <artifactId>openwebbeans-impl</artifactId>
      <version>1.2.8</version>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.openwebbeans</groupId>
      <artifactId>openwebbeans-spi</artifactId>
      <version>1.2.8</version>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.openwebbeans</groupId>
      <artifactId>openwebbeans-resource</artifactId>
      <version>1.2.8</version>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.openwebbeans</groupId>
      <artifactId>openwebbeans-web</artifactId>
      <version>1.2.8</version>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.openwebbeans</groupId>
      <artifactId>openwebbeans-jsf</artifactId>
      <version>1.2.8</version>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-servlet_3.0_spec</artifactId>
      <version>1.0</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-el_2.2_spec</artifactId>
      <version>1.0.3</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-validation_1.0_spec</artifactId>
      <version>1.1</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-jpa_2.0_spec</artifactId>
      <version>1.1</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-jta_1.1_spec</artifactId>
      <version>1.1.1</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-library</artifactId>
      <version>1.3</version>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-servlet_2.5_spec</artifactId>
      <version>1.2</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.openejb</groupId>
      <artifactId>arquillian-tomee-remote</artifactId>
      <version>1.7.0</version>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.tomee</groupId>
      <artifactId>arquillian-tomee-remote</artifactId>
      <version>1.7.0</version>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>javassist</groupId>
      <artifactId>javassist</artifactId>
      <version>3.12.0.GA</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>4.3.1.Final</version>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.bval</groupId>
      <artifactId>bval-jsr303</artifactId>
      <version>0.5</version>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.myfaces.core</groupId>
      <artifactId>myfaces-api</artifactId>
      <version>2.2.3</version>
      <scope>provided</scope>
      <exclusions>
      <exclusion>
      <artifactId>geronimo-jcdi_1.0_spec</artifactId>
      <groupId>org.apache.geronimo.specs</groupId>
      </exclusion>
      </exclusions>
      </dependency>
      <dependency>
      <groupId>org.apache.myfaces.core</groupId>
      <artifactId>myfaces-impl</artifactId>
      <version>2.2.3</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.myfaces.core</groupId>
      <artifactId>myfaces-impl-test</artifactId>
      <version>2.2.3</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.myfaces.test</groupId>
      <artifactId>myfaces-test20</artifactId>
      <version>1.0.6</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.1.1</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <version>1.9.5</version>
      <scope>test</scope>
      </dependency>
      

      My suggestion is to change org.apache.deltaspike.distribution:distributions-project as parent to org.apache.deltaspike:deltaspike

      It should be no problem if a module does not point to the parent it is defined in.

      To reproduce just create a pom with the deltaspike import in dependencyManagement section and show the effective pom.

      <dependency>
      <groupId>org.apache.deltaspike.distribution</groupId>
      <artifactId>distributions-bom</artifactId>
      <version>${version.deltaspike}</version>
      <type>pom</type>
      <scope>import</scope>
      </dependency>
      

      I do not understand where all these dependencies are coming from, because some of them are defined in profiles that should not be considered during bom import, perhaps this is also a maven bug.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                struberg Mark Struberg
                Reporter:
                reitzmichnicht Michael Düsterhus
              • Votes:
                1 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: