<?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>
    <artifactId>kohlschutter-parent-multirelease</artifactId>
    <packaging>pom</packaging>
    <parent>
        <groupId>com.kohlschutter</groupId>
        <artifactId>kohlschutter-parent</artifactId>
        <version>1.7.4</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <name>kohlschutter-parent-multirelease</name>
    <description>Parent POM for multi-release jar projects</description>
    <properties>
        <kohlschutter.project.base.directory>${project.basedir}/..</kohlschutter.project.base.directory>
        <kohlschutter.parent.directory>${project.basedir}/..</kohlschutter.parent.directory>
        <kohlschutter.project.notice.file>${kohlschutter.parent.directory}/NOTICE</kohlschutter.project.notice.file>

        <!-- The most-recent java release this project supports (at least 9) -->
        <kohlschutter.multirelease.java.release>9</kohlschutter.multirelease.java.release>

        <kohlschutter.java.release>${kohlschutter.multirelease.java.release}</kohlschutter.java.release>

        <!-- The Java release we should use for Java 8 (usually 8, but use any
      lower version to force compiling against something ancient, e.g., 7) -->
        <kohlschutter.multirelease.java8.release>8</kohlschutter.multirelease.java8.release>
        <kohlschutter.multirelease.retrolambda.skip>true</kohlschutter.multirelease.retrolambda.skip>
        <kohlschutter.multirelease.java8.classesOutputDir>${project.build.outputDirectory}/../classes-multirelease</kohlschutter.multirelease.java8.classesOutputDir>

        <kohlschutter.multirelease.jar.phase>package</kohlschutter.multirelease.jar.phase>
        <kohlschutter.singlerelease.jar.phase>none</kohlschutter.singlerelease.jar.phase>

        <maven.compiler.source>${kohlschutter.multirelease.java.release}</maven.compiler.source>
        <maven.compiler.target>${kohlschutter.multirelease.java.release}</maven.compiler.target>
    </properties>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <release>${kohlschutter.multirelease.java.release}</release>
                    </configuration>
                </plugin>
                <plugin>
                    <!-- Enhanced fork of
                    https://github.com/luontola/retrolambda -->
                    <groupId>com.kohlschutter.retrolambda</groupId>
                    <artifactId>retrolambda-maven-plugin</artifactId>
                    <version>2.5.8.2</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>animal-sniffer-maven-plugin</artifactId>
                    <version>1.24</version>
                    <!--
                    <dependencies>
                        <dependency>
                            <groupId>org.ow2.asm</groupId>
                            <artifactId>asm</artifactId>
                            <version>9.7</version>
                        </dependency>
                    </dependencies>
                    -->
                </plugin>
                <plugin>
                    <!-- This plugin's configuration is used to store Eclipse m2e
        settings only. It has no influence on the Maven build itself. -->
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>com.kohlschutter.retrolambda</groupId>
                                        <artifactId>retrolambda-maven-plugin</artifactId>
                                        <versionRange>[2,)</versionRange>
                                        <goals>
                                            <goal>process-main</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <profiles>
        <profile>
            <id>retrolambda-check</id>
            <activation>
                <file>
                    <exists>src/main/java7/multirelease.md</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>animal-sniffer-maven-plugin</artifactId>
                        <configuration>
                            <signature>
                                <groupId>com.kohlschutter.animalsniffer</groupId>
                                <artifactId>signatures-java-7</artifactId>
                                <version>1.0.0</version>
                            </signature>
                            <ignores>
                                <class>java.lang.invoke.SerializedLambda</class>
                                <class>java.nio.ByteBuffer</class>
                            </ignores>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>compile</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>retrolambda</id>
            <activation>
                <file>
                    <exists>src/main/java7/multirelease.md</exists>
                </file>
                <property>
                    <name>retrolambda</name>
                    <value>!false</value>
                </property>
            </activation>
            <properties>
                <kohlschutter.multirelease.java8.classesOutputDir>${project.build.outputDirectory}/../classes-java8</kohlschutter.multirelease.java8.classesOutputDir>
                <kohlschutter.multirelease.retrolambda.skip>false</kohlschutter.multirelease.retrolambda.skip>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.kohlschutter.retrolambda</groupId>
                        <artifactId>retrolambda-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>default</id>
                                <goals>
                                    <goal>process-main</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <skip>${kohlschutter.multirelease.retrolambda.skip}</skip>
                            <target>1.7</target>
                            <fork>true</fork>
                            <mainInputDir>
                                ${project.build.outputDirectory}/../classes-java8</mainInputDir>
                            <defaultMethods>true</defaultMethods>
                            <mainOutputDir>
                                ${project.build.outputDirectory}/../classes-multirelease</mainOutputDir>
                            <fixJava8Classpath>true</fixJava8Classpath>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>multirelease</id>
            <!-- Java 8 / multi-release jar support is enabled by default, unless
        you're in Eclipse, which doesn't support compiling with multiple
        compilers -->
            <activation>
                <property>
                    <name>!m2e.version</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java8-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java8</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                    <outputDirectory>${kohlschutter.multirelease.java8.classesOutputDir}</outputDirectory>
                                    <target>1.${kohlschutter.multirelease.java8.release}</target>
                                    <release>${kohlschutter.multirelease.java8.release}</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <excludes>
                                        <exclude>module-info.java</exclude>
                                    </excludes>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java8</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java8</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java21</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java20</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java19</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java18</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java17</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java16</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java15</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java14</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java13</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java12</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java11</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java10</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java9</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <!-- src/main/java8 should contain only classes that
                        override behavior of those in src/main/java -->
                                            <directory>src/main/java8</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                            <execution>
                                <id>copy-default-compile-classes-to-multirelease</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/${kohlschutter.multirelease.java.release}</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${project.build.outputDirectory}</directory>
                                            <includes>
                                                <include>**/*.class</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                            <execution>
                                <id>copy-default-resources-to-common-multirelease</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${project.build.outputDirectory}</directory>
                                            <excludes>
                                                <exclude>**/*.class</exclude>
                                            </excludes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>default-jar</id>
                                <phase>${kohlschutter.singlerelease.jar.phase}</phase>
                            </execution>
                            <execution>
                                <id>multirelease-jar</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                                <phase>${kohlschutter.multirelease.jar.phase}</phase>
                                <configuration>
                                    <skipIfEmpty>true</skipIfEmpty>
                                    <archive>
                                        <manifestEntries>
                                            <Multi-Release>true</Multi-Release>
                                        </manifestEntries>
                                    </archive>
                                    <classesDirectory>${project.build.outputDirectory}/../classes-multirelease</classesDirectory>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>disable-jar-plugin-for-pom</id>
            <activation>
                <property>
                    <name>packaging</name>
                    <value>pom</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <configuration>
                            <skipIfEmpty>true</skipIfEmpty>
                            <classifier>disabled</classifier><!-- just in case -->
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>multirelease-java9</id>
            <activation>
                <property>
                    <name>kohlschutter.multirelease.java.release</name>
                    <value>!9</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java9</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java9</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java21</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java20</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java19</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java18</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java17</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java16</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java15</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java14</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java13</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java12</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java11</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java10</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java9</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java9-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/9</outputDirectory>
                                    <target>9</target>
                                    <release>9</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java9</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>multirelease-java10</id>
            <activation>
                <file>
                    <exists>src/main/java10</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java10</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java10</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java21</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java20</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java19</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java18</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java17</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java16</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java15</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java14</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java13</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java12</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java11</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java10</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java10-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/10</outputDirectory>
                                    <target>10</target>
                                    <release>10</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java10</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>multirelease-java11</id>
            <activation>
                <file>
                    <exists>src/main/java11</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java11</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java11</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java21</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java20</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java19</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java18</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java17</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java16</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java15</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java14</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java13</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java12</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java11</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java11-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/11</outputDirectory>
                                    <target>11</target>
                                    <release>11</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java11</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>multirelease-java12</id>
            <activation>
                <file>
                    <exists>src/main/java12</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java12</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java12</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java21</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java20</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java19</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java18</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java17</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java16</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java15</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java14</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java13</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java12</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java12-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/12</outputDirectory>
                                    <target>12</target>
                                    <release>12</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java12</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>


        <profile>
            <id>multirelease-java13</id>
            <activation>
                <file>
                    <exists>src/main/java13</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java13</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java13</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java21</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java20</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java19</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java18</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java17</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java16</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java15</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java14</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java13</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java13-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/13</outputDirectory>
                                    <target>13</target>
                                    <release>13</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java13</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>multirelease-java14</id>
            <activation>
                <file>
                    <exists>src/main/java14</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java14</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java14</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java21</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java20</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java19</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java18</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java17</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java16</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java15</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java14</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java14-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/14</outputDirectory>
                                    <target>14</target>
                                    <release>14</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java14</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>multirelease-java15</id>
            <activation>
                <file>
                    <exists>src/main/java15</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java15</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java15</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java21</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java20</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java19</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java18</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java17</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java16</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java15</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java15-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/15</outputDirectory>
                                    <target>15</target>
                                    <release>15</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java15</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>


        <profile>
            <id>multirelease-java16</id>
            <activation>
                <file>
                    <exists>src/main/java16</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java16</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java16</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java21</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java20</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java19</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java18</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java17</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java16</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java16</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java16-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/16</outputDirectory>
                                    <target>16</target>
                                    <release>16</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java16</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>multirelease-java17</id>
            <activation>
                <file>
                    <exists>src/main/java17</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java17</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java17</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java21</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java20</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java19</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java18</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java17</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java17-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/17</outputDirectory>
                                    <target>17</target>
                                    <release>17</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java17</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>multirelease-java18</id>
            <activation>
                <file>
                    <exists>src/main/java18</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java18</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java18</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java21</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java20</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java19</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java18</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java18-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/18</outputDirectory>
                                    <target>18</target>
                                    <release>18</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java18</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>multirelease-java19</id>
            <activation>
                <file>
                    <exists>src/main/java19</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java19</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java19</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java21</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java20</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java19</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java19-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/19</outputDirectory>
                                    <target>19</target>
                                    <release>19</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java19</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>multirelease-java20</id>
            <activation>
                <file>
                    <exists>src/main/java20</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java20</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java20</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java21</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java20</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java20-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/20</outputDirectory>
                                    <target>20</target>
                                    <release>20</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java20</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>multirelease-java21</id>
            <activation>
                <file>
                    <exists>src/main/java21</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java21</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java21</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java21</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java21-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/21</outputDirectory>
                                    <target>21</target>
                                    <release>21</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java21</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>multirelease-java22</id>
            <activation>
                <file>
                    <exists>src/main/java22</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-source-files-java22</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/sources-java22</outputDirectory>
                                    <includeEmptyDirs>true</includeEmptyDirs>
                                    <resources>
                                        <resource>
                                            <directory>${kohlschutter.project.source.dir}</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                        <resource>
                                            <directory>src/main/java22</directory>
                                            <includes>
                                                <include>**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                    <overwrite>true</overwrite>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>java22-compile</id>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/../classes-multirelease/META-INF/versions/22</outputDirectory>
                                    <target>22</target>
                                    <release>22</release>
                                    <multiReleaseOutput>false</multiReleaseOutput>
                                    <compileSourceRoots>
                                        <compileSourceRoot>${project.build.directory}/sources-java22</compileSourceRoot>
                                        <compileSourceRoot>${project.build.directory}/generated-sources/java-resolved-properties</compileSourceRoot>
                                    </compileSourceRoots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
