You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by "Joseph Witt (JIRA)" <ji...@apache.org> on 2015/01/03 06:41:34 UTC

[jira] [Commented] (NIFI-222) Versions of extensions should have no impact on ability to pull in artifacts

    [ https://issues.apache.org/jira/browse/NIFI-222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14263425#comment-14263425 ] 

Joseph Witt commented on NIFI-222:
----------------------------------

So we need to get rid of the use of ${project.version} and instead explicitly set the versions of dependencies we want.  Otherwise things which inherent from these parents will not work right as whatever version the child has will be used by the parent to find deps which is wrong.  

This change should be ok though because utlimately the maven-release-plugin handles automaticallly updating those deps.



> Versions of extensions should have no impact on ability to pull in artifacts
> ----------------------------------------------------------------------------
>
>                 Key: NIFI-222
>                 URL: https://issues.apache.org/jira/browse/NIFI-222
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Tools and Build
>            Reporter: Bryan Bende
>            Assignee: Joseph Witt
>              Labels: build, maven
>
> 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."



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)