ezkv-maven-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.jstach.ezkv</groupId> <artifactId>ezkv-maven-parent</artifactId> <version>0.4.0</version> </dependency>
<?xml version="1.0" encoding="UTF-8" standalone="no"?><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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>io.jstach.ezkv</groupId> <artifactId>ezkv-maven-parent</artifactId> <name>ezkv-maven-parent</name> <packaging>pom</packaging> <version>0.4.0</version> <url>https://github.com/jstachio/ezkv</url> <description> A non-opinionated Java bootstrapping configuration library that allows recursive chain loading of configuration from key values. </description> <organization> <name>ezkv</name> <url>https://jstach.io/ezkv</url> </organization> <properties> <java.version>21</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <metainf-services.version>1.11</metainf-services.version> <project.build.outputTimestamp>1736787823</project.build.outputTimestamp> <doc.resources>../</doc.resources> <doc.snippets>ezkv/src/test/java</doc.snippets> <deploy>snapshot</deploy> <!-- This property is to pin the build to a specific version of maven for reproducible builds as well as let dependabot check for maven updates. --> <maven.core.version>3.9.9</maven.core.version> <jdk.release.version>21.0.2</jdk.release.version> <ecj.version>3.39.0</ecj.version> <plexus-compiler-eclipse.version>2.15.0</plexus-compiler-eclipse.version> <error-prone.version>2.35.1</error-prone.version> <checkerframework.version>3.42.0</checkerframework.version> <pistachio.version>0.1.2</pistachio.version> <jstachio.version>1.3.6</jstachio.version> <slf4j.version>2.0.16</slf4j.version> <javadoc.modularity.mismatch>info</javadoc.modularity.mismatch> </properties> <scm> <connection>scm:git:https://github.com/jstachio/ezkv.git</connection> <developerConnection>scm:git:git@github.com:jstachio/ezkv.git</developerConnection> <url>https://github.com/jstachio/ezkv/tree/main</url> <tag>HEAD</tag> </scm> <licenses> <license> <name>The BSD 3-Clause License</name> <url>https://opensource.org/licenses/BSD-3-Clause</url> <distribution>repo</distribution> </license> </licenses> <developers> <developer> <id>agentgt</id> <name>Adam Gent</name> <email>adam at snaphop dot com</email> <organization>jstachio</organization> <organizationUrl>https://jstach.io</organizationUrl> </developer> </developers> <dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.jspecify</groupId> <artifactId>jspecify</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.junit-pioneer</groupId> <artifactId>junit-pioneer</artifactId> <version>2.3.0</version> <scope>test</scope> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>ezkv-kvs</artifactId> <version>${project.version}</version> </dependency> <!-- to make dependabot check for latest maven version --> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-core</artifactId> <version>${maven.core.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> <version>${maven.core.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.jspecify</groupId> <artifactId>jspecify</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>5.11.3</version> <scope>test</scope> </dependency> <dependency> <groupId>io.jstach.pistachio</groupId> <artifactId>pistachio-svc</artifactId> <version>${pistachio.version}</version> <optional>true</optional> <scope>provided</scope> </dependency> <dependency> <groupId>io.jstach.pistachio</groupId> <artifactId>pistachio-svc-apt</artifactId> <version>${pistachio.version}</version> <optional>true</optional> <scope>provided</scope> </dependency> <dependency> <groupId>io.jstach.pistachio</groupId> <artifactId>pistachio-prism</artifactId> <version>${pistachio.version}</version> <optional>true</optional> <scope>provided</scope> </dependency> <dependency> <groupId>io.jstach.pistachio</groupId> <artifactId>pistachio-prism-apt</artifactId> <version>${pistachio.version}</version> <optional>true</optional> <scope>provided</scope> </dependency> <dependency> <groupId>io.jstach</groupId> <artifactId>jstachio-annotation</artifactId> <version>${jstachio.version}</version> <optional>true</optional> <scope>provided</scope> </dependency> <dependency> <groupId>io.jstach</groupId> <artifactId>jstachio-apt</artifactId> <version>${jstachio.version}</version> <optional>true</optional> <scope>provided</scope> </dependency> </dependencies> </dependencyManagement> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-wrapper-plugin</artifactId> <version>3.3.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>3.4.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.3.1</version> <configuration> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.13.0</version> <configuration> <release>${java.version}</release> <encoding>${project.build.sourceEncoding}</encoding> <showWarnings>true</showWarnings> <failOnWarning>true</failOnWarning> <compilerArgs> <arg>-proc:full</arg> </compilerArgs> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.5.2</version> <configuration> <trimStackTrace>false</trimStackTrace> <printSummary>true</printSummary> <redirectTestOutputToFile>true</redirectTestOutputToFile> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>3.1.3</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.4.2</version> <configuration> <archive> <manifest> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> </manifest> <manifestEntries> <Implementation-Build>${buildNumber}</Implementation-Build> <Maven-Project-Name>${project.name}</Maven-Project-Name> <Maven-Project-ArtifactId>${project.artifactId}</Maven-Project-ArtifactId> <Maven-Project-GroupId>${project.groupId}</Maven-Project-GroupId> <Maven-Project-Version>${project.version}</Maven-Project-Version> </manifestEntries> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>3.1.3</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.3.1</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-archiver</artifactId> <version>4.10.0</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.11.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-help-plugin</artifactId> <version>3.5.1</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.6.0</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>3.2.1</version> <executions> <execution> <phase>validate</phase> <goals> <goal>create</goal> </goals> </execution> </executions> <configuration> <doCheck>false</doCheck> <doUpdate>false</doUpdate> <getRevisionOnlyOnce>true</getRevisionOnlyOnce> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>2.1.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>3.2.7</version> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.7.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>3.1.1</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.5.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.5.0</version> </plugin> <plugin> <groupId>io.spring.javaformat</groupId> <artifactId>spring-javaformat-maven-plugin</artifactId> <version>0.0.43</version> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.12</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>templating-maven-plugin</artifactId> <version>3.0.0</version> </plugin> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>1.0.0</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>io.spring.javaformat</groupId> <artifactId>spring-javaformat-maven-plugin</artifactId> <versionRange>[0.0.35,)</versionRange> <goals> <goal>apply</goal> </goals> </pluginExecutionFilter> <action> <ignore/> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> </build> <profiles> <profile> <!-- this is to make maven version plugin update bin pom --> <id>bin</id> <modules> <module>bin</module> </modules> </profile> <profile> <id>show-profiles</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-help-plugin</artifactId> <executions> <execution> <id>show-profiles</id> <phase>initialize</phase> <goals> <goal>active-profiles</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>enforce-maven-version</id> <activation> <property> <name>!enforce-maven-version.disable</name> </property> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-maven</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireMavenVersion> <version>${maven.core.version}</version> </requireMavenVersion> </rules> <fail>true</fail> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- mvn -f doc clean package -Pjavadoc --> <id>javadoc</id> <activation> <property> <name>!javadoc.disable</name> </property> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <show>public</show> <header> <![CDATA[ <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/languages/properties.min.js"></script> <script>hljs.highlightAll();</script> ]]> </header> <bottom> <![CDATA[ Copyright © {currentYear} {organizationName}. All rights reserved. ]]> </bottom> <tags> <tag> <name>apiNote</name> <placement>a</placement> <head>API Note</head> </tag> </tags> <failOnWarnings>true</failOnWarnings> <links> <link>https://www.slf4j.org/api/</link> </links> <javadocDirectory>${parent.root}/doc</javadocDirectory> <excludePackageNames> *.internal:*.internal.* </excludePackageNames> <additionalOptions> <additionalOption>--allow-script-in-comments</additionalOption> <additionalOption>--snippet-path ${project.basedir}/${doc.resources}${doc.snippets}</additionalOption> <additionalOption>--add-stylesheet ${parent.root}/doc/jstachio.css</additionalOption> <additionalOption>--link-modularity-mismatch=${javadoc.modularity.mismatch}</additionalOption> </additionalOptions> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>doc</id> <properties> <doc.resources/> <parent.root>${basedir}/.</parent.root> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <show>protected</show> <overview>doc/overview.html</overview> <docfilessubdirs>true</docfilessubdirs> <doctitle> <![CDATA[ <img src ="resources/ezkv_logo.svg" alt="EZKV logo" title="EZKV (pronounced ee-zee kee-vee)" width="66%" /> <div style="text-align: center; font-size: x-small; color: limegreen; padding-bottom:2em"> <em>(pronounced "ee-zee kee-vee")</em> </div> Ezkv API ${project.version} ]]> </doctitle> <windowtitle>Ezkv API ${project.version}</windowtitle> <linksource>true</linksource> </configuration> <executions> <execution> <id>aggregate</id> <goals> <goal>aggregate</goal> </goals> <phase>package</phase> <configuration> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <executions> <execution> <id>javadoc-javascript</id> <goals> <goal>exec</goal> </goals> <phase>package</phase> <inherited>false</inherited> </execution> </executions> <configuration> <executable>java</executable> <!-- optional --> <workingDirectory>bin</workingDirectory> <arguments> <argument>src/main/java/io/jstach/script/JavadocJavascript.java</argument> <argument>${project.version}</argument> </arguments> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>format-apply</id> <activation> <property> <name>format.apply</name> </property> </activation> <build> <plugins> <plugin> <groupId>io.spring.javaformat</groupId> <artifactId>spring-javaformat-maven-plugin</artifactId> <executions> <execution> <!-- The m2e ignore breaks sonatype central validation <?m2e ignore?> --> <phase>validate</phase> <inherited>true</inherited> <goals> <goal>apply</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>format-validate</id> <activation> <property> <name>!format.apply</name> </property> </activation> <build> <plugins> <plugin> <groupId>io.spring.javaformat</groupId> <artifactId>spring-javaformat-maven-plugin</artifactId> <executions> <execution> <phase>validate</phase> <inherited>true</inherited> <goals> <goal>validate</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>deploy-snapshot</id> <activation> <property> <name>deploy</name> <value>snapshot</value> </property> </activation> <properties> <maven.build.cache.enabled>false</maven.build.cache.enabled> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-no-releases</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireProperty> <property>user.timezone</property> <regex>UTC</regex> <message>For reproducible builds you must pass -Duser.timezone=UTC (even if your tz is UTC)</message> </requireProperty> <requireSnapshotVersion> <message>No Releases Allowed!</message> </requireSnapshotVersion> </rules> <fail>true</fail> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>deploy-release</id> <activation> <property> <name>deploy</name> <value>release</value> </property> </activation> <properties> <maven.build.cache.enabled>false</maven.build.cache.enabled> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-release</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireJavaVersion> <version>[${jdk.release.version}]</version> </requireJavaVersion> <requireProperty> <property>user.timezone</property> <regex>UTC</regex> <message>For reproducible builds you must pass -Duser.timezone=UTC (even if your tz is UTC)</message> </requireProperty> <requireReleaseDeps> <message>No Snapshots Allowed!</message> </requireReleaseDeps> <requireReleaseVersion> <message>No Snapshots Allowed!</message> </requireReleaseVersion> </rules> <fail>true</fail> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>central</id> <!-- Plugins to meet sonatype central requirements --> <activation> <property> <name>deploy</name> </property> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <show>public</show> <tags> <tag> <name>apiNote</name> <placement>a</placement> <head>API Note</head> </tag> </tags> <failOnWarnings>false</failOnWarnings> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> <configuration> <excludePackageNames> *.internal:*.internal.* </excludePackageNames> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> <configuration> <!-- <keyname>${gpg.keyname}</keyname> <passphraseServerId>${gpg.keyname}</passphraseServerId> --> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin> </plugins> </build> <distributionManagement> <snapshotRepository> <id>ossrh</id> <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> <repository> <id>ossrh</id> <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> </distributionManagement> </profile> <profile> <id>codecover</id> <activation> <property> <name>codecover</name> </property> </activation> <build> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <executions> <execution> <id>prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> <!-- <configuration> <destFile>${parent.root}/target/${project.artifactId}.exec</destFile> </configuration> --> </execution> <execution> <id>report</id> <phase>test</phase> <goals> <goal>report</goal> </goals> <!-- <configuration> <dataFile>${parent.root}/target/${project.artifactId}.exec</dataFile> </configuration> --> </execution> </executions> <configuration> <fileSets> <fileSet> <directory>${project.build.directory}</directory> <includes> <include>*.exec</include> </includes> </fileSet> </fileSets> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>errorprone</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <fork>true</fork> <compilerArgs combine.children="append"> <arg>-XDcompilePolicy=simple</arg> <arg>-Xplugin:ErrorProne</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>${error-prone.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>checkerframework</id> <properties> <checker.stubs>${parent.root}/etc/eea/checker</checker.stubs> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <fork>true</fork> <compilerArgs combine.children="append"> <arg>-Astubs=${checker.stubs}/java.base</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.code=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.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.comp=ALL-UNNAMED</arg> </compilerArgs> <annotationProcessorPaths> <path> <groupId>org.checkerframework</groupId> <artifactId>checker</artifactId> <version>${checkerframework.version}</version> </path> </annotationProcessorPaths> <annotationProcessors> <annotationProcessor>org.checkerframework.checker.nullness.NullnessChecker</annotationProcessor> </annotationProcessors> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.checkerframework</groupId> <artifactId>checker</artifactId> <version>${checkerframework.version}</version> </dependency> <dependency> <groupId>org.checkerframework</groupId> <artifactId>checker-qual</artifactId> <version>${checkerframework.version}</version> </dependency> </dependencies> </profile> <profile> <id>eclipse</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <compilerId>eclipse</compilerId> <!-- You need to use compilerArguments here instead of compilerArgs despite it being deprecated --> <compilerArguments> <properties>${parent.root}/etc/eea/prefs/org.eclipse.jdt.core.prefs</properties> <!-- Apparently CLASSPATH is the only one that works --> <annotationpath>CLASSPATH</annotationpath> <!-- Because classpath is the only that works we add our eea directory to it --> <classpath>${parent.root}/etc/eea</classpath> <replaceProcessorPathWithProcessorModulePath>true</replaceProcessorPathWithProcessorModulePath> </compilerArguments> <compilerArgs combine.self="override"> </compilerArgs> <source>${java.version}</source> <target>${java.version}</target> <showWarnings>true</showWarnings> <showDeprecation>true</showDeprecation> <failOnWarning>true</failOnWarning> <failOnError>true</failOnError> </configuration> <!-- Maven will try patch in modules which breaks the eclipse compiler Fatal error compiling: Failed to run the ecj compiler: Unrecognized option : patch-module The patch module above has two hyphens in front of it. --> <executions> <execution> <id>default-testCompile</id> <phase>none</phase> </execution> </executions> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-compiler-eclipse</artifactId> <version>${plexus-compiler-eclipse.version}</version> </dependency> <dependency> <groupId>org.eclipse.jdt</groupId> <artifactId>ecj</artifactId> <version>${ecj.version}</version> </dependency> </dependencies> </plugin> </plugins> </build> </profile> <!-- IMHO spotbugs is not very good. --> <profile> <id>spotbugs</id> <build> <plugins> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>4.8.6.2</version> <executions> <execution> <id>spotbugs-check</id> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> <modules> <module>ezkv-kvs</module> <module>ezkv-boot</module> <module>ezkv-dotenv</module> <module>ezkv-json5</module> <module>ezkv-maven-plugin</module> <module>ezkv-xml</module> </modules> </project>