Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-1039

Inconsistency packaging vs. type

    XMLWordPrintableJSON

Details

    Description

      The Maven Bundle Plugin uses

      <packaging>bundle</packaging>

      Scenario #1 - dependency uses type=bundle

      <dependency>
      <groupId>org.jboss.osgi</groupId>
      <artifactId>jboss-osgi-common</artifactId>
      <version>${version}</version>
      <type>bundle</type>
      </dependency>

      with type=bundle the the dependency is resolved correctly from the the build reactor.
      'mvn package' succeeds. Note, the artefact is not yet in the local repository.

      Scenario #2 - dependency uses unspecified type

      <dependency>
      <groupId>org.jboss.osgi</groupId>
      <artifactId>jboss-osgi-common</artifactId>
      <version>${version}</version>
      </dependency>

      'mvn package' fails if the artefact is not yet in the local repository
      'mvn install' succeeds

      Scenario #3 - the dependent bundle is not part of the reactor build

      'mvn package' or 'mvn install' will always fail when the dependency is declared with type=bundle

      Fazit:

      If you declare the dependency with type=bundle, the dependency cannot be resolved from the repository.
      If you don't declare a dependency type, the dependency can only be resolved from the repository. 'mvn package' will fail if the dependency is not in the repository.

      Workaround:

      Don't use type=bundle in the dependency and always install. i.e. 'mvn install'

      Attachments

        Activity

          People

            mcculls Stuart McCulloch
            tdiesler Thomas Diesler
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: