You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flume.apache.org by Eric Sammer <es...@cloudera.com> on 2011/12/14 04:33:27 UTC
Maven assembly (FLUME-878)
I'm flustered trying to get the maven assembly correct without going
bananas with include / excludes. The issue I need help with:
We have 8 (9, really) modules that need to be packaged in an assembly. They
are:
flume-ng-core
flume-ng-node
flume-ng-dist
flume-ng-sinks (pom only)
flume-hdfs-sink
flume-ng-channels (pom only)
flume-file-channel (currently broken, but it will exist at some point)
flume-jdbc-channel
There's also the top level pom which is the parent for the immediate 5
children (2 of which are parents for their respective children).
The assembly descriptor I'm writing lives in flume-ng-dist. Ideally, we
build a hybrid source / bin package that looks exactly like what you'd get
from a checkout *but* with the code already built so the shell scripts Just
Work.
e.g.
/{modules}
/lib
/bin
/{README, NOTICE, LICENSE, ...}
Where {modules} would be the immediate child plus their modules where
applicable. This, apparently, is very difficult to do without flattening
all modules as the hierarchy is (kinda) lost during build. I'm going to
push what I have to a feature branch as flume-878 in case someone has time
to look at it.
Another alternative is to flatten the modules out, physically.
--
Eric Sammer
twitter: esammer
data: www.cloudera.com
Re: Maven assembly (FLUME-878)
Posted by "ralph.goers @dslextreme.com" <ra...@dslextreme.com>.
Apache Commons Configuration is a multi-module project that I had to do a
bit of work on to create a release. Feel free to look at how that is
structured. It also uses a dist sub-project to create the distribution.
Ralph
On Wed, Dec 14, 2011 at 7:01 AM, Eric Sammer <es...@cloudera.com> wrote:
> After I sent this I got something working. I'm not convinced it's the Best
> Way(tm) but we can chase it with additional JIRAs.
>
>
>
> On Dec 13, 2011, at 7:33 PM, Eric Sammer <es...@cloudera.com> wrote:
>
> I'm flustered trying to get the maven assembly correct without going
> bananas with include / excludes. The issue I need help with:
>
> We have 8 (9, really) modules that need to be packaged in an assembly. They
> are:
>
> flume-ng-core
> flume-ng-node
> flume-ng-dist
> flume-ng-sinks (pom only)
> flume-hdfs-sink
> flume-ng-channels (pom only)
> flume-file-channel (currently broken, but it will exist at some point)
> flume-jdbc-channel
>
> There's also the top level pom which is the parent for the immediate 5
> children (2 of which are parents for their respective children).
>
> The assembly descriptor I'm writing lives in flume-ng-dist. Ideally, we
> build a hybrid source / bin package that looks exactly like what you'd get
> from a checkout *but* with the code already built so the shell scripts Just
> Work.
>
> e.g.
>
> /{modules}
> /lib
> /bin
> /{README, NOTICE, LICENSE, ...}
>
> Where {modules} would be the immediate child plus their modules where
> applicable. This, apparently, is very difficult to do without flattening
> all modules as the hierarchy is (kinda) lost during build. I'm going to
> push what I have to a feature branch as flume-878 in case someone has time
> to look at it.
>
> Another alternative is to flatten the modules out, physically.
> --
> Eric Sammer
> twitter: esammer
> data: www.cloudera.com
>
Re: Maven assembly (FLUME-878)
Posted by Eric Sammer <es...@cloudera.com>.
After I sent this I got something working. I'm not convinced it's the Best
Way(tm) but we can chase it with additional JIRAs.
On Dec 13, 2011, at 7:33 PM, Eric Sammer <es...@cloudera.com> wrote:
I'm flustered trying to get the maven assembly correct without going
bananas with include / excludes. The issue I need help with:
We have 8 (9, really) modules that need to be packaged in an assembly. They
are:
flume-ng-core
flume-ng-node
flume-ng-dist
flume-ng-sinks (pom only)
flume-hdfs-sink
flume-ng-channels (pom only)
flume-file-channel (currently broken, but it will exist at some point)
flume-jdbc-channel
There's also the top level pom which is the parent for the immediate 5
children (2 of which are parents for their respective children).
The assembly descriptor I'm writing lives in flume-ng-dist. Ideally, we
build a hybrid source / bin package that looks exactly like what you'd get
from a checkout *but* with the code already built so the shell scripts Just
Work.
e.g.
/{modules}
/lib
/bin
/{README, NOTICE, LICENSE, ...}
Where {modules} would be the immediate child plus their modules where
applicable. This, apparently, is very difficult to do without flattening
all modules as the hierarchy is (kinda) lost during build. I'm going to
push what I have to a feature branch as flume-878 in case someone has time
to look at it.
Another alternative is to flatten the modules out, physically.
--
Eric Sammer
twitter: esammer
data: www.cloudera.com