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 <[email protected]> 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 <[email protected]> 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 >
