learnlib-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-parent</artifactId> <version>0.18.0</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- <?xml version="1.0" encoding="UTF-8"?> Copyright (C) 2013-2025 TU Dortmund University This file is part of LearnLib <https://learnlib.de>. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- ================================= PROJECT INFO ============================== --> <groupId>de.learnlib</groupId> <artifactId>learnlib-parent</artifactId> <version>0.18.0</version> <packaging>pom</packaging> <name>LearnLib</name> <description>A framework for active automata learning and experimentation</description> <url>https://learnlib.github.io/learnlib/maven-site/${project.version}</url> <licenses> <license> <name>Apache License, Version 2.0</name> <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> </license> </licenses> <developers> <developer> <id>mtf90</id> <name>Markus Frohme</name> <email>markus.frohme@udo.edu</email> <organization>TU Dortmund University, Chair of Programming Systems</organization> <organizationUrl>http://ls5-www.cs.tu-dortmund.de/</organizationUrl> <roles> <role>Developer</role> <role>Maintainer</role> </roles> </developer> <developer> <id>fhowar</id> <name>Falk Howar</name> <email>falk.howar@gmail.com</email> <organization>TU Dortmund University, Chair of Software Engineering</organization> <organizationUrl>http://ls14-www.cs.tu-dortmund.de/</organizationUrl> <roles> <role>Developer</role> </roles> </developer> </developers> <contributors> <contributor> <name>Oliver Bauer</name> <email>oliver.bauer@tu-dortmund.de</email> <organization>TU Dortmund University, Chair of Programming Systems</organization> <organizationUrl>http://ls5-www.cs.tu-dortmund.de/</organizationUrl> <roles> <role>Developer</role> </roles> </contributor> <contributor> <name>Mohamad Bayram</name> <organization>TU Dortmund University, Chair of Programming Systems</organization> <organizationUrl>http://ls5-www.cs.tu-dortmund.de/</organizationUrl> <roles> <role>Developer (Graduate)</role> </roles> </contributor> <contributor> <name>Tiago Ferreira</name> <organization>University College London, Programming Principles, Logic and Verification Group</organization> <organizationUrl>http://pplv.cs.ucl.ac.uk/</organizationUrl> <roles> <role>Developer</role> </roles> </contributor> <contributor> <name>Maren Geske</name> <organization>TU Dortmund University, Chair of Programming Systems</organization> <organizationUrl>http://ls5-www.cs.tu-dortmund.de/</organizationUrl> <roles> <role>Developer</role> </roles> </contributor> <contributor> <name>Malte Isberner</name> <email>malte.isberner@gmail.com</email> <organization>TU Dortmund University, Chair of Programming Systems</organization> <organizationUrl>http://ls5-www.cs.tu-dortmund.de/</organizationUrl> <roles> <role>Developer</role> </roles> </contributor> <contributor> <name>Jeroen Meijer</name> <email>j.j.g.meijer@utwente.nl</email> <organization>University of Twente, Formal Methods and Tools</organization> <organizationUrl>http://fmt.cs.utwente.nl/</organizationUrl> <roles> <role>Developer</role> </roles> </contributor> <contributor> <name>Aleksander Mendoza-Drosik</name> <email>aleksander.mendoza.drosik@gmail.com</email> <roles> <role>Developer</role> </roles> </contributor> <contributor> <name>Maik Merten</name> <email>maikmerten@googlemail.com</email> <organization>TU Dortmund University, Chair of Programming Systems</organization> <organizationUrl>http://ls5-www.cs.tu-dortmund.de/</organizationUrl> <roles> <role>Developer</role> </roles> </contributor> <contributor> <name>Joshua Moerman</name> <organization>Radboud University, Institute for Computing and Information Sciences</organization> <organizationUrl>https://www.ru.nl/icis/</organizationUrl> <roles> <role>Developer</role> </roles> </contributor> <contributor> <name>Leon Vitorovic</name> <organization>TU Dortmund University, Chair of Programming Systems</organization> <email>leon.vitorovic@tu-dortmund.de</email> <roles> <role>Developer (Graduate)</role> </roles> </contributor> <contributor> <name>Stephan Windmüller</name> <email>stephan.windmueller@tu-dortmund.de</email> <organization>TU Dortmund University, Chair of Programming Systems</organization> <organizationUrl>http://ls5-www.cs.tu-dortmund.de/</organizationUrl> <roles> <role>Developer</role> </roles> </contributor> </contributors> <!-- ================================= MODULES =================================== --> <modules> <module>algorithms</module> <module>api</module> <module>archetypes</module> <module>build-config</module> <module>build-parent</module> <module>commons</module> <module>distribution</module> <module>drivers</module> <module>filters</module> <module>oracles</module> <module>test-support</module> </modules> <!-- =============================== SCM ======================= --> <scm> <connection>scm:git:https://github.com/LearnLib/learnlib.git</connection> <developerConnection>scm:git:git@github.com:LearnLib/learnlib.git</developerConnection> <url>https://github.com/LearnLib/learnlib/tree/develop</url> <tag>learnlib-0.18.0</tag> </scm> <issueManagement> <system>GitHub Issues</system> <url>https://github.com/LearnLib/learnlib/issues</url> </issueManagement> <ciManagement> <system>GitHub Actions</system> <url>https://github.com/LearnLib/learnlib/actions</url> </ciManagement> <distributionManagement> <repository> <id>ossrh</id> <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> <snapshotRepository> <id>ossrh</id> <url>https://oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> <!-- Dummy - this will NOT actually be used, but is required for mvn site:stage --> <!-- Use scm-publish plugin for site deployment on GitHub pages --> <site> <id>local</id> <url>file://${user.home}/learnlib-site</url> </site> </distributionManagement> <!-- ================================= PROPERTIES ================================ --> <properties> <!-- general config --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.release>8</maven.compiler.release> <maven.compiler.testSource>11</maven.compiler.testSource> <maven.compiler.testTarget>11</maven.compiler.testTarget> <maven.compiler.testRelease>11</maven.compiler.testRelease> <argLine /> <!-- compatibility for property expansion in surefire-plugin --> <!-- plugin versions --> <antrun-plugin.version>3.1.0</antrun-plugin.version> <archetype-plugin.version>3.3.1</archetype-plugin.version> <assembly-plugin.version>3.7.1</assembly-plugin.version> <checkstyle-plugin.version>3.6.0</checkstyle-plugin.version> <clean-plugin.version>3.4.0</clean-plugin.version> <compiler-plugin.version>3.11.0</compiler-plugin.version> <!-- changes to incremental compilation causes issues with our two compile phases. bump, once we completely switch to Java 11 --> <coveralls-plugin.version>4.3.0</coveralls-plugin.version> <dependency-plugin.version>3.8.1</dependency-plugin.version> <deploy-plugin.version>3.1.3</deploy-plugin.version> <enforcer-plugin.version>3.5.0</enforcer-plugin.version> <failsafe-plugin.version>${surefire-plugin.version}</failsafe-plugin.version> <gpg-plugin.version>3.2.7</gpg-plugin.version> <info-reports-plugin.version>3.8.0</info-reports-plugin.version> <install-plugin.version>3.1.3</install-plugin.version> <invoker-plugin.version>3.9.0</invoker-plugin.version> <jacoco-plugin.version>0.8.12</jacoco-plugin.version> <jar-plugin.version>3.4.2</jar-plugin.version> <javadoc-plugin.version>3.11.2</javadoc-plugin.version> <lifecycle-mapping.version>1.0.0</lifecycle-mapping.version> <pmd-plugin.version>3.26.0</pmd-plugin.version> <release-plugin.version>3.1.0</release-plugin.version> <resources-plugin.version>3.3.1</resources-plugin.version> <scm-publish-plugin.version>3.3.0</scm-publish-plugin.version> <site-plugin.version>3.21.0</site-plugin.version> <source-plugin.version>3.3.1</source-plugin.version> <spotbugs-plugin.version>4.8.6.6</spotbugs-plugin.version> <surefire-plugin.version>3.5.2</surefire-plugin.version> <tidy-pom.version>1.3.0</tidy-pom.version> <!-- dependency versions --> <automatalib.version>0.12.0</automatalib.version> <build-tools.version>0.1.1</build-tools.version> <cacio.version>1.11.1</cacio.version> <checkerframework.version>3.48.3</checkerframework.version> <checkstyle.version>10.21.1</checkstyle.version> <extra-enforcer-rules.version>1.7.0</extra-enforcer-rules.version> <fury.version>0.9.0</fury.version> <jaxb-api.version>2.3.1</jaxb-api.version> <logback.version>1.5.15</logback.version> <metainf-services.version>1.11</metainf-services.version> <mockito.version>5.14.2</mockito.version> <slf4j.version>2.0.16</slf4j.version> <testng.version>7.10.2</testng.version> <!-- Javadoc links --> <automatalib.apidocs>https://learnlib.github.io/automatalib/maven-site/${automatalib.version}/apidocs/</automatalib.apidocs> <checkerframework.apidocs>https://checkerframework.org/releases/${checkerframework.version}/api/</checkerframework.apidocs> </properties> <!-- =============================== DEFAULT DEP. VERSIONS ======================= --> <dependencyManagement> <dependencies> <!-- internal dependencies in a 'bill of material' fashion --> <!-- sorted alphabetically/hierarchical to allow for a better check for completeness using a file explorer --> <!-- algorithms --> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-algorithms-parent</artifactId> <version>${project.version}</version> <type>pom</type> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-algorithms-active-parent</artifactId> <version>${project.version}</version> <type>pom</type> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-aaar</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-adt</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-dhc</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-kearns-vazirani</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-lambda</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-lsharp</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-lstar</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-nlstar</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-observation-pack</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-observation-pack-vpa</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-procedural</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-ttt</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-ttt-vpa</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-algorithms-passive-parent</artifactId> <version>${project.version}</version> <type>pom</type> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-ostia</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-rpni</artifactId> <version>${project.version}</version> </dependency> <!-- api --> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-api</artifactId> <version>${project.version}</version> </dependency> <!-- archetypes --> <dependency> <groupId>de.learnlib.archetypes</groupId> <artifactId>learnlib-archetypes-parent</artifactId> <version>${project.version}</version> <type>pom</type> </dependency> <dependency> <groupId>de.learnlib.archetypes</groupId> <artifactId>basic</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib.archetypes</groupId> <artifactId>complete</artifactId> <version>${project.version}</version> </dependency> <!-- build-config --> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-build-config</artifactId> <version>${project.version}</version> </dependency> <!-- build-parent --> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-build-parent</artifactId> <version>${project.version}</version> <type>pom</type> </dependency> <!-- commons --> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-commons-parent</artifactId> <version>${project.version}</version> <type>pom</type> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-counterexamples</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-datastructures</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-settings</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-util</artifactId> <version>${project.version}</version> </dependency> <!-- distribution --> <dependency> <groupId>de.learnlib.distribution</groupId> <artifactId>learnlib-distribution</artifactId> <version>${project.version}</version> <type>pom</type> </dependency> <!-- drivers --> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-drivers-parent</artifactId> <version>${project.version}</version> <type>pom</type> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-drivers-basic</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-mapper</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-drivers-simulator</artifactId> <version>${project.version}</version> </dependency> <!-- examples --> <!-- artifact will not be deployed, so don't allow any accidental reference to it --> <!--dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-examples</artifactId> <version>${project.version}</version> </dependency--> <!-- filters --> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-filters-parent</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-cache</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-reuse</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-statistics</artifactId> <version>${project.version}</version> </dependency> <!-- oracles --> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-oracles-parent</artifactId> <version>${project.version}</version> <type>pom</type> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-emptiness-oracles</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-equivalence-oracles</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-membership-oracles</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-parallelism</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>de.learnlib</groupId> <artifactId>learnlib-property-oracles</artifactId> <version>${project.version}</version> </dependency> <!-- test-support --> <dependency> <groupId>de.learnlib.testsupport</groupId> <artifactId>learnlib-test-support-parent</artifactId> <version>${project.version}</version> <type>pom</type> </dependency> <dependency> <groupId>de.learnlib.testsupport</groupId> <artifactId>learnlib-learning-examples</artifactId> <version>${project.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>de.learnlib.testsupport</groupId> <artifactId>learnlib-learner-it-support</artifactId> <version>${project.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>de.learnlib.testsupport</groupId> <artifactId>learnlib-test-support</artifactId> <version>${project.version}</version> <scope>test</scope> </dependency> <!-- Import AutomataLib dependencies --> <dependency> <groupId>net.automatalib</groupId> <artifactId>automata-parent</artifactId> <version>${automatalib.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- TestNG --> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>${testng.version}</version> <scope>test</scope> </dependency> <!-- Mockito --> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> <!-- Caciocavallo --> <dependency> <groupId>com.github.caciocavallosilano</groupId> <artifactId>cacio-tta</artifactId> <version>${cacio.version}</version> <scope>test</scope> </dependency> <!-- Checker Annotations (@Nullable, @Nonnull, ...) --> <dependency> <groupId>org.checkerframework</groupId> <artifactId>checker-qual</artifactId> <version>${checkerframework.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>de.learnlib.tooling</groupId> <artifactId>annotations</artifactId> <version>${build-tools.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.fury</groupId> <artifactId>fury-core</artifactId> <version>${fury.version}</version> </dependency> <dependency> <groupId>org.kohsuke.metainf-services</groupId> <artifactId>metainf-services</artifactId> <version>${metainf-services.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency> </dependencies> </dependencyManagement> <!-- ================================= BUILD PLUGINS ============================= --> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>${dependency-plugin.version}</version> <!-- TODO: Remove once the plugin no longer throws false-positives. Apparently the problem has been fixed (https://issues.apache.org/jira/projects/MDEP/issues/MDEP-757) but we still run into this issue. --> <configuration> <ignoreAllNonTestScoped>true</ignoreAllNonTestScoped> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>${deploy-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>${checkstyle-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>${pmd-plugin.version}</version> <configuration> <analysisCache>true</analysisCache> <printFailingErrors>true</printFailingErrors> <linkXRef>false</linkXRef> <excludeRoots> <excludeRoot>target/generated-sources</excludeRoot> </excludeRoots> </configuration> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>${spotbugs-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>${clean-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>${site-plugin.version}</version> <configuration> <!-- Skip site deployment; this will be done by scm-publish plugin --> <skipDeploy>true</skipDeploy> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${surefire-plugin.version}</version> <configuration> <enableAssertions>true</enableAssertions> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>${failsafe-plugin.version}</version> <configuration> <enableAssertions>true</enableAssertions> </configuration> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco-plugin.version}</version> <executions> <execution> <id>prepare-report</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <phase>test</phase> <goals> <goal>report</goal> </goals> </execution> <!-- re-generate over previous reports, to have unified UTs and ITs --> <execution> <id>report-integration</id> <phase>integration-test</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>${assembly-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>${release-plugin.version}</version> <configuration> <!-- Automatically use the parent version for all submodules, do not prompt for each one --> <autoVersionSubmodules>true</autoVersionSubmodules> <tagNameFormat>learnlib-@{version}</tagNameFormat> <!-- Perform an install into the local repository, otherwise the javadoc plugin and archetype integration tests will fail --> <preparationGoals>clean install site</preparationGoals> <preparationProfiles>integration-tests,code-analysis</preparationProfiles> <goals>deploy site site:stage scm-publish:publish-scm</goals> <!-- explicitly disable preparationProfiles until https://issues.apache.org/jira/browse/MRELEASE-1124 is fixed--> <releaseProfiles>release,bundles,!examples,!integration-tests,!code-analysis</releaseProfiles> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${source-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${javadoc-plugin.version}</version> <configuration> <quiet>true</quiet> <detectLinks>true</detectLinks> <linksource>false</linksource> <links> <!-- TODO --> <!-- JDK 17+ seems to fail on missing (SNAPSHOT) docs. reactivate before release --> <!--link>${automatalib.apidocs}</link--> </links> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>${info-reports-plugin.version}</version> </plugin> <plugin> <groupId>org.eluder.coveralls</groupId> <artifactId>coveralls-maven-plugin</artifactId> <version>${coveralls-plugin.version}</version> <configuration> <jacocoReports> <jacocoReport>${basedir}/distribution/target/site/jacoco-aggregate/jacoco.xml</jacocoReport> </jacocoReports> </configuration> <dependencies> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>${jaxb-api.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${antrun-plugin.version}</version> </plugin> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>${lifecycle-mapping.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>${gpg-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>${enforcer-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-publish-plugin</artifactId> <version>${scm-publish-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>${resources-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${compiler-plugin.version}</version> <configuration> <annotationProcessorPaths> <path> <groupId>de.learnlib.tooling</groupId> <artifactId>processors</artifactId> <version>${build-tools.version}</version> </path> <path> <groupId>org.kohsuke.metainf-services</groupId> <artifactId>metainf-services</artifactId> <version>${metainf-services.version}</version> </path> </annotationProcessorPaths> </configuration> <executions> <execution> <id>default-compile</id> <goals> <goal>compile</goal> </goals> <configuration> <!-- compile everything in module-aware mode to check for errors --> <release>9</release> <createMissingPackageInfoClass>false</createMissingPackageInfoClass> </configuration> </execution> <execution> <id>java-8-compile</id> <goals> <goal>compile</goal> </goals> <configuration> <!-- recompile generated sources as well --> <compileSourceRoots> <compileSourceRoot>${project.build.sourceDirectory}</compileSourceRoot> <compileSourceRoot>${project.build.directory}/generated-sources</compileSourceRoot> </compileSourceRoots> <proc>none</proc> <!-- re-compile everything for target VM except the module-info.java --> <excludes> <exclude>module-info.java</exclude> </excludes> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>${jar-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>${install-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-invoker-plugin</artifactId> <version>${invoker-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tidy-maven-plugin</artifactId> <version>${tidy-pom.version}</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <executions> <execution> <id>attach-descriptor</id> <inherited>false</inherited> <goals> <goal>attach-descriptor</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <!-- ================================= REPORTING PLUGINS ============================== --> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <reportSets> <reportSet> <reports> <report>index</report> <report>licenses</report> <report>team</report> <report>scm</report> <report>issue-management</report> <report>ci-management</report> <report>dependencies</report> <report>dependency-info</report> <report>modules</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <release>11</release> </configuration> <reportSets> <reportSet> <id>non-aggregate</id> <reports /> </reportSet> <reportSet> <id>aggregate</id> <inherited>false</inherited> <reports> <report>aggregate</report> </reports> </reportSet> </reportSets> </plugin> </plugins> </reporting> <!-- =============================== PROFILES ======================= --> <profiles> <profile> <!-- perform additional integration tests --> <id>integration-tests</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> </plugin> </plugins> </build> </profile> <profile> <!-- enables additional plugins that perform static code analysis, also see the 'build-parent' pom --> <id>code-analysis</id> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tidy-maven-plugin</artifactId> <executions> <execution> <id>validate</id> <phase>verify</phase> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-bytecode-version</id> <phase>verify</phase> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <enforceBytecodeVersion> <maxJdkVersion>${maven.compiler.target}</maxJdkVersion> <ignoredScopes>test,runtime</ignoredScopes> </enforceBytecodeVersion> </rules> <fail>true</fail> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.codehaus.mojo</groupId> <artifactId>extra-enforcer-rules</artifactId> <version>${extra-enforcer-rules.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>analyze</id> <!-- default phase is verify --> <goals> <goal>analyze-only</goal> </goals> <configuration> <failOnWarning>true</failOnWarning> <!-- workaround our default slf4j-nop dependency --> <ignoreNonCompile>true</ignoreNonCompile> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- enables generation of test-coverage reports --> <id>code-coverage</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>touch-jacoco</id> <phase>generate-test-resources</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <touch file="${project.build.directory}/jacoco.exec" /> </target> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> </plugin> </plugins> </build> </profile> <profile> <id>netbeans-private-testng</id> <activation> <property> <name>netbeans.testng.action</name> </property> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <suiteXmlFiles> <suiteXmlFile>target/nb-private/testng-suite.xml</suiteXmlFile> </suiteXmlFiles> </configuration> </plugin> </plugins> </build> </profile> <profile> <!-- add workarounds when importing the project in Eclipse --> <id>eclipse-m2e-configs</id> <activation> <property> <!-- property is set by eclipse's m2e plugin --> <name>m2e.version</name> </property> </activation> <build> <pluginManagement> <plugins> <!-- This gets rid of the nasty "maven-enforcer-plugin will be ignored" warning by m2e --> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <versionRange>[1.0.0,)</versionRange> <goals> <goal>enforce</goal> </goals> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> </build> </profile> <profile> <!-- enables building of JavaDoc- and source JARs as well as bundled artifacts in 'distribution' module --> <id>bundles</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- set certain configurations when performing a release --> <id>release</id> <build> <plugins> <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> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <configuration> <!-- Adjust directory structure to our gh-pages branch --> <stagingDirectory>${session.executionRootDirectory}/target/staging/maven-site/${project.version}</stagingDirectory> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-publish-plugin</artifactId> <configuration> <pubScmUrl>${project.scm.developerConnection}</pubScmUrl> <scmBranch>gh-pages</scmBranch> <tryUpdate>true</tryUpdate> <!-- Sets everything up, but does not commit any changes. Perfect for us to perform final adjustments (such as updating the LATEST symlink, etc.) --> <dryRun>true</dryRun> <skipCheckin>true</skipCheckin> <skipDeletedFiles>true</skipDeletedFiles> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>jdk17-compat</id> <activation> <jdk>17</jdk> </activation> <properties> <cacio.version>1.17.3</cacio.version> </properties> </profile> <profile> <!-- define module in a profile so that we can disable it during a release --> <id>examples</id> <activation> <!-- see https://stackoverflow.com/a/7481347 --> <property> <name>!learnlib.release</name> </property> </activation> <modules> <module>examples</module> </modules> </profile> </profiles> </project>