The way I usually go about extending Flume is to create a separate project and include Flume as a dependency; from there, after packaging my code as a .jar, it can be placed in a plugins.d/ directory as outlined here<https://github.com/apache/flume/blob/trunk/flume-ng-doc/sphinx/FlumeUserGuide.rst#installing-third-party-plugins>. This way you don't have to recompile the whole Flume project as you bug-fix.
Although, if you are looking to do more extensive modification of Flume, then your approach is probably the best. As to getting that dependency added to the lib folder: after it's added in the parent's pom, is it referenced in any of the modules? If not, I don't think maven will touch it, so add that dependency to wherever you are using it. If it's not something needed for compiling, you can add the dependency with a runtime scope (<scope>runtime</scope>) it whichever module uses it and it should then still be included in the lib folder. - Connor On Tue, Jan 29, 2013 at 5:05 PM, Utkarsh Sengar <[email protected]>wrote: > Got it, I am using release-1.3.1 then and things look good there. Thanks! > > Since I am at it, I have another question regarding dependency management. > Say I need to add a jar to the lib folder, when I add this dep to parent > pom.xml: > <dependency> > <groupId>org.hsqldb</groupId> > <artifactId>hsqldb</artifactId> > <version>1.8.0.10</version> > </dependency> > > It does not place the hsqldb jar to the lib folder. So how can I go about > adding this one? > > Thanks, > -Utkarsh > > > On Tue, Jan 29, 2013 at 4:44 PM, Brock Noland <[email protected]> wrote: > >> Hi, >> >> It looks like the flume-1.3.1 branch can be deleted. The real release >> is a tag "release-1.3.1" >> (https://github.com/apache/flume/tree/release-1.3.1) on the >> flume-1.3.0 branch. The branch flume-1.3.0 should really be named >> flume-1.3 and then each point release a tag within that branch. Note >> that the flume-1.4 branch has no .0 component. >> >> Brock >> >> On Tue, Jan 29, 2013 at 6:39 PM, Utkarsh Sengar <[email protected]> >> wrote: >> > Thanks for the quick reply. >> > Well, I am trying to fork out flume-1.3.1 to a private repo, make some >> minor >> > changes and deploy it internally. >> > >> > So, what do you think is the recommended approach for this? I found >> this tag >> > which looks like the actual release 1.3.1 tag: >> > https://github.com/apache/flume/tree/release-1.3.1 >> > >> > Thanks, >> > -Utkarsh >> > >> > >> > On Tue, Jan 29, 2013 at 4:29 PM, Connor Woodson <[email protected] >> > >> > wrote: >> >> >> >> The way the releases are made is by creating a branch for each >> release; I >> >> assume whomever pushed the 1.3.1 release updated the pom before they >> >> released it but forgot to push that change to github; it is something >> that >> >> probably should be fixed, but it's not a huge deal. >> >> >> >> Is there a particular reason you are trying to use Flume 1.3.1 off of >> >> github instead of as a download? >> >> >> >> - Connor >> >> >> >> >> >> On Tue, Jan 29, 2013 at 4:16 PM, Utkarsh Sengar <[email protected] >> > >> >> wrote: >> >>> >> >>> Hello, >> >>> >> >>> I am trying to use flume-1.3.1 off github: >> >>> https://github.com/apache/flume/tree/flume-1.3.1 >> >>> >> >>> On github, flume-1.3.1 branch's pom.xml says: <version>1.3.0</version> >> >>> but when I download flume 1.3.1 from >> http://flume.apache.org/download.html >> >>> the pom.xml says <version>1.3.1</version>. So, what's going on? >> >>> Shouldn't both of the code should be the same version? >> >>> >> >>> Also, when I build flume off the branch 1.3.1 via github, I get a dist >> >>> named: apache-flume-1.3.0-src.tar.gz >> >>> >> >>> Am I missing something here? My assumption was, both the sources >> should >> >>> be identical. >> >>> >> >>> -- >> >>> Thanks, >> >>> -Utkarsh >> >> >> >> >> > >> > >> > >> > -- >> > Thanks, >> > -Utkarsh >> >> >> >> -- >> Apache MRUnit - Unit testing MapReduce - >> http://incubator.apache.org/mrunit/ >> > > > > -- > Thanks, > -Utkarsh >
