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

Inconsistency packaging vs. type

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment