| # Maven | |
| ## Introduction | |
| The Drill project uses Apache maven as the build tool. | |
| The project has been split up into a number of separate maven modules to isolate the various components and plugins. | |
| ## Naming new modules. | |
| ### The artifact name | |
| The artifactId is the name that is used as the name of the output of the build. | |
| In general the new name of an artifact should follow the pattern of `drill-<what>-<kind>` | |
| So a `format` plugin for `something` should become `drill-something-storage` | |
| If a module is really just a combination of other modules then let the name end with `-parent` and the module must be `<packaging>pom</packaging>`. | |
| ### The logging name | |
| To ensure the build remains readable for the developers building the system we want to have the module show a name | |
| that is easy to read and easy to understand which part of the project is being built. | |
| When creating a new module please make sure the new module has a name that follows the pattern shown in the other modules. | |
| Some basic patterns of those names: | |
| - All start with `Drill : ` | |
| - Various parts are separated by ` : ` | |
| - A `pom` module name ends with ` : ` | |
| - A `jar` module name ends with the name of that module. | |
| Please make sure the names are concise, unique and easy to read. | |
| ## drill-jdbc-all JAR maxsize | |
| The file drill-jdbc-all-${project.version}.jar is outside the expected size range. | |
| This is likely due to you adding new dependencies to a java-exec and not updating the excludes in this module. | |
| This is important as it minimizes the size of the dependency of Drill application users. | |
| The maxsize of the jar can be configured via `jdbc-all-jar.maxsize` property | |
| in [drill-jdbc-all](../../exec/jdbc-all/pom.xml) | |
| ## Maven profiles | |
| To check the full list of Maven profiles:<br> | |
| ``` | |
| mvn help:all-profiles | |
| ``` | |
| To check the list of active Maven profiles:<br> | |
| ``` | |
| mvn help:active-profiles | |
| ``` |