<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>26</version>
  </parent>


  <groupId>org.apache.servicecomb</groupId>
  <artifactId>java-chassis</artifactId>
  <version>2.7.5</version>
  <packaging>pom</packaging>

  <name>ServiceComb Java Chassis</name>
  <description>Software Development Kit (SDK) for rapid development of microservices</description>
  <url>https://github.com/apache/servicecomb-java-chassis</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
    <argLine>-Dfile.encoding=UTF-8</argLine>
    <skip-remote-resource>true</skip-remote-resource>
    <werror.properties>-Werror</werror.properties>
    <test.additional.args/>
    <!-- plugin version start -->
    <!-- sort by alpha -->
    <checkstyle-maven-plugin.version>3.1.2</checkstyle-maven-plugin.version>
    <coveralls-maven-plugin.version>4.3.0</coveralls-maven-plugin.version>
    <dependency-check-maven-plugin.version>7.1.1</dependency-check-maven-plugin.version>
    <docker-maven-plugin.version>0.40.1</docker-maven-plugin.version>
    <exec-maven-plugin.version>3.0.0</exec-maven-plugin.version>
    <gmaven-plugin.version>1.5</gmaven-plugin.version>
    <gpg-maven-plugin.version>3.0.1</gpg-maven-plugin.version>
    <lifecycle-mapping-plugin.version>1.0.0</lifecycle-mapping-plugin.version>
    <jacoco-maven-plugin.version>0.8.8</jacoco-maven-plugin.version>
    <javadoc-maven-plugin.version>3.4.0</javadoc-maven-plugin.version>
    <jxr-maven-plugin.version>2.5</jxr-maven-plugin.version>
    <maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
    <maven-failsafe-plugin.version>3.0.0-M7</maven-failsafe-plugin.version>
    <maven-jar-plugin.version>3.2.2</maven-jar-plugin.version>
    <maven-project-info-reports-plugin.version>3.3.0</maven-project-info-reports-plugin.version>
    <maven-remote-resources-plugin.version>1.7.0</maven-remote-resources-plugin.version>
    <os-maven-plugin.version>1.7.0</os-maven-plugin.version>
    <protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
    <protoc3-maven-plugin.version>3.19.2</protoc3-maven-plugin.version>
    <protoc-gen-grpc-java-plugin.version>1.47.0</protoc-gen-grpc-java-plugin.version>
    <puppycrawl-checkstyle.version>10.3.1</puppycrawl-checkstyle.version>
    <release-maven-plugin.version>2.5.3</release-maven-plugin.version>
    <site-maven-plugin.version>3.12.0</site-maven-plugin.version>
    <source-maven-plugin.version>3.2.1</source-maven-plugin.version>
    <spotbug-maven-plugin.version>4.7.0.0</spotbug-maven-plugin.version>
    <spring-boot-maven-plugin.version>2.7.0</spring-boot-maven-plugin.version>
    <surefire-maven-plugin.version>3.0.0-M7</surefire-maven-plugin.version>
    <!-- plugin version end -->
  </properties>

  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <mailingLists>
    <mailingList>
      <name>Development List</name>
      <subscribe>dev-subscribe@servicecomb.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@servicecomb.apache.org</unsubscribe>
      <post>dev@servicecomb.apache.org</post>
    </mailingList>
    <mailingList>
      <name>Commits List</name>
      <subscribe>commits-subscribe@servicecomb.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@servicecomb.apache.org</unsubscribe>
      <post>commits@servicecomb.apache.org</post>
    </mailingList>
  </mailingLists>

  <developers>
    <developer>
      <name>The ServiceComb Developer Team</name>
      <email>dev@servicecomb.apache.org</email>
    </developer>
  </developers>

  <issueManagement>
    <system>jira</system>
    <url>https://issues.apache.org/jira/browse/SCB</url>
  </issueManagement>

  <organization>
    <name>The Apache Software Foundation</name>
    <url>http://www.apache.org/</url>
  </organization>

  <inceptionYear>2017</inceptionYear>

  <scm>
    <url>https://github.com/apache/servicecomb-java-chassis</url>
    <connection>scm:git:https://github.com/apache/servicecomb-java-chassis.git</connection>
    <developerConnection>scm:git:https://github.com/apache/servicecomb-java-chassis.git</developerConnection>
    <tag>v${project.version}</tag>
  </scm>

  <distributionManagement>
    <repository>
      <id>apache.releases.https</id>
      <name>Apache Release Distribution Repository</name>
      <url>https://repository.apache.org/service/local/staging/deploy/maven2</url>
    </repository>
    <snapshotRepository>
      <id>apache.snapshots.https</id>
      <name>Apache Development Snapshot Repository</name>
      <url>https://repository.apache.org/content/repositories/snapshots</url>
    </snapshotRepository>
  </distributionManagement>

  <modules>
    <module>dependencies</module>
    <module>parents</module>
    <module>common</module>
    <module>foundations</module>
    <module>deployment</module>
    <module>handlers</module>
    <module>providers</module>
    <module>transports</module>
    <module>swagger</module>
    <module>core</module>
    <module>service-registry</module>
    <module>tracing</module>
    <module>edge</module>
    <module>metrics</module>
    <module>dynamic-config</module>
    <module>archetypes</module>
    <module>spring-boot</module>
    <module>inspector</module>
    <module>solutions</module>
    <module>clients</module>
    <module>governance</module>
    <module>huawei-cloud</module>
  </modules>

  <build>
    <extensions>
      <extension>
        <groupId>kr.motd.maven</groupId>
        <artifactId>os-maven-plugin</artifactId>
        <version>${os-maven-plugin.version}</version>
      </extension>
    </extensions>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <configLocation>ci/checkstyle/checkstyle.xml</configLocation>
          <suppressionsLocation>ci/checkstyle/suppressions.xml</suppressionsLocation>
          <includeTestSourceDirectory>true</includeTestSourceDirectory>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-remote-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>process-resource-bundles</id>
            <goals>
              <goal>process</goal>
            </goals>
            <configuration>
              <skip>${skip-remote-resource}</skip>
              <resourceBundles>
                <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
                <resourceBundle>org.apache:apache-incubator-disclaimer-resource-bundle:1.1</resourceBundle>
              </resourceBundles>
              <properties>
                <projectName>Apache ServiceComb</projectName>
              </properties>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <version>2.0.0</version>
        <executions>
          <execution>
            <id>default-cli</id>
            <configuration>
              <!-- Accept the pom module -->
              <acceptPomPackaging>true</acceptPomPackaging>
              <!-- Using the template which is grouped by License file -->
              <fileTemplate>/org/codehaus/mojo/license/third-party-file-groupByMultiLicense.ftl</fileTemplate>
              <licenseMerges>
                <licenseMerge>The Apache Software License, Version 2.0|The Apache License, Version 2.0</licenseMerge>
                <licenseMerge>The Apache Software License, Version 2.0|Apache License, Version 2.0</licenseMerge>
                <licenseMerge>The Apache Software License, Version 2.0|Apache Public License 2.0</licenseMerge>
                <licenseMerge>The Apache Software License, Version 2.0|Apache 2</licenseMerge>
                <licenseMerge>The Apache Software License, Version 2.0|Apache 2.0</licenseMerge>
                <licenseMerge>The Apache Software License, Version 2.0|Apache-2.0</licenseMerge>
                <licenseMerge>The Apache Software License, Version 2.0|Apache License 2.0</licenseMerge>
                <licenseMerge>The Apache Software License, Version 2.0|Apache License, version 2.0</licenseMerge>
                <licenseMerge>3-Clause BSD License|BSD 3-clause</licenseMerge>
                <licenseMerge>3-Clause BSD License|BSD 3-Clause</licenseMerge>
                <licenseMerge>Eclipse Public License v1.0|Eclipse Public License 1.0</licenseMerge>
                <licenseMerge>Eclipse Public License v1.0|Eclipse Public License - v 1.0</licenseMerge>
                <licenseMerge>The MIT License|MIT License</licenseMerge>
              </licenseMerges>
              <excludedGroups>org.apache.servicecomb*</excludedGroups>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>DISCLAIMER</exclude>
            <exclude>.travis.yml</exclude>
            <exclude>**/*.md</exclude>
            <excldue>**/*.MD</excldue>
            <excldue>**/*.iml</excldue>
            <excldue>.github/**</excldue>
            <!-- Skip the code style configuration file -->
            <exclude>**/etc/eclipse-java-google-style.xml</exclude>
            <exclude>**/etc/intellij-java-google-style.xml</exclude>
            <!-- Skip the ssl configuration files -->
            <exculde>**/resources/ssl/**</exculde>
            <!-- SKip the licenses files -->
            <exclude>**/src/release/licenses/**</exclude>
            <!-- Skip the demo log files -->
            <exclude>**/logs/**.log</exclude>
            <exclude>**/**.log</exclude>
            <!-- Skip the target files -->
            <exclude>**/target/**</exclude>
            <!-- Skip web resource files -->
            <exclude>**/resources/webroot/images/*.png</exclude>
            <exclude>**/resources/webroot/images/*.jpg</exclude>
            <!-- Skip the source files which are forked from vertx -->
            <exclude>**/org/apache/servicecomb/foundation/common/utils/MimeTypesUtils.java</exclude>
            <exclude>**/java/org/apache/servicecomb/transport/rest/vertx/RestBodyHandler.java</exclude>
            <!--Skip protobuf generated file-->
            <exclude>**/java/org/apache/servicecomb/foundation/protobuf/internal/model/ProtobufRoot.java</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>${exec-maven-plugin.version}</version>
        <executions>
          <execution>
            <goals>
              <goal>java</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${surefire-maven-plugin.version}</version>
        <configuration>
          <argLine>${test.additional.args}</argLine>
          <skip>${maven.test.skip}</skip>
          <testFailureIgnore>${maven.test.failure.ignore}</testFailureIgnore>
          <excludes>
            <exclude>${excludesFile}</exclude>
          </excludes>
          <forkCount>1</forkCount>
          <reuseForks>true</reuseForks>
          <runOrder>alphabetical</runOrder>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>${maven-failsafe-plugin.version}</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>${maven-jar-plugin.version}</version>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <configuration>
          <xmlOutput>true</xmlOutput>
          <failOnError>true</failOnError>
          <threshold>Medium</threshold>
          <excludeFilterFile>ci/spotbugs/exclude.xml</excludeFilterFile>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eluder.coveralls</groupId>
          <artifactId>coveralls-maven-plugin</artifactId>
          <version>${coveralls-maven-plugin.version}</version>
          <configuration>
            <jacocoReports>
              <jacocoReport>${project.basedir}/coverage-reports/target/site/jacoco-aggregate/jacoco.xml</jacocoReport>
            </jacocoReports>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-remote-resources-plugin</artifactId>
          <version>${maven-remote-resources-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>io.fabric8</groupId>
          <artifactId>docker-maven-plugin</artifactId>
          <version>${docker-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.gmaven</groupId>
          <artifactId>gmaven-plugin</artifactId>
          <version>${gmaven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>${jacoco-maven-plugin.version}</version>
          <configuration>
            <excludes>
              <exclude>*$Impl_*</exclude>
            </excludes>
          </configuration>
          <executions>
            <execution>
              <id>default-prepare-agent</id>
              <goals>
                <goal>prepare-agent</goal>
              </goals>
              <configuration>
                <destFile>${project.build.directory}/jacoco.exec</destFile>
              </configuration>
            </execution>
            <execution>
              <id>default-prepare-agent-integration</id>
              <phase>pre-integration-test</phase>
              <goals>
                <goal>prepare-agent-integration</goal>
              </goals>
              <configuration>
                <destFile>${project.build.directory}/jacoco-it.exec</destFile>
                <propertyName>jacoco.failsafe.argLine</propertyName>
              </configuration>
            </execution>
            <execution>
              <id>default-report</id>
              <goals>
                <goal>report</goal>
              </goals>
            </execution>
            <execution>
              <id>default-report-integration</id>
              <goals>
                <goal>report-integration</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${maven-compiler-plugin.version}</version>
          <configuration>
            <compilerArgument>-parameters</compilerArgument>
            <source>1.8</source>
            <target>1.8</target>
            <showDeprecation>true</showDeprecation>
            <showWarnings>true</showWarnings>
            <compilerArgs>
              <arg>${werror.properties}</arg>
              <arg>-Xlint:all</arg>
              <!--not care for jdk8/jdk7 compatible problem-->
              <arg>-Xlint:-classfile</arg>
              <!--not care for annotations not processed-->
              <arg>-Xlint:-processing</arg>
            </compilerArgs>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>${lifecycle-mapping-plugin.version}</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <versionRange>[0.0.1,)</versionRange>
                    <goals>
                      <goal>prepare-agent</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore/>
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>${maven-project-info-reports-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>${site-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${checkstyle-maven-plugin.version}</version>
          <inherited>true</inherited>
          <dependencies>
            <dependency>
              <groupId>com.puppycrawl.tools</groupId>
              <artifactId>checkstyle</artifactId>
              <version>${puppycrawl-checkstyle.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <version>${spring-boot-maven-plugin.version}</version>
          <executions>
            <execution>
              <goals>
                <goal>repackage</goal>
              </goals>
              <configuration>
                <mainClass>${main.class}</mainClass>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
          <version>${spotbug-maven-plugin.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>
    <profile>
      <id>release</id>
      <properties>
        <skip-remote-resource>false</skip-remote-resource>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>${gpg-maven-plugin.version}</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>${source-maven-plugin.version}</version>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${javadoc-maven-plugin.version}</version>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <source>1.8</source>
              <tags>
                <tag>
                  <!-- to avoid protostuff javadoc problem. -->
                  <name>created</name>
                  <placement>t</placement>
                  <head>Date created:</head>
                </tag>
              </tags>
              <additionalparam>-Xdoclint:none</additionalparam>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>${release-maven-plugin.version}</version>
            <configuration>
              <autoVersionSubmodules>true</autoVersionSubmodules>
              <useReleaseProfile>false</useReleaseProfile>
              <releaseProfiles>release</releaseProfiles>
              <goals>deploy</goals>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>it</id>
      <modules>
        <module>demo</module>
        <module>integration-tests</module>
      </modules>
    </profile>
    <profile>
      <id>distribution</id>
      <properties>
        <skip-remote-resource>false</skip-remote-resource>
      </properties>
      <modules>
        <module>distribution</module>
      </modules>
    </profile>
    <profile>
      <id>coverage</id>
      <modules>
        <module>coverage-reports</module>
      </modules>
    </profile>
    <profile>
      <id>docker-machine</id>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>io.fabric8</groupId>
              <artifactId>docker-maven-plugin</artifactId>
              <configuration>
                <machine>
                  <name>default</name>
                  <autoCreate>true</autoCreate>
                </machine>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>jacoco</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>owasp-dependency-check</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.owasp</groupId>
            <artifactId>dependency-check-maven</artifactId>
            <version>${dependency-check-maven-plugin.version}</version>
            <configuration>
              <suppressionFiles>
                <suppressionFile>src/owasp-dependency-check-suppressions.xml</suppressionFile>
              </suppressionFiles>
              <failBuildOnCVSS>7</failBuildOnCVSS>
              <msbuildAnalyzerEnabled>false</msbuildAnalyzerEnabled>
              <nodeAnalyzerEnabled>false</nodeAnalyzerEnabled>
              <yarnAuditAnalyzerEnabled>false</yarnAuditAnalyzerEnabled>
              <pyDistributionAnalyzerEnabled>false</pyDistributionAnalyzerEnabled>
              <pyPackageAnalyzerEnabled>false</pyPackageAnalyzerEnabled>
              <pipAnalyzerEnabled>false</pipAnalyzerEnabled>
              <pipfileAnalyzerEnabled>false</pipfileAnalyzerEnabled>
              <retireJsAnalyzerEnabled>false</retireJsAnalyzerEnabled>
              <msbuildAnalyzerEnabled>false</msbuildAnalyzerEnabled>
              <mixAuditAnalyzerEnabled>false</mixAuditAnalyzerEnabled>
              <nugetconfAnalyzerEnabled>false</nugetconfAnalyzerEnabled>
              <assemblyAnalyzerEnabled>false</assemblyAnalyzerEnabled>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>aggregate</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.owasp</groupId>
            <artifactId>dependency-check-maven</artifactId>
            <version>${dependency-check-maven-plugin.version}</version>
            <reportSets>
              <reportSet>
                <reports>
                  <report>aggregate</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
        </plugins>
      </reporting>
    </profile>
    <profile>
      <id>jdk11</id>
      <activation>
        <jdk>[11,17)</jdk>
      </activation>
      <properties>
        <werror.properties/>
        <test.additional.args>
          -Djdk.attach.allowAttachSelf
          --add-opens java.base/java.lang=ALL-UNNAMED
          --add-reads java.base=java.desktop
        </test.additional.args>
      </properties>
    </profile>
    <profile>
      <id>jdk17</id>
      <activation>
        <jdk>[17,)</jdk>
      </activation>
      <properties>
        <werror.properties/>
        <test.additional.args>
          -Djdk.attach.allowAttachSelf
          --add-opens java.base/java.io=ALL-UNNAMED
          --add-opens java.base/java.lang=ALL-UNNAMED
          --add-opens java.base/java.lang.reflect=ALL-UNNAMED
          --add-opens java.base/java.net=ALL-UNNAMED
          --add-opens java.base/java.nio=ALL-UNNAMED
          --add-opens java.base/java.nio.channels.spi=ALL-UNNAMED
          --add-opens java.base/java.nio.file=ALL-UNNAMED
          --add-opens java.base/java.util=ALL-UNNAMED
          --add-opens java.base/java.util.concurrent=ALL-UNNAMED
          --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED
          --add-opens java.base/java.util.jar=ALL-UNNAMED
          --add-opens java.base/java.util.stream=ALL-UNNAMED
          --add-opens java.base/java.time=ALL-UNNAMED
          --add-opens java.base/jdk.internal.loader=ALL-UNNAMED
          --add-opens java.base/sun.net.dns=ALL-UNNAMED
          --add-opens java.base/sun.nio.ch=ALL-UNNAMED
          --add-opens java.base/sun.security.jca=ALL-UNNAMED
          --add-opens java.xml/jdk.xml.internal=ALL-UNNAMED
          --add-reads java.base=java.desktop
        </test.additional.args>
      </properties>
    </profile>
  </profiles>

</project>
