<?xml version="1.0" encoding="UTF-8"?>
<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>de.eitco</groupId>
    <artifactId>eitco-oss-parent</artifactId>
    <version>0.0.2</version>
    <packaging>pom</packaging>

    <name>eitco open source parent pom</name>
    <description>a parent pom for eitco open source software</description>
    <url>https://github.com/eitco/eitco-oss-parent</url>

    <organization>
        <name>${application.vendor.fullname}</name>
        <url>${application.vendor.url}</url>
    </organization>


    <licenses>
        <license>
            <name>MIT License</name>
            <url>http://www.opensource.org/licenses/mit-license.php</url>
        </license>
    </licenses>

    <developers>
        <developer>
            <name>Jan Schwarz</name>
            <email>jschwarz@eitco.de</email>
        </developer>
    </developers>

    <scm>
        <url>https://github.com/eitco/eitco-oss-parent.git</url>
        <connection>scm:git:https://github.com/eitco/eitco-oss-parent.git</connection>
        <developerConnection>scm:git:https://github.com/eitco/eitco-oss-parent.git</developerConnection>
        <tag>0.0.2</tag>
    </scm>

    <properties>

        <eitco.developer.local.build>true</eitco.developer.local.build>

        <application.vendor.fullname>European IT Consultancy EITCO GmbH</application.vendor.fullname>
        <application.vendor.shortname>eitco</application.vendor.shortname>
        <application.vendor.url>https://www.eitco.de/</application.vendor.url>
        <application.name>${project.artifactId}</application.name>

        <java.language.version>17</java.language.version>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <!--suppress UnresolvedMavenProperty -->
        <version.major>${project.artifact.selectedVersion.majorVersion}</version.major>
        <!--suppress UnresolvedMavenProperty -->
        <version.minor>${project.artifact.selectedVersion.minorVersion}</version.minor>
        <!--suppress UnresolvedMavenProperty -->
        <version.incremental>${project.artifact.selectedVersion.incrementalVersion}</version.incremental>
        <!--suppress UnresolvedMavenProperty -->
        <version.qualifier>${project.artifact.selectedVersion.qualifier}</version.qualifier>

        <!-- to be set by maven-git-versioning-extension -->
        <version.semantic.release>${version.major}.${version.minor}.${version.incremental}</version.semantic.release>
        <version.semantic>${version.major}.${version.minor}.${version.incremental}-${version.qualifier}</version.semantic>
        <original.version>${project.version}</original.version>
        <version.numeric>${version.major}.${version.minor}.${version.incremental}</version.numeric>
        <version.symbolic>latest</version.symbolic>


        <skip.unit.tests>false</skip.unit.tests>
        <skip.integration.tests>${skip.unit.tests}</skip.integration.tests>

        <generated.source.directory>${project.build.directory}/generated-sources</generated.source.directory>
        <generated.base.main.source.directory>${generated.source.directory}/main</generated.base.main.source.directory>
        <generated.base.test.source.directory>${generated.source.directory}/test</generated.base.test.source.directory>
        <generated.java.main.source.directory>${generated.base.main.source.directory}/java</generated.java.main.source.directory>
        <generated.java.test.source.directory>${generated.base.test.source.directory}/java</generated.java.test.source.directory>
        <base.main.source.directory>${project.basedir}/src/main</base.main.source.directory>
        <base.test.source.directory>${project.basedir}/src/test</base.test.source.directory>

        <source.template.directory>${project.basedir}/src-templates</source.template.directory>
        <resource.template.directory>${base.main.source.directory}/resource-templates</resource.template.directory>
        <test.resource.template.directory>${base.test.source.directory}/resource-templates</test.resource.template.directory>

        <surefire.reports.directory>${project.build.directory}/surefire-reports</surefire.reports.directory>
        <failsafe.reports.directory>${project.build.directory}/failsafe-reports</failsafe.reports.directory>
        <sonar.junit.reportPaths>${surefire.reports.directory}, ${failsafe.reports.directory}</sonar.junit.reportPaths>
        <sonar.jacoco.reportPaths>${project.build.directory}/jacoco.exec</sonar.jacoco.reportPaths>

        <!-- maven standard (and a bit more) plugins -->
        <sonar.maven.plugin.version>3.6.0.1398</sonar.maven.plugin.version>
        <maven.compiler.plugin.version>3.8.0</maven.compiler.plugin.version>
        <build.helper.maven.plugin.version>3.0.0</build.helper.maven.plugin.version>
        <maven.failsafe.plugin.version>2.22.2</maven.failsafe.plugin.version>
        <maven.jar.plugin.version>3.1.0</maven.jar.plugin.version>
        <maven.war.plugin.version>3.2.2</maven.war.plugin.version>
        <maven.resources.plugin.version>3.1.0</maven.resources.plugin.version>
        <maven.release.plugin.version>3.0.1</maven.release.plugin.version>
        <maven.surefire.plugin.version>2.22.2</maven.surefire.plugin.version>
        <maven.source.plugin.version>3.0.1</maven.source.plugin.version>
        <maven.assembly.plugin.version>3.1.0</maven.assembly.plugin.version>
        <jacoco.maven.plugin.version>0.8.7</jacoco.maven.plugin.version>
        <maven.archetype.plugin.version>3.2.1</maven.archetype.plugin.version>
        <maven.javadoc.plugin.version>3.0.1</maven.javadoc.plugin.version>
        <maven.project.info.reports.plugin.version>3.0.0</maven.project.info.reports.plugin.version>
        <maven.site.plugin.version>3.7.1</maven.site.plugin.version>
        <maven.plugin.tools.version>3.9.0</maven.plugin.tools.version>
        <winsw.version>2.9.0</winsw.version>
        <maven.jarsigner.plugin.version>3.0.0</maven.jarsigner.plugin.version>


        <!-- java 9+ awareness -->
        <glassifish.jaxb.runtime.version>2.4.0-b180830.0438</glassifish.jaxb.runtime.version>
        <javax.activation.api.version>1.2.0</javax.activation.api.version>
        <javax.annotation.api.version>1.3.2</javax.annotation.api.version>
        <jaxb.api.version>2.3.0</jaxb.api.version>


        <!-- for compiling typescript with maven -->
        <frontend.maven.plugin.version>1.12.1</frontend.maven.plugin.version>
        <npm.scope>@${application.vendor.shortname}</npm.scope>
        <npm.package.name>${application.name}</npm.package.name>
        <npm.project.version>${version.semantic}-build.${build.number}</npm.project.version>

        <node.version>v16.15.0</node.version>
        <npm.version>6.14.16</npm.version>


        <!-- expected to be set by CI -->
        <build.number>0</build.number>

        <!-- will be set by profiles -->
        <system.os />
        <exec.file.extension />


        <spring.boot.version>2.3.6.RELEASE</spring.boot.version>
        <jackson.version>2.17.1</jackson.version>
        <opentelemetry.version>1.32.0</opentelemetry.version>
        <testng.version>7.8.0</testng.version>

        <maven.invoker.plugin.settings.location>src/it/settings.xml</maven.invoker.plugin.settings.location>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${testng.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.jetbrains</groupId>
                <artifactId>annotations</artifactId>
                <version>23.0.0</version>
            </dependency>


            <!-- java 9+ awareness -->
            <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>${jaxb.api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jaxb</groupId>
                <artifactId>jaxb-runtime</artifactId>
                <version>${glassifish.jaxb.runtime.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.activation</groupId>
                <artifactId>javax.activation-api</artifactId>
                <version>${javax.activation.api.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
                <version>${javax.annotation.api.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.winsw</groupId>
                <artifactId>winsw</artifactId>
                <version>${winsw.version}</version>
                <classifier>bin</classifier>
                <type>exe</type>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-plugin-api</artifactId>
                <version>${maven.plugin.tools.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven.plugin-tools</groupId>
                <artifactId>maven-plugin-annotations</artifactId>
                <version>${maven.plugin.tools.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-core</artifactId>
                <version>3.2.5</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-utils</artifactId>
                <version>3.1.1</version>
            </dependency>

            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.6</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-compress</artifactId>
                <version>1.5</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>wagon-maven-plugin</artifactId>
                <version>2.0.2</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-xml</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-yaml</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${maven.compiler.plugin.version}</version>
                    <configuration>
                        <source>${java.language.version}</source>
                        <target>${java.language.version}</target>
                        <parameters>true</parameters>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>${build.helper.maven.plugin.version}</version>
                    <executions>
                        <execution>
                            <id>add-generated-sources</id>
                            <phase>initialize</phase>
                            <goals>
                                <goal>add-source</goal>
                            </goals>
                            <configuration>
                                <sources>
                                    <source>${generated.java.main.source.directory}</source>
                                </sources>
                            </configuration>
                        </execution>
                        <execution>
                            <id>add-generated-test-sources</id>
                            <phase>initialize</phase>
                            <goals>
                                <goal>add-test-source</goal>
                            </goals>
                            <configuration>
                                <sources>
                                    <source>${generated.java.test.source.directory}</source>
                                </sources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>${maven.failsafe.plugin.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <!--suppress UnresolvedMavenProperty -->
                        <argLine>${jacoco.command.line}</argLine>
                        <classesDirectory>${project.build.outputDirectory}</classesDirectory>
                        <reportsDirectory>${failsafe.reports.directory}</reportsDirectory>
                        <skip>${skip.integration.tests}</skip>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>${maven.jar.plugin.version}</version>
                    <configuration>
                        <archive>
                            <manifestEntries>
                                <Implementation-Title>${project.name}</Implementation-Title>
                                <Implementation-Version>${project.version}</Implementation-Version>
                                <Implementation-Vendor>${application.vendor.fullname}
                                </Implementation-Vendor>
                                <groupId>${project.groupId}</groupId>
                                <artifactId>${project.artifactId}</artifactId>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>${maven.war.plugin.version}</version>
                    <configuration>
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                        <archive>
                            <manifestEntries>
                                <Implementation-Title>${project.name}</Implementation-Title>
                                <Implementation-Version>${project.version}</Implementation-Version>
                                <Implementation-Vendor>${application.vendor.fullname}
                                </Implementation-Vendor>
                                <groupId>${project.groupId}</groupId>
                                <artifactId>${project.artifactId}</artifactId>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>${maven.resources.plugin.version}</version>
                    <executions>
                        <execution>
                            <id>source-templates</id>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <phase>generate-sources</phase>
                            <configuration>
                                <resources>
                                    <resource>
                                        <directory>${source.template.directory}</directory>
                                        <filtering>true</filtering>
                                    </resource>
                                </resources>
                                <outputDirectory>${generated.source.directory}</outputDirectory>
                            </configuration>
                        </execution>
                        <execution>
                            <id>resource-templates</id>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <phase>generate-resources</phase>
                            <configuration>
                                <resources>
                                    <resource>
                                        <directory>${resource.template.directory}</directory>
                                        <filtering>true</filtering>
                                    </resource>
                                </resources>
                                <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                            </configuration>
                        </execution>
                        <execution>
                            <id>test-resource-templates</id>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <phase>generate-resources</phase>
                            <configuration>
                                <resources>
                                    <resource>
                                        <directory>${test.resource.template.directory}</directory>
                                        <filtering>true</filtering>
                                    </resource>
                                </resources>
                                <outputDirectory>${project.build.testOutputDirectory}
                                </outputDirectory>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>${maven.release.plugin.version}</version>
                    <configuration>
                        <tagNameFormat>@{project.version}</tagNameFormat>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                        <releaseProfiles>deploy-to-central</releaseProfiles>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven.surefire.plugin.version}</version>
                    <configuration>
                        <!--suppress UnresolvedMavenProperty -->
                        <argLine>${jacoco.command.line}</argLine>
                        <reportsDirectory>${surefire.reports.directory}</reportsDirectory>
                        <skip>${skip.unit.tests}</skip>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>${maven.source.plugin.version}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>${maven.assembly.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>${jacoco.maven.plugin.version}</version>
                    <configuration>
                        <propertyName>jacoco.command.line</propertyName>
                        <destFile>${sonar.jacoco.reportPaths}</destFile>
                        <append>true</append>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>report</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>report</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.sonarsource.scanner.maven</groupId>
                    <artifactId>sonar-maven-plugin</artifactId>
                    <version>${sonar.maven.plugin.version}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${maven.javadoc.plugin.version}</version>
                    <executions>
                        <execution>
                            <id>generate-javadoc</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                            <phase>package</phase>
                            <configuration>
                                <sourcepath>
                                    ${project.build.sourceDirectory}:${generated.java.main.source.directory}
                                </sourcepath>
                                <failOnWarnings>false</failOnWarnings>
                                <failOnError>false</failOnError>
                                <additionalOptions>-html5</additionalOptions>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-archetype-plugin</artifactId>
                    <version>${maven.archetype.plugin.version}</version>
                    <configuration>
                        <skip>${skip.integration.tests}</skip>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>${maven.site.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-project-info-reports-plugin</artifactId>
                    <version>${maven.project.info.reports.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.2.0</version>
                    <executions>
                        <execution>
                            <id>delete-eitco-node_modules</id>
                            <goals>
                                <goal>clean</goal>
                            </goals>
                            <phase>clean</phase>
                            <configuration>
                                <directory>${project.basedir}/node_modules/@eitco</directory>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>com.github.eirslett</groupId>
                    <artifactId>frontend-maven-plugin</artifactId>
                    <version>${frontend.maven.plugin.version}</version>
                    <configuration>
                        <nodeVersion>${node.version}</nodeVersion>
                        <npmVersion>${npm.version}</npmVersion>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>${spring.boot.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>build-info</goal>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-jarsigner-plugin</artifactId>
                    <version>${maven.jarsigner.plugin.version}</version>
                    <configuration>
                        <skip>${eitco.developer.local.build}</skip>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-invoker-plugin</artifactId>
                    <version>3.5.1</version>
                    <configuration>
                        <writeJunitReport>true</writeJunitReport>
                        <settingsFile>${maven.invoker.plugin.settings.location}</settingsFile>
                        <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
                        <localRepositoryPath>${project.build.directory}/local-repo
                        </localRepositoryPath>
                        <postBuildHookScript>verify</postBuildHookScript>
                        <environmentVariables>
                            <!--suppress UnresolvedMavenProperty -->
                            <MAVEN_OPTS>${jacoco.command.line}</MAVEN_OPTS>
                        </environmentVariables>
                        <goals>
                            <goal>install</goal>
                        </goals>
                        <showErrors>true</showErrors>
                        <debug>false</debug>
                        <skipInvocation>${skip.integration.tests}</skipInvocation>
                        <skipInstallation>${skip.integration.tests}</skipInstallation>
                        <properties>
                            <versioning.disable>true</versioning.disable>
                            <!-- make sure repository splitting works the same in it builds as in build triggering its -->
                            <!--suppress UnresolvedMavenProperty -->
                            <aether.enhancedLocalRepository.split>${aether.enhancedLocalRepository.split}
                            </aether.enhancedLocalRepository.split>
                            <!--suppress UnresolvedMavenProperty -->
                            <aether.enhancedLocalRepository.splitRemote>${aether.enhancedLocalRepository.splitRemote}
                            </aether.enhancedLocalRepository.splitRemote>
                            <!--suppress UnresolvedMavenProperty -->
                            <aether.enhancedLocalRepository.splitLocal>${aether.enhancedLocalRepository.splitLocal}
                            </aether.enhancedLocalRepository.splitLocal>
                            <maven.repo.local.tail>${settings.localRepository}</maven.repo.local.tail>
                        </properties>
                    </configuration>
                    <executions>
                        <execution>
                            <id>integration-test</id>
                            <goals>
                                <goal>install</goal>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>3.2.4</version>
                    <configuration>
                        <!-- Prevent gpg from using pinentry programs see https://github.com/actions/setup-java/issues/91 -->
                        <gpgArguments>
                            <arg>--pinentry-mode</arg>
                            <arg>loopback</arg>
                        </gpgArguments>
                    </configuration>
                </plugin>
                <!--                <plugin>-->
                <!--                    <groupId>org.sonatype.plugins</groupId>-->
                <!--                    <artifactId>nexus-staging-maven-plugin</artifactId>-->
                <!--                    <version>1.6.13</version>-->
                <!--                    <extensions>true</extensions>-->
                <!--                    <configuration>-->
                <!--                        <serverId>ossrh</serverId>-->
                <!--                        <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>-->
                <!--                        <autoReleaseAfterClose>false</autoReleaseAfterClose>-->
                <!--                    </configuration>-->
                <!--                </plugin>-->
                <plugin>
                    <groupId>org.sonatype.central</groupId>
                    <artifactId>central-publishing-maven-plugin</artifactId>
                    <version>0.4.0</version>
                    <extensions>true</extensions>
                    <configuration>
                        <publishingServerId>ossrh</publishingServerId>
                        <tokenAuth>true</tokenAuth>
                        <autoPublish>true</autoPublish>
                        <waitUntil>published</waitUntil>
                        <checksums>all</checksums>
                        <deploymentName>${project.groupId}:${project.artifactId}:${project.version}</deploymentName>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-plugin-plugin</artifactId>
                    <version>${maven.plugin.tools.version}</version>
                    <configuration>
                        <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
                    </configuration>
                    <executions>
                        <execution>
                            <id>mojo-descriptor</id>
                            <goals>
                                <goal>descriptor</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>help-goal</id>
                            <goals>
                                <goal>helpmojo</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>${generated.java.main.source.directory}
                                </outputDirectory>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <artifactId>maven-release-plugin</artifactId>
                <inherited>false</inherited>
            </plugin>
            <plugin>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-javadoc-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-gpg-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>github</id>
            <url>https://maven.pkg.github.com/eitco/eitco-oss-parent</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <checksumPolicy>fail</checksumPolicy>
                <updatePolicy>never</updatePolicy>
            </snapshots>
        </repository>
    </repositories>

    <distributionManagement>
        <snapshotRepository>
            <id>github</id>
            <name>GitHub Packages</name>
            <url>https://maven.pkg.github.com/eitco/eitco-oss-parent</url>
        </snapshotRepository>
        <repository>
            <id>github</id>
            <name>GitHub Packages</name>
            <url>https://maven.pkg.github.com/eitco/eitco-oss-parent</url>
        </repository>
    </distributionManagement>

    <profiles>
        <profile>
            <id>skipTests</id>
            <activation>
                <property>
                    <name>skipTests</name>
                </property>
            </activation>
            <properties>
                <skip.unit.tests>${skipTests}</skip.unit.tests>
            </properties>
        </profile>
        <profile>
            <id>skipITs</id>
            <activation>
                <property>
                    <name>skipITs</name>
                </property>
            </activation>
            <properties>
                <skip.integration.tests>${skipITs}</skip.integration.tests>
            </properties>
        </profile>
        <profile>
            <id>windows</id>
            <activation>
                <os>
                    <family>windows</family>
                </os>
            </activation>
            <properties>
                <system.os>windows</system.os>
                <exec.file.extension>.exe</exec.file.extension>
                <href.protocol>file:/</href.protocol>
            </properties>
        </profile>
        <profile>
            <id>win9x</id>
            <activation>
                <os>
                    <family>win9x</family>
                </os>
            </activation>
            <properties>
                <system.os>windows</system.os>
                <exec.file.extension>.exe</exec.file.extension>
                <href.protocol>file:/</href.protocol>
            </properties>
        </profile>
        <profile>
            <id>unix</id>
            <activation>
                <os>
                    <family>unix</family>
                </os>
            </activation>
            <properties>
                <system.os>linux</system.os>
                <exec.file.extension />
                <href.protocol />
            </properties>
        </profile>
        <profile>
            <id>sign-artifacts</id>
            <activation>
                <property>
                    <name>env.GPG_KEY_NAME</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <configuration>
                            <keyname>${env.GPG_KEY_NAME}</keyname>
                        </configuration>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>activate-ossrh-nexus-plugin</id>
            <activation>
                <property>
                    <name>env.OSSRH_JIRA_USERNAME</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>sign-code</id>
            <activation>
                <property>
                    <name>env.SIGNATURE_KEYSTORE_FILE</name>
                </property>
            </activation>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <artifactId>maven-jarsigner-plugin</artifactId>
                            <configuration>
                                <alias>eitco</alias>
                                <keystore>${env.SIGNATURE_KEYSTORE_FILE}</keystore>
                                <!-- expect password to be set if file is set, to produce error in case of inconsistent configuration -->
                                <!--suppress UnresolvedMavenProperty -->
                                <storepass>${env.SIGNATURE_KEYSTORE_PASSWORD}</storepass>
                                <verbose>true</verbose>
                            </configuration>
                            <executions>
                                <execution>
                                    <id>sign-artifacts</id>
                                    <goals>
                                        <goal>sign</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        <profile>
            <id>deploy-to-central</id>
            <activation>
                <!-- will be activated by release plugin -->
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.sonatype.central</groupId>
                        <artifactId>central-publishing-maven-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
