[
https://issues.apache.org/jira/browse/FLUME-2199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Bayer updated FLUME-2199:
--------------------------------
Attachment: FLUME-2199.patch
This patch creates a separate flume-parent/pom.xml, renames the top-level POM
to "flume-project", gets rid of the dependencyManagement section for the flume
artifacts from the parent in favor of specifying the version as project.version
whenever they're used (which makes a bunch of things smoother), sets up proper
relative paths for parent POMs everywhere, only runs the site plugin for the
top-level POM, and only does the dependency aggregation for javadoc in the
top-level POM.
Net result is a drop in "mvn clean source:jar javadoc:javadoc install
-DskipTests -Psite" from 7m52s to 2m48s.
> Flume builds with new version require mvn install before site can be generated
> ------------------------------------------------------------------------------
>
> Key: FLUME-2199
> URL: https://issues.apache.org/jira/browse/FLUME-2199
> Project: Flume
> Issue Type: Bug
> Components: Build
> Affects Versions: v1.4.0
> Reporter: Andrew Bayer
> Fix For: v1.5.0
>
> Attachments: FLUME-2199.patch
>
>
> At this point, if you change the version for Flume, you need to run a mvn
> install before you can run with -Psite (or, for that matter, javadoc:javadoc)
> enabled. This is because the top-level POM in flume.git/pom.xml is both the
> parent POM and the root of the reactor - since it's the parent, it's got to
> run before any of the children that inherit from it, but site generation
> should be running *after* all the children, so that it probably pulls in the
> reactor's build of each child module, rather than having to pull in one
> already installed/deployed before the build starts.
> There are a bunch of other reasons to split parent POM and top-level POM, but
> that's the biggest one right there.
> Also, the javadoc jar generation is a bit messed up - every module's javadoc
> jar contains not only its own javadocs but the javadocs for every Flume
> module it depends on. That, again, may make sense in a site context for the
> top-level, but not for the individual modules. This results in unnecessary
> bloat in the javadoc jars, and unnecessary time spent downloading the
> "*-javadoc-resources.jar" for every dependency each module has, due to how
> the javadoc plugin works. Also the whole site generation per-module thing,
> which I am not a fan of in most cases. I don't think it's needed here.
> Tweaking the site plugin not to run anywhere but the top-level and the
> javadoc plugin to not do the dependency aggregation anywhere but the
> top-level should make a big difference on build speed.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira