diff options
Diffstat (limited to 'src/site-docs/adoc/fragments/howto-codestyle/30-configure-checkstyle-maven.adoc')
-rw-r--r-- | src/site-docs/adoc/fragments/howto-codestyle/30-configure-checkstyle-maven.adoc | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/site-docs/adoc/fragments/howto-codestyle/30-configure-checkstyle-maven.adoc b/src/site-docs/adoc/fragments/howto-codestyle/30-configure-checkstyle-maven.adoc new file mode 100644 index 000000000..2e6698fff --- /dev/null +++ b/src/site-docs/adoc/fragments/howto-codestyle/30-configure-checkstyle-maven.adoc @@ -0,0 +1,45 @@ +// +// ============LICENSE_START======================================================= +// Copyright (C) 2016-2018 Ericsson. All rights reserved. +// ================================================================================ +// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode +// +// SPDX-License-Identifier: CC-BY-4.0 +// ============LICENSE_END========================================================= +// +// @author Sven van der Meer (sven.van.der.meer@ericsson.com) +// + +== Configure Checkstyle (Maven) + +When using a custom style configuration with Checkstyle, the definition of that style must of course be available to Checkstyle. +In order not to have to distribute style files for checkstyle into all Maven modules, it is recommended that a special Maven module be built that contains the checkstyle style definition. +That module is then used as a dependency in the __POM__ for all other modules that wish to use that checkstyle style. +For a full explanation see link:https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/multi-module-config.html[the explanation of Checkstyle multi-module configuration]. + +In Apex, the module `apex-model.build-tools` provides the Apex checkstyle style files as resources in `src/main/resources/checkstyle`. +This style is a slightly tweaked version of the standard Google checkstyle style that allows longer lines and has some other checks slightly relaxed. +Therefore, all modules that wish to use the Apex style must put the following build directive into their `pom.xml`. + +[source%nowrap,xml] +---- +<plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <version>2.17</version> + <dependencies> + <dependency> + <groupId>org.onap.policy.apex.model</groupId> + <artifactId>apex-model.build-tools</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> + <configuration> + <configLocation>checkstyle/apex_style_checks.xml</configLocation> + <headerLocation>checkstyle/apex_header.txt</headerLocation> + </configuration> +</plugin> +---- + + |