Arquillian
  1. Arquillian
  2. ARQ-889

Arquillian BOM causes ShrinkWrap dependencies to be included in the lib folder of a WAR archive

    Details

    • Type: Bug Bug
    • Status: Closed Closed (View Workflow)
    • Priority: Critical Critical
    • Resolution: Done
    • Affects Version/s: 1.0.0.Final
    • Fix Version/s: 1.0.1.Final
    • Component/s: None
    • Security Level: Public (Everyone can see)
    • Labels:
      None
    • Similar Issues:
      Show 10 results 

      Description

      The dependencies shrinkwrap-bom, shrinkwrap-resolver-bom, and shrinkwrap-descriptors-bom are using the scope import causing those libraries to be included in the project WAR archive.
      A quick fix is to remove the scope from those dependencies.

        Issue Links

          Activity

          Hide
          Gunnar Hilling
          added a comment -

          I think this issue should have a higher priority.
          Reasons:

          • The default documentation for a simple setup using arquillian is unusable in the current state.
          • The quick fix as described above is not usable because lots of arq-libs will have to be imported manually in the pom. The user shouldn't have to care about this (user experience).
          • The bug would be easy to fix by changing the dependencies in the arquillian bom(s) (arquillian and arquillian-drone)
          • However it seam a new (1.1.0-alpha2?) shrinkwrap-release would be needed ...
          Show
          Gunnar Hilling
          added a comment - I think this issue should have a higher priority. Reasons: The default documentation for a simple setup using arquillian is unusable in the current state. The quick fix as described above is not usable because lots of arq-libs will have to be imported manually in the pom. The user shouldn't have to care about this (user experience). The bug would be easy to fix by changing the dependencies in the arquillian bom(s) (arquillian and arquillian-drone) However it seam a new (1.1.0-alpha2?) shrinkwrap-release would be needed ...
          Hide
          Aslak Knutsen
          added a comment - - edited

          I've upped it to critical, not that that really means anything. We're well aware of the issue, but still Arquillian require ShrinkWrap Descriptors and ShrinkWrap to release a new v before we can do anything.

          Show
          Aslak Knutsen
          added a comment - - edited I've upped it to critical, not that that really means anything. We're well aware of the issue, but still Arquillian require ShrinkWrap Descriptors and ShrinkWrap to release a new v before we can do anything.
          Hide
          Samuel Santos
          added a comment -

          @Gunnar, the quick fix above will work exactly as expected.

          Define Arquillian BOM normally:

          <dependencyManagement>
              <dependencies>
                  <dependency>
                      <groupId>org.jboss.arquillian</groupId>
                      <artifactId>arquillian-bom</artifactId>
                      <version>1.0.0.Final</version>
                      <scope>import</scope>
                      <type>pom</type>
                  </dependency>
              </dependencies>
          </dependencyManagement>
          

          Add your Arquillian dependency with the scope test:

          <dependencies>
              <dependency>
                  <groupId>org.jboss.arquillian.testng</groupId>
                  <artifactId>arquillian-testng-container</artifactId>
                  <scope>test</scope>
              </dependency>
          </dependencies>
          

          And you will end up with all the needed JARs in your classpath with test scope.
          Removing the scope import from ShrinkWrap BOMs, will not cause the dependencies to be removed from your classpath.
          It's only a way to allow you to override their scopes with <scope>test</scope>, which is defined in arquillian-testng-container dependency.

          Show
          Samuel Santos
          added a comment - @Gunnar, the quick fix above will work exactly as expected. Define Arquillian BOM normally: <dependencyManagement> <dependencies> <dependency> <groupId>org.jboss.arquillian</groupId> <artifactId>arquillian-bom</artifactId> <version>1.0.0.Final</version> <scope> import </scope> <type>pom</type> </dependency> </dependencies> </dependencyManagement> Add your Arquillian dependency with the scope test: <dependencies> <dependency> <groupId>org.jboss.arquillian.testng</groupId> <artifactId>arquillian-testng-container</artifactId> <scope>test</scope> </dependency> </dependencies> And you will end up with all the needed JARs in your classpath with test scope. Removing the scope import from ShrinkWrap BOMs, will not cause the dependencies to be removed from your classpath. It's only a way to allow you to override their scopes with <scope>test</scope>, which is defined in arquillian-testng-container dependency.
          Show
          Aslak Knutsen
          added a comment - - edited pushed upstream https://github.com/arquillian/arquillian-core/commit/e0032d97bb10b08c6bfb11bc4f3f310f8ab7984d

            People

            • Assignee:
              Aslak Knutsen
              Reporter:
              Samuel Santos
            • Votes:
              2 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: