Hi All, I'm hoping someone can explain a mystery in the root pom.xml file. We have a list of modules:
<modules> <module>tools</module> <module>protocol</module> <module>common</module> <module>logical</module> <module>exec</module> <module>drill-yarn</module> <module>distribution</module> </modules> Note that contrib is not part of this list. The result is that, in a normal build, the contrib module gets built *after* we build the distribution. This is probably the problem that Charles asked about a week or so ago. [INFO] Packaging and Distribution Assembly ................ SUCCESS [ 32.665 s] [INFO] contrib/sqlline .................................... SUCCESS [ 1.525 s] [INFO] contrib/regex-format-plugin ........................ SUCCESS [ 3.691 s] [INFO] BUILD SUCCESS In the above, "regex-format-plugin" is the example plugin I'm trying to build. Note it is built *after* we build the output directory. Seems the solution is to work around the missing dependency by adding an explicit dependency to the distribution pom.xml file. This works, but seems broken somehow. Also, do we want sqlline to be built *after* we build the output directory? Further, it seems we do all this so we can have a separate "build-contrib" profile. Yet, the contrib directories are always built because of the forced dependency via distribution. Is this design intentional? Should we fix it? Unless someone can explain why this is a "feature", I'll file a JIRA that claims it is a "bug." Thanks, - Paul
