| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. See accompanying LICENSE file. |
| --> |
| <project xmlns="http://maven.apache.org/POM/4.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 |
| https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <groupId>org.apache.ozone</groupId> |
| <artifactId>ozone-annotation-processing</artifactId> |
| <version>1.3.0-SNAPSHOT</version> |
| <description>Apache Ozone annotation processing tools for validating custom |
| annotations at compile time. |
| </description> |
| <name>Apache Ozone Annotation Processing</name> |
| <packaging>jar</packaging> |
| |
| <properties> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
| <spotbugs.version>3.1.12</spotbugs.version> |
| <maven-checkstyle-plugin.version>3.1.0</maven-checkstyle-plugin.version> |
| <checkstyle.version>8.29</checkstyle.version> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-annotations</artifactId> |
| <version>${spotbugs.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <!-- |
| | As this pom is not a child of the main ozone pom.xml, if we want |
| | findbugs and checkstyle to be running for the module, the plugins |
| | have to be defined here. |
| --> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>${spotbugs.version}</version> |
| <configuration> |
| <maxHeap>1024</maxHeap> |
| <xmlOutput>true</xmlOutput> |
| <includeTests>true</includeTests> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>${maven-checkstyle-plugin.version}</version> |
| <dependencies> |
| <dependency> |
| <groupId>com.puppycrawl.tools</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>${checkstyle.version}</version> |
| </dependency> |
| </dependencies> |
| <configuration> |
| <configLocation>../../hadoop-hdds/dev-support/checkstyle/checkstyle.xml</configLocation> |
| <suppressionsLocation>../../hadoop-hdds/dev-support/checkstyle/suppressions.xml</suppressionsLocation> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| <failOnViolation>false</failOnViolation> |
| <outputFile>${project.build.directory}/test/checkstyle-errors.xml</outputFile> |
| </configuration> |
| </plugin> |
| <!-- |
| | Compiler plugin configuration have to be modified to compile the |
| | annotation processor, without having any annotation processor applied |
| | as due to the presence of |
| | META-INF/services/javac.annotation.processing.Processor the compilation |
| | would fail as the linked processor class can not be find while we are |
| | compiling it, hence the compiler argument -proc:none is specified here. |
| --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.9.0</version> |
| <configuration> |
| <source>1.8</source> |
| <target>1.8</target> |
| </configuration> |
| <executions> |
| <execution> |
| <id>default-compile</id> |
| <configuration> |
| <compilerArgument>-proc:none</compilerArgument> |
| <includes> |
| <include>org/apache/ozone/annotations/**</include> |
| </includes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| </project> |