<?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>18</version>
  </parent>


  <groupId>org.apache.servicecomb</groupId>
  <artifactId>java-chassis</artifactId>
  <version>2.7.3</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.0.4</dependency-check-maven-plugin.version>
    <docker-maven-plugin.version>0.33.0</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>1.6</gpg-maven-plugin.version>
    <lifecycle-mapping-plugin.version>1.0.0</lifecycle-mapping-plugin.version>
    <jacoco-maven-plugin.version>0.7.8</jacoco-maven-plugin.version>
    <javadoc-maven-plugin.version>2.9.1</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-project-info-reports-plugin.version>2.4</maven-project-info-reports-plugin.version>
    <maven-remote-resources-plugin.version>1.5</maven-remote-resources-plugin.version>
    <puppycrawl-checkstyle.version>8.29</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.6.0.0</spotbug-maven-plugin.version>
    <spring-boot-maven-plugin.version>2.6.7</spring-boot-maven-plugin.version>
    <surefire-maven-plugin.version>3.0.0-M6</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>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>${maven-jxr-plugin.version}</version>
      </plugin>
    </plugins>
  </reporting>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <configLocation>../etc/checkstyle.xml</configLocation>
          <excludes>**/demo/**</excludes>
        </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>1.19</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-jar-plugin</artifactId>
        <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>
              <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,)</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>
