Reputation: 1658
I want to use Apache Camel 2.14.0 in my project, and specifically use the Quickfixj component. However, I want to make some changes to the camel-quickfix component, and deploy those changes to our local Nexus repo for use. The changes would meet certain functionality we are looking for our FIX Engine.
However, the question I have is, in the {local-git-repo}/camel/components/camel-quickfix/pom.xml, I see the following:
<parent>
<groupId>org.apache.camel</groupId>
<artifactId>components</artifactId>
<version>2.14.0</version>
</parent>
<artifactId>camel-quickfix</artifactId>
<packaging>bundle</packaging>
<name>Camel :: QuickFIX/J</name>
<description>Camel QuickFIX/J support</description>
Usually, what I would do is change the version to say, 2.14.1, and then build and deploy to our local nexus repo, so we can reuse the modified component in our local projects. However, with this, it seems to be referring to the parent pom.
How could I go about modifying this component, and yet still have it refer to the camel-core 2.14.0 version and its dependencies?
Or could I just build it as 2.14.0, and hope that when my maven project runs, it picks up the artifact from my thirdparty repo, and not the one from the apache mirror?
Please help, if you are a maven expert :)
Upvotes: 0
Views: 294
Reputation: 40398
It would be wise to avoid building a different version of 2.14.0
and hoping that the correct version gets pulled from your local repo by maven (which can do apparently strange things at the best of times).
Likewise, I would also avoid future official versioning (2.14.1
, etc).
If you can't or aren't willing to contribute your changes to the core build via the Apache project, why not just build a local version, like for example 2.14.0-CUSTOM-1.0
?
The version attribute 2.14.0-CUSTOM-1.0
clearly states that this will be a custom build descendant on 2.14.0, plus with your own versioning on the end.
<parent>
<groupId>org.apache.camel</groupId>
<artifactId>components</artifactId>
<version>2.14.0</version>
</parent>
<artifactId>camel-quickfix</artifactId>
<version>2.14.0-CUSTOM-1.0</version>
<packaging>bundle</packaging>
<name>Camel :: QuickFIX/J</name>
<description>Camel QuickFIX/J support</description>
(Remember to use the correct version in your features.xml
)
Upvotes: 1