Drill uses the standard Apache license header checker:
The license checks are enabled by default, bound to the validate
build phase. They can be disabled using the Maven argumment -Drat.skip=true
. RAT will accept a license header appearing in a Javadoc comment (which opens with /**
) but these result in noise the generated Javadoc HTML. Any instances of such headers can be found using a pattern, e.g.
grep -Pzo '/\*\*\n \* Licensed to the Apache Software Foundation' **/*.java
and corrected by replacing the opening /**
with /*
.
The Maven build does not do automatic insertion of license headers to avoid mislicensing code under other open source licenses that may have been brought into the Drill codebase with the exception of generated code (see the protocol module).
Drill makes use of org.codehaus.mojo:license-maven-plugin to generate the LICENSE file bundled with its binary distribution (distribution/src/main/resources/LICENSE). This plugin binds to the generate-resources build phase and combines undetectable license notices that are manually maintained in a base Freemarket template (see distribution/src/main/resources/licenses/) with autodetected license notices. It can be run manually as follows.
cd distribution mvn license:add-third-party
If a dependency that the plugin cannot lookup a license for has been introduced then it will fail with an instruction to add determine the license manually and add it to the MISSING.properties file.