lints
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.eolang</groupId>
<artifactId>lints</artifactId>
<version>0.2.2</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
* SPDX-FileCopyrightText: Copyright (c) 2016-2026 Objectionary.com
* SPDX-License-Identifier: MIT
-->
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.jcabi</groupId>
<artifactId>parent</artifactId>
<version>0.73.1</version>
</parent>
<groupId>org.eolang</groupId>
<artifactId>lints</artifactId>
<version>0.2.2</version>
<packaging>jar</packaging>
<name>lints</name>
<description>Style checkers (linters) for EO language</description>
<url>https://github.com/objectionary/lints</url>
<inceptionYear>2024</inceptionYear>
<organization>
<name>Objectionary</name>
<url>https://www.objectionary.com</url>
</organization>
<licenses>
<license>
<name>MIT</name>
<url>https://raw.githubusercontent.com/yegor256/lints/master/LICENSE.txt</url>
<distribution>site</distribution>
</license>
</licenses>
<developers>
<developer>
<id>1</id>
<name>Yegor Bugayenko</name>
<email>yegor256@gmail.com</email>
<organization>yegor256.com</organization>
<organizationUrl>https://www.yegor256.com</organizationUrl>
<roles>
<role>Architect</role>
<role>Developer</role>
</roles>
<timezone>+3</timezone>
</developer>
</developers>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/objectionary/lints/issues</url>
</issueManagement>
<scm>
<connection>scm:git:git@github.com:objectionary/lints.git</connection>
<developerConnection>scm:git:git@github.com:objectionary/lints.git</developerConnection>
<url>https://github.com/objectionary/lints</url>
</scm>
<ciManagement>
<system>rultor</system>
<url>https://www.rultor.com/s/objectionary/lints</url>
</ciManagement>
<distributionManagement>
<site>
<id>github-pages</id>
<url>https://github.com/objectionary/lints</url>
</site>
</distributionManagement>
<properties>
<!-- Default empty so surefire works when JaCoCo is skipped; jacoco-maven-plugin:prepare-agent sets it when coverage is enabled -->
<argLine/>
<!-- This is the flag that allows to skip unit tests run by maven-surefire-plugin -->
<skipUTs/>
<!-- This is the flag that allows to skip integration tests run by maven-invoker-plugin -->
<skipITs/>
<!-- This is the flag that allows to skip all tests -->
<skipTests/>
</properties>
<dependencies>
<dependency>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-xml</artifactId>
<version>0.37.0</version>
</dependency>
<dependency>
<groupId>io.github.secretx33</groupId>
<artifactId>path-matching-resource-pattern-resolver</artifactId>
<version>0.1</version>
</dependency>
<dependency>
<groupId>org.cactoos</groupId>
<artifactId>cactoos</artifactId>
<version>0.61.0</version>
</dependency>
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
<version>13.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-manifests</artifactId>
<!-- version from the parent pom -->
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>com.yegor256</groupId>
<artifactId>xsline</artifactId>
<version>0.23.1</version>
</dependency>
<dependency>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-log</artifactId>
<version>0.24.3</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.18</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
<version>2.0.18</version>
</dependency>
<dependency>
<groupId>org.eolang</groupId>
<artifactId>eo-parser</artifactId>
<version>0.61.0</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.github.volodya-lombrozo</groupId>
<artifactId>xnav</artifactId>
<version>0.1.18</version>
</dependency>
<dependency>
<groupId>org.apache.opennlp</groupId>
<artifactId>opennlp-tools</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>com.yegor256</groupId>
<artifactId>tojos</artifactId>
<version>0.18.6</version>
</dependency>
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.12.0</version>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<!-- version from the parent pom -->
</dependency>
<dependency>
<groupId>com.yegor256</groupId>
<artifactId>mktmp</artifactId>
<version>0.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.yegor256</groupId>
<artifactId>together</artifactId>
<version>0.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.yegor256</groupId>
<artifactId>jping</artifactId>
<version>0.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.yegor256</groupId>
<artifactId>maybeslow</artifactId>
<version>0.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eolang</groupId>
<artifactId>jucs</artifactId>
<version>0.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eolang</groupId>
<artifactId>xax</artifactId>
<scope>test</scope>
<version>0.6.2</version>
</dependency>
<dependency>
<groupId>com.yegor256</groupId>
<artifactId>farea</artifactId>
<version>0.15.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.languagetool</groupId>
<artifactId>language-en</artifactId>
<version>6.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-matchers</artifactId>
<version>1.9.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>5.18.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>1.37</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit</artifactId>
<version>1.4.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>9.10.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>6.0.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>6.0.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>6.0.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>6.0.3</version>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>skipTests</id>
<activation>
<property>
<name>skipTests</name>
</property>
</activation>
<properties>
<skipITs>true</skipITs>
<skipUTs>true</skipUTs>
</properties>
</profile>
<profile>
<id>skipITs</id>
<activation>
<property>
<name>skipITs</name>
</property>
</activation>
<properties>
<skipITs>true</skipITs>
</properties>
</profile>
<profile>
<id>skipUTs</id>
<activation>
<property>
<name>skipUTs</name>
</property>
</activation>
<properties>
<skipUTs>true</skipUTs>
</properties>
</profile>
<profile>
<id>qulice</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.qulice</groupId>
<artifactId>qulice-maven-plugin</artifactId>
<version>0.27.6</version>
<configuration>
<excludes combine.children="append">
<exclude>pmd:/src/it/.*</exclude>
<exclude>checkstyle:/src/it/.*</exclude>
<exclude>duplicatefinder:.*</exclude>
<exclude>dependencies:.*</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>com.github.volodya-lombrozo</groupId>
<artifactId>jtcop-maven-plugin</artifactId>
<version>1.4.3</version>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<!-- version from the parent pom -->
<executions>
<execution>
<id>validate-markdown</id>
<phase>verify</phase>
<configuration>
<target>
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="maven.plugin.classpath"/>
<ant antfile="${basedir}/build-scripts/validate-markdown.xml" target="validate"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>hone</id>
<activation>
<activeByDefault>false</activeByDefault>
<!--
@todo #711:45min Enable `hone` profile on all platforms after.
For now, `hone-maven-plugin` fails on `macOS` and `Windows` machines.
After the issue will be fixed, we should `<os/>` element from the `<activation/>`
and keep `activeByDefault=true`.
-->
</activation>
<build>
<plugins>
<plugin>
<groupId>org.eolang</groupId>
<artifactId>hone-maven-plugin</artifactId>
<version>0.26.2</version>
<executions>
<execution>
<goals>
<goal>pull</goal>
<goal>optimize</goal>
</goals>
<configuration>
<rules>streams/*</rules>
<timeout>60</timeout>
<threads>0</threads>
<grepIn>(66-69-6C-74-65-72|6D-61-70)</grepIn>
<!-- Used as benchmark resource. -->
<excludes>/target/classes/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.class</excludes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>benchmark</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<!-- version from the parent pom -->
<configuration>
<excludedGroups>!benchmark</excludedGroups>
<excludes>
<exclude>
generated/**
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pit</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.25.3</version>
<executions>
<execution>
<goals>
<goal>mutationCoverage</goal>
</goals>
<configuration>
<threads>6</threads>
<mutationThreshold>60</mutationThreshold>
<excludedTestClasses>
<class>org.eolang.lints.SourceTest</class>
<class>org.eolang.lints.PkMonoTest</class>
<class>org.eolang.lints.LtByXslTest</class>
<class>org.eolang.lints.LtTestNotVerbTest</class>
</excludedTestClasses>
<excludedClasses>
<!-- Groovy script. -->
<class>org.eolang.lints.ReserveNames</class>
<!-- Used as benchmark resource. -->
<class>org.apache.hadoop.hdfs.server.namenode.FSNamesystem</class>
</excludedClasses>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.pitest</groupId>
<artifactId>pitest-junit5-plugin</artifactId>
<version>1.2.3</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>deep</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.6</version>
<configuration>
<groups>deep</groups>
<excludedGroups>benchmark,reserved</excludedGroups>
<excludes>
<exclude>
generated/**
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>java-17-plus</id>
<activation>
<jdk>[17,)</jdk>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<fork>true</fork>
<release>11</release>
<showWarnings>true</showWarnings>
<!--If you want to get all the errors at once, write false here and run-->
<failOnWarning>true</failOnWarning>
<compilerArgs>
<arg>-XDcompilePolicy=simple</arg>
<arg>-XDaddTypeAnnotationsToSymbol=true</arg>
<arg>--should-stop=ifError=FLOW</arg>
<arg>-Xplugin:ErrorProne -XepAllErrorsAsWarnings -Xep:InvalidBlockTag:OFF -Xep:StringConcatToTextBlock:OFF</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
<arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
<arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
</compilerArgs>
<annotationProcessorPaths>
<path>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_core</artifactId>
<version>2.49.0</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>proguard</id>
<activation>
<jdk>[,22)</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.7.0</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>proguard</goal>
</goals>
<configuration>
<exclusions>
<exclusion>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclusion>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
<libs>
<lib>${java.home}/jmods/java.base.jmod</lib>
<lib>${java.home}/jmods/java.logging.jmod</lib>
<lib>${java.home}/jmods/java.xml.jmod</lib>
<lib>${java.home}/jmods/java.sql.jmod</lib>
<lib>${java.home}/jmods/java.desktop.jmod</lib>
<lib>${java.home}/jmods/java.prefs.jmod</lib>
<lib>${java.home}/jmods/java.compiler.jmod</lib>
<lib>${java.home}/jmods/java.management.jmod</lib>
<lib>${java.home}/jmods/java.naming.jmod</lib>
</libs>
<options>
<option>-keep public class org.eolang.** { *; }</option>
<option>-dontnote **</option>
<option>-dontwarn lombok.Generated</option>
<option>-dontwarn org.apache.ivy.**</option>
<option>-dontwarn org.fusesource.jansi.**</option>
<option>-dontwarn com.thoughtworks.xstream.**</option>
<option>-dontwarn picocli.**</option>
<option>-dontwarn org.jline.**</option>
<option>-dontwarn javax.mail.**</option>
<option>-dontwarn javax.jms.**</option>
<option>-dontwarn edu.umd.cs.findbugs.annotations.**</option>
<option>-dontwarn org.apache.hadoop.**</option>
<option>-dontwarn org.apache.log4j.**</option>
<option>-dontwarn org.apache.commons.text.**</option>
<option>-dontwarn org.apache.groovy.**</option>
<option>-dontwarn org.apache.commons.logging.**</option>
<option>-dontwarn javax.servlet.**</option>
<option>-dontwarn org.apache.log.**</option>
<option>-dontwarn org.jetbrains.annotations.**</option>
<option>-dontwarn org.codehaus.groovy.**</option>
<option>-dontwarn groovy.**</option>
<option>-dontwarn groovyjarjarantlr4.**</option>
<option>-dontwarn groovyjarjarasm.**</option>
<option>-dontwarn io.github.secretx33.**</option>
<option>-dontwarn com.ibm.icu.**</option>
<option>-dontwarn jdk.internal.**</option>
<option>-dontwarn javax.json.**</option>
<option>-dontwarn com.opencsv.**</option>
<option>-dontwarn org.apache.commons.lang3.**</option>
<option>-dontwarn net.sf.saxon.**</option>
<option>-dontwarn com.jcabi.xml.**</option>
<option>-dontwarn jakarta.servlet.**</option>
<option>-dontwarn com.google.common.**</option>
<option>-dontwarn com.jcabi.manifests.**</option>
</options>
<injar>${project.build.finalName}.jar</injar>
<includeDependencyInjar>true</includeDependencyInjar>
<obfuscate>false</obfuscate>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>reserved</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>1.13.0</version>
<executions>
<execution>
<id>download-home</id>
<phase>initialize</phase>
<goals>
<goal>wget</goal>
</goals>
<configuration>
<url>https://github.com/objectionary/home/archive/refs/heads/master.zip</url>
<outputDirectory>${project.build.directory}/downloaded</outputDirectory>
<outputFileName>home.zip</outputFileName>
<skipCache>true</skipCache>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<!-- version from the parent pom -->
<executions>
<execution>
<id>unzip-home</id>
<phase>generate-sources</phase>
<configuration>
<target>
<unzip src="${project.build.directory}/downloaded/home.zip" dest="${project.build.directory}/downloaded"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<!-- version from the parent pom -->
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/classes/downloaded/home</outputDirectory>
<resources>
<resource>
<directory>${project.build.directory}/downloaded/home-master</directory>
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
<configuration>
<verbose>true</verbose>
<targetBytecode>11</targetBytecode>
</configuration>
<executions>
<execution>
<id>groovy-compile</id>
<goals>
<goal>addSources</goal>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>groovy-test</id>
<goals>
<goal>addTestSources</goal>
<goal>compileTests</goal>
</goals>
</execution>
<execution>
<id>groovy-execute</id>
<phase>process-classes</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<scripts>
<script>src/main/groovy/org/eolang/lints/ReserveNames.groovy</script>
</scripts>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.6</version>
<configuration>
<groups>reserved</groups>
<excludedGroups>benchmark,deep</excludedGroups>
<excludes>
<exclude>
generated/**
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>4.9.8.3</version>
<configuration>
<excludeFilterFile>${project.basedir}/spotbugs-exclude.xml</excludeFilterFile>
</configuration>
<dependencies>
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs</artifactId>
<version>4.9.8</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
<configuration>
<targetBytecode>11</targetBytecode>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<!-- version from the parent pom -->
<configuration>
<argLine>@{argLine} -Djdk.xml.totalEntitySizeLimit=0</argLine>
<skipTests>${skipUTs}</skipTests>
<excludedGroups>benchmark,deep,reserved</excludedGroups>
<excludes>
<exclude>
generated/**
</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
<configuration>
<skipInvocation>${skipITs}</skipInvocation>
</configuration>
<!-- version from the parent pom -->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<!-- version from the parent pom -->
<configuration>
<archive>
<index>true</index>
<manifestEntries>
<Lints-Version>${project.version}</Lints-Version>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<!-- version from the parent pom -->
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
<plugin>
<groupId>pw.krejci</groupId>
<artifactId>jmh-maven-plugin</artifactId>
<version>0.2.2</version>
</plugin>
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>1.13.0</version>
<executions>
<execution>
<id>download-model</id>
<phase>process-resources</phase>
<goals>
<goal>wget</goal>
</goals>
<configuration>
<url>https://opennlp.sourceforge.net/models-1.5/en-pos-perceptron.bin</url>
<outputFileName>en-pos-perceptron.bin</outputFileName>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<!-- version from the parent pom -->
<executions>
<execution>
<id>unpack-hadoop-fsnamesystem</id>
<phase>process-classes</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>3.5.0</version>
<type>jar</type>
<includes>org/apache/hadoop/hdfs/server/namenode/FSNamesystem.class</includes>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>