Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-222

Versions of extensions should have no impact on ability to pull in artifacts

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.0.1
    • Tools and Build

    Description

      Hi all,

      I'm trying to setup a Maven project for a custom nar and from looking at
      the other nars I created something like the following:

      1) parent project with a pom that has two modules

      2) a jar project where the main code lives, the pom for this project has a
      parent of the pom referenced in #1

      3) a nar project that has a dependency on #2 and a parent of:
      <parent>
      <groupId>org.apache.nifi</groupId>
      <artifactId>nar-bundle-parent</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      </parent>

      Now all three of my poms had a version of 0.1-SNAPSHOT by default, so my
      nar project had something like this:

      <artifactId>example-nar</artifactId>
      <version>0.1-SNAPSHOT</version>
      <packaging>nar</packaging>

      When I ran mvn clean install from the root, the jar built fine, and when it
      hit the nar project it failed with this:

      The following artifacts could not be resolved:
      org.apache.nifi:nifi-api:jar:0.1-SNAPSHOT,
      org.apache.nifi:nifi-processor-utils:jar:0.1-SNAPSHOT

      For some reason it used the version of my nar to look for the Nifi
      artifacts, even though the dependencies I had declared in the jar project
      were:

      <dependency>
      <groupId>org.apache.nifi</groupId>
      <artifactId>nifi-api</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <scope>compile</scope>
      </dependency>
      <dependency>
      <groupId>org.apache.nifi</groupId>
      <artifactId>nifi-processor-utils</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <scope>compile</scope>
      </dependency>

      Then I changed the version in my nar pom from 0.1-SNAPSHOT to
      0.0.1-SNAPSHOT and the build works fine and I'm able to deploy the nar no
      problem.

      Is this the expected behavior, or did I set these projects up wrong?

      Thanks,

      Bryan
      ++++++

      As found here in maven docs:
      http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Project_Aggregation

      The following quote is key:

      "One factor to note is that these variables are processed after inheritance as outlined above. This means that if a parent project uses a variable, then its definition in the child, not the parent, will be the one eventually used."

      Attachments

        1. donothing-bundle.tar.gz
          2 kB
          Joe Witt

        Activity

          People

            joewitt Joe Witt
            bbende Bryan Bende
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: