maven-parent-kotlin-base
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.toolisticon.maven.parent</groupId> <artifactId>maven-parent-kotlin-base</artifactId> <version>2025.7.2</version> </dependency>
<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> <groupId>io.toolisticon.maven.parent</groupId> <artifactId>maven-parent-kotlin-base</artifactId> <version>2025.7.2</version> <name>Maven Parent - Kotlin Base</name> <description>Maven parent for a holistic kotlin lib project.</description> <url>https://github.com/toolisticon/maven-parent-kotlin-base/</url> <packaging>pom</packaging> <properties> <!-- MAVEN PROJECT SETTINGS --> <project.encoding>UTF-8</project.encoding> <project.build.sourceEncoding>${project.encoding}</project.build.sourceEncoding> <project.reporting.outputEncoding>${project.encoding}</project.reporting.outputEncoding> <!-- KOTLIN PROJECT (KP) CUSTOM SETTINGS --> <kp.generatedSources>${project.build.directory}/generated-sources</kp.generatedSources> <kp.generatedTestSources>${project.build.directory}/generated-test-sources</kp.generatedTestSources> <kp.generatedResources>${project.build.directory}/generated-resources</kp.generatedResources> <kp.generatedTestResources>${project.build.directory}/generated-test-resources</kp.generatedTestResources> <kp.mainSources>${project.basedir}/src/main/kotlin</kp.mainSources> <kp.mainResources>${project.basedir}/src/main/resources</kp.mainResources> <kp.testSources>${project.basedir}/src/test/kotlin</kp.testSources> <kp.testResources>${project.basedir}/src/test/resources</kp.testResources> <!-- set to true to skip deployment (of submodule e.g.) --> <kp.plugin.skipDeploy>false</kp.plugin.skipDeploy> <kp.plugin.generateBackupPoms>false</kp.plugin.generateBackupPoms> <kp.compile.useIncrementalKotlinCompiler>false</kp.compile.useIncrementalKotlinCompiler> <kp.patternClassITest>**/*ITest.*</kp.patternClassITest> <kp.patternClassTCTest>**/*TCTest.*</kp.patternClassTCTest> <kp.javaOpenModules>--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED </kp.javaOpenModules> <kp.skipITests>false</kp.skipITests> <!-- LANGUAGE VERSIONS --> <kotlin.version>2.2.0</kotlin.version> <kotlin.compiler.apiVersion>2.1</kotlin.compiler.apiVersion> <kotlin.compiler.languageVersion>2.1</kotlin.compiler.languageVersion> <kotlin.compiler.incremental>${kp.compile.useIncrementalKotlinCompiler}</kotlin.compiler.incremental> <kotlin.compiler.jvmTarget>${java.version}</kotlin.compiler.jvmTarget> <java.version>17</java.version> <jdk.version>17</jdk.version> <kotlinx-serialization.version>1.9.0</kotlinx-serialization.version> <kotlinx-coroutines.version>1.10.2</kotlinx-coroutines.version> <kotlin-logging.version>7.0.7</kotlin-logging.version> <jetbrains-annotations.version>26.0.2</jetbrains-annotations.version> <!-- TEST --> <junit5.version>5.13.3</junit5.version> </properties> <dependencyManagement> <dependencies> <!-- KOTLIN (from kotlin-bom) --> <!-- Using the kotlin-bom directly leads to problems with other boms, for example the spring-boot-dependencies --> <!-- Standard Library --> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-jdk7</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-jdk8</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-js</artifactId> <version>${kotlin.version}</version> <type>klib</type> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-common</artifactId> <version>${kotlin.version}</version> <type>pom</type> </dependency> <!-- Reflection Library --> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect</artifactId> <version>${kotlin.version}</version> </dependency> <!-- OSGI --> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-osgi-bundle</artifactId> <version>${kotlin.version}</version> </dependency> <!-- kotlin.test --> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-test</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-test-junit</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-test-junit5</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-test-testng</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-test-js</artifactId> <version>${kotlin.version}</version> <type>klib</type> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-test-common</artifactId> <version>${kotlin.version}</version> <type>pom</type> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-test-annotations-common</artifactId> <version>${kotlin.version}</version> <type>pom</type> </dependency> <!-- Scripting --> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-main-kts</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-script-runtime</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-scripting-common</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-scripting-jvm</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-scripting-jvm-host</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-scripting-ide-services</artifactId> <version>${kotlin.version}</version> </dependency> <!-- Compiler dependency required by scripting --> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-compiler</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-compiler-embeddable</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-daemon-client</artifactId> <version>${kotlin.version}</version> </dependency> <!-- // KOTLIN (from kotlin-bom) --> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-annotation-processing-embeddable</artifactId> <version>${kotlin.version}</version> </dependency> <!-- KOTLIN SERIALIZATION --> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-serialization-cbor-jvm</artifactId> <version>${kotlinx-serialization.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-serialization-cbor</artifactId> <version>${kotlinx-serialization.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-serialization-core-jvm</artifactId> <version>${kotlinx-serialization.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-serialization-core</artifactId> <version>${kotlinx-serialization.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-serialization-hocon</artifactId> <version>${kotlinx-serialization.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-serialization-json-jvm</artifactId> <version>${kotlinx-serialization.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-serialization-json</artifactId> <version>${kotlinx-serialization.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-serialization-json-okio-jvm</artifactId> <version>${kotlinx-serialization.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-serialization-json-okio</artifactId> <version>${kotlinx-serialization.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-serialization-properties-jvm</artifactId> <version>${kotlinx-serialization.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-serialization-properties</artifactId> <version>${kotlinx-serialization.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-serialization-protobuf-jvm</artifactId> <version>${kotlinx-serialization.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-serialization-protobuf</artifactId> <version>${kotlinx-serialization.version}</version> </dependency> <!-- // KOTLIN SERIALIZATION --> <!-- KOTLIN COROUTINES --> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-android</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-core-jvm</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-core</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-debug</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-guava</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-javafx</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-jdk8</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-jdk9</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-play-services</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-reactive</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-reactor</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-rx2</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-rx3</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-slf4j</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-swing</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-test-jvm</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-test</artifactId> <version>${kotlinx-coroutines.version}</version> </dependency> <!-- // KOTLIN COROUTINES --> <!-- KLOGGING (use as default) --> <dependency> <groupId>io.github.oshai</groupId> <artifactId>kotlin-logging-jvm</artifactId> <version>${kotlin-logging.version}</version> </dependency> <dependency> <groupId>org.jetbrains</groupId> <artifactId>annotations</artifactId> <version>${jetbrains-annotations.version}</version> </dependency> <!-- TEST --> <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>${junit5.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <defaultGoal>clean package</defaultGoal> <sourceDirectory>${kp.mainSources}</sourceDirectory> <testSourceDirectory>${kp.testSources}</testSourceDirectory> <!-- RESOURCES: ignore gitkeep marker files --> <resources> <resource> <directory>${kp.mainResources}</directory> <excludes> <exclude>.gitkeep</exclude> </excludes> </resource> </resources> <testResources> <testResource> <directory>${kp.testResources}</directory> <includes> </includes> <excludes> <exclude>.gitkeep</exclude> </excludes> </testResource> </testResources> <pluginManagement> <plugins> <!-- LANGUAGE SETUP --> <!-- from kotlin doc: "To compile projects that include Kotlin and Java source code, invoke the Kotlin compiler before the Java compiler." --> <!-- KOTLIN --> <plugin> <!-- KAPT is optional and has to be configured in modules using it --> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId> <version>${kotlin.version}</version> <configuration> <jvmTarget>${java.version}</jvmTarget> <apiVersion>${kotlin.compiler.apiVersion}</apiVersion> <languageVersion>${kotlin.compiler.languageVersion}</languageVersion> <!-- Compiler plugins need to be configured on this level for IntelliJ to recognize them --> <compilerPlugins> <!-- <plugin>spring</plugin>--> <!-- <plugin>jpa</plugin>--> <plugin>no-arg</plugin> <plugin>all-open</plugin> </compilerPlugins> <pluginOptions> <!-- annotations that open kotlin files. don't hurt even if unused in kotlin project --> <!-- <option>all-open:annotation=javax.persistence.Entity</option>--> <!-- <option>all-open:annotation=javax.persistence.MappedSuperclass</option>--> <!-- <option>all-open:annotation=javax.persistence.Embeddable</option>--> <option>all-open:annotation=io.toolisticon.testing.jgiven.JGivenKotlinStage</option> </pluginOptions> </configuration> <executions> <!-- KOTLIN COMPILE --> <execution> <id>compile</id> <phase>compile</phase> <goals> <goal>compile</goal> </goals> </execution> <!-- KOTLIN TEST --> <execution> <id>test-compile</id> <phase>test-compile</phase> <goals> <goal>test-compile</goal> </goals> </execution> <!-- KOTLIN ITEST --> <execution> <id>integration-test-compile</id> <phase>integration-test</phase> <goals> <goal>test-compile</goal> </goals> </execution> </executions> <dependencies> <!-- KOTLIN ALL-OPEN --> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-allopen</artifactId> <version>${kotlin.version}</version> </dependency> <!-- KOTLIN NO-ARG --> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-noarg</artifactId> <version>${kotlin.version}</version> </dependency> </dependencies> </plugin> <!-- JAVA (from kotlin maven doc) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.14.0</version> <configuration> <encoding>${project.build.sourceEncoding}</encoding> <source>${java.version}</source> <target>${java.version}</target> <parameters>true</parameters> </configuration> <executions> <!-- Replacing default-compile as it is treated specially by maven --> <execution> <id>default-compile</id> <phase>none</phase> </execution> <!-- Replacing default-testCompile as it is treated specially by maven --> <execution> <id>default-testCompile</id> <phase>none</phase> </execution> <execution> <id>java-compile</id> <phase>compile</phase> <goals> <goal>compile</goal> </goals> </execution> <execution> <id>java-test-compile</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> </goals> </execution> </executions> </plugin> <!-- JAVADOC --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.11.2</version> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> <configuration> <encoding>${project.encoding}</encoding> </configuration> </execution> </executions> </plugin> <!-- DOKKA --> <plugin> <groupId>org.jetbrains.dokka</groupId> <artifactId>dokka-maven-plugin</artifactId> <version>2.0.0</version> <executions> <execution> <phase>package</phase> <id>attach-javadocs</id> <goals> <goal>javadocJar</goal> </goals> </execution> </executions> <configuration> <jdkVersion>${jdk.version}</jdkVersion> <reportUndocumented>false</reportUndocumented> <skipEmptyPackages>true</skipEmptyPackages> </configuration> </plugin> <!-- // LANGUAGE SETUP --> <!-- ========== MAVEN OFFICIAL PLUGINS --> <!-- [GENERATOR] - AVRO (version) --> <plugin> <groupId>org.apache.avro</groupId> <artifactId>avro-maven-plugin</artifactId> <version>1.12.0</version> </plugin> <!-- CLEAN (version) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>3.5.0</version> </plugin> <!-- DEPENDENCY (version) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.8.1</version> </plugin> <!-- DEPLOY (version, config) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>3.1.4</version> <configuration> <skip>${kp.plugin.skipDeploy}</skip> </configuration> </plugin> <!-- WRAPPER (execute maven without central installation) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-wrapper-plugin</artifactId> <version>3.3.2</version> </plugin> <!-- ENFORCE (version, java target, maven target) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.6.0</version> <executions> <execution> <id>enforce-maven</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireJavaVersion> <version>${java.version}</version> </requireJavaVersion> <requireMavenVersion> <version>3.9.0</version> </requireMavenVersion> </rules> </configuration> </execution> </executions> </plugin> <!-- [TEST] SUREFIRE (version, setup) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.5.3</version> <configuration> <useSystemClassLoader>false</useSystemClassLoader> <shutdown>kill</shutdown> <runOrder>random</runOrder> <excludes> <exclude>${kp.patternClassITest}</exclude> <exclude>${kp.patternClassTCTest}</exclude> </excludes> <!--suppress UnresolvedMavenProperty --> <argLine>${surefireArgLine} ${kp.javaOpenModules} -Djava.awt.headless=true -XX:+StartAttachListener</argLine> <systemPropertyVariables> <jgiven.report.dir>${project.build.directory}/jgiven-reports/json</jgiven.report.dir> </systemPropertyVariables> </configuration> </plugin> <!-- [TEST] FAILSAFE (version, itest setup) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>3.5.3</version> <executions> <execution> <id>integration-tests</id> <goals> <goal>integration-test</goal> </goals> <configuration> <skip>${kp.skipITests}</skip> <classesDirectory>${project.build.outputDirectory}</classesDirectory> <includes> <include>${kp.patternClassITest}</include> <include>${kp.patternClassTCTest}</include> </includes> <!--suppress UnresolvedMavenProperty --> <argLine>${failsafeArgLine} ${kp.javaOpenModules} -Djava.awt.headless=true -XX:+StartAttachListener</argLine> <systemPropertyVariables> <jgiven.report.dir>${project.build.directory}/jgiven-reports/json</jgiven.report.dir> </systemPropertyVariables> </configuration> </execution> </executions> </plugin> <!-- [RELEASE] GPG (version)--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>3.2.8</version> <configuration> <!-- pass -Dgpg.keyname=.. and -Dgpg.passphrase=... --> <gpgArguments> <arg>--batch</arg> <arg>--yes</arg> <arg>--pinentry-mode</arg> <arg>loopback</arg> </gpgArguments> </configuration> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> <!-- INSTALL (version) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>3.1.4</version> </plugin> <!-- SOURCE (version) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.3.1</version> <executions> <execution> <id>attach-sources</id> <phase>package</phase> <goals> <goal>jar-no-fork</goal> <!-- also seen: jar ... which to choose? --> </goals> <configuration> <attach>true</attach> <forceCreation>true</forceCreation> </configuration> </execution> </executions> </plugin> <!-- RESOURCES (version, encoding) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.3.1</version> <configuration> <encoding>${project.encoding}</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.4.2</version> </plugin> <!-- ========== //MAVEN OFFICIAL --> <!-- [TEST] JACOCO (version, setup) --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.13</version> <executions> <execution> <id>pre-unit-test</id> <goals> <goal>prepare-agent</goal> </goals> <configuration> <!--suppress UnresolvedMavenProperty --> <skip>${skipTests}</skip> <destFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</destFile> <propertyName>surefireArgLine</propertyName> </configuration> </execution> <execution> <id>pre-integration-test</id> <goals> <goal>prepare-agent-integration</goal> </goals> <configuration> <skip>${kp.skipITests}</skip> <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile> <propertyName>failsafeArgLine</propertyName> </configuration> </execution> <execution> <id>post-unit-test</id> <phase>test</phase> <goals> <goal>report</goal> </goals> <configuration> <skip>${skipTests}</skip> <dataFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</dataFile> <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory> </configuration> </execution> <execution> <id>post-integration-test</id> <phase>post-integration-test</phase> <goals> <goal>report</goal> </goals> <configuration> <skip>${kp.skipITests}</skip> <dataFile>${project.build.directory}/coverage-reports/jacoco-it.exec</dataFile> <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory> </configuration> </execution> </executions> </plugin> <!-- BUILD HELPER (version) --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.6.1</version> </plugin> <!-- [RELEASE] GITFLOW (version, config) --> <plugin> <groupId>com.amashchenko.maven.plugin</groupId> <artifactId>gitflow-maven-plugin</artifactId> <version>1.21.0</version> <configuration> <gitFlowConfig> <productionBranch>master</productionBranch> <developmentBranch>develop</developmentBranch> <featureBranchPrefix>feature/</featureBranchPrefix> <releaseBranchPrefix>release/</releaseBranchPrefix> <hotfixBranchPrefix>hotfix/</hotfixBranchPrefix> <supportBranchPrefix>support/</supportBranchPrefix> <origin>origin</origin> </gitFlowConfig> <useSnapshotInHotfix>true</useSnapshotInHotfix> <useSnapshotInRelease>true</useSnapshotInRelease> <keepBranch>false</keepBranch> <pushRemote>true</pushRemote> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>flatten-maven-plugin</artifactId> <version>1.7.1</version> </plugin> <!-- [TEST] - JGIVEN (version, configuration, execution) --> <plugin> <groupId>com.tngtech.jgiven</groupId> <artifactId>jgiven-maven-plugin</artifactId> <version>2.0.2</version> <executions> <execution> <id>generate-report</id> <goals> <goal>report</goal> </goals> </execution> </executions> <configuration> <format>html</format> </configuration> </plugin> <!-- [GENERATOR] OPENAPI (version) --> <plugin> <groupId>org.openapitools</groupId> <artifactId>openapi-generator-maven-plugin</artifactId> <version>7.14.0</version> </plugin> <!-- [GENERATOR]: PROPERTIES (writes maven properties to src) (version,execution) --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>properties-maven-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <phase>generate-resources</phase> <goals> <goal>write-project-properties</goal> </goals> <configuration> <outputFile>${project.build.outputDirectory}/${project.artifactId}-maven.properties</outputFile> </configuration> </execution> </executions> </plugin> <plugin> <groupId>com.github.hazendaz.maven</groupId> <artifactId>directory-maven-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <id>directories</id> <goals> <goal>execution-root</goal> </goals> <phase>initialize</phase> <configuration> <property>project.root.dir</property> </configuration> </execution> </executions> </plugin> <!-- VERSIONS (version, config) --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.18.0</version> <configuration> <generateBackupPoms>${kp.plugin.generateBackupPoms}</generateBackupPoms> </configuration> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.7.0</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> </plugin> </plugins> </build> <profiles> <profile> <id>itest</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <defaultGoal>verify</defaultGoal> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> </plugin> </plugins> </build> </profile> <!-- Profile creating all artifacts: JARs, POMs, Sources, JavaDoc and all signatures. --> <profile> <id>release</id> <activation> <property> <name>release</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-deploy-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> <plugin> <groupId>org.jetbrains.dokka</groupId> <artifactId>dokka-maven-plugin</artifactId> </plugin> <!-- Source from Kotlin --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-kotlin-source</id> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>${kp.mainSources}</source> </sources> </configuration> </execution> </executions> </plugin> <!-- jar --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> </archive> </configuration> </plugin> <!-- [RELEASE] GPG --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> </plugin> <!-- [RELEASE] NEXUS (version, configuration) --> <plugin> <groupId>org.sonatype.central</groupId> <artifactId>central-publishing-maven-plugin</artifactId> <version>0.8.0</version> <extensions>true</extensions> <configuration> <publishingServerId>central</publishingServerId> <autoPublish>true</autoPublish> </configuration> </plugin> </plugins> </build> </profile> </profiles> <licenses> <license> <name>The Apache Software License, Version 2.0</name> <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>repo</distribution> <comments>A business-friendly OSS license</comments> </license> </licenses> <scm> <connection>scm:git:git@github.com:toolisticon/maven-parent-kotlin-base.git</connection> <url>scm:git:git@github.com:toolisticon/maven-parent-kotlin-base.git</url> <developerConnection>scm:git:git@github.com:toolisticon/maven-parent-kotlin-base.git</developerConnection> <tag>HEAD</tag> </scm> <developers> <developer> <id>jangalinski</id> <name>Jan Galinski</name> <roles> <role>Product Owner</role> <role>Developer</role> </roles> <organization>Holisticon AG</organization> <organizationUrl>https://holisticon.de</organizationUrl> </developer> <developer> <id>zambrovski</id> <name>Simon Zambrovski</name> <roles> <role>Product Owner</role> <role>Developer</role> <role>Toolsmith</role> </roles> <organization>Holisticon AG</organization> <organizationUrl>https://holisticon.de</organizationUrl> </developer> </developers> </project>