<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.tencent.tsf</groupId>
  <artifactId>femas-parent</artifactId>
  <version>2.0.1</version>
  <packaging>pom</packaging>
  <name>${project.artifactId}</name>
  <description>The parent project of femas</description>
  <url>https://github.com/polarismesh/femas</url>
  <developers>
    <developer>
      <name>wantedlzx</name>
      <email>zhixliu12@gmail.com</email>
      <organization>Tencent</organization>
    </developer>
    <developer>
      <name>zilongTong</name>
      <email>flamingo.ge.895@gmail.com</email>
      <organization>Tencent</organization>
    </developer>
  </developers>
  <modules>
    <module>femas-adaptor</module>
    <module>femas-common</module>
    <module>femas-api</module>
    <module>femas-config</module>
    <module>femas-config-impl</module>
    <module>femas-dependencies-bom</module>
    <module>femas-example</module>
    <module>femas-extensions</module>
    <module>femas-starters</module>
    <module>femas-governance-impl</module>
    <module>femas-registry</module>
    <module>femas-registry-impl</module>
    <module>jacoco-aggregate</module>
    <module>femas-governance</module>
    <module>femas-agent</module>
    <module>femas-admin</module>
    <module>femas-admin-starter</module>
    <module>femas-plugin</module>
    <module>femas-plugin-impl</module>
    <module>service-insight-admin</module>
    <module>service-insight-starters</module>
    <module>femas-cloudt</module>
  </modules>
  <scm />
  <distributionManagement>
    <repository>
      <id>elitesland-releases</id>
      <url>https://mvn.elitescloud.com/nexus/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
      <id>elitesland-snapshots</id>
      <url>https://mvn.elitescloud.com/nexus/repository/maven-snapshots/</url>
    </snapshotRepository>
  </distributionManagement>
  <properties>
    <java.encoding>UTF-8</java.encoding>
    <maven-assembly.version>3.1.0</maven-assembly.version>
    <maven.jacoco.version>0.8.3</maven.jacoco.version>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.pmd-plugin.version>3.8</maven.pmd-plugin.version>
    <maven.gpg.version>1.6</maven.gpg.version>
    <p3c-pmd.version>1.3.0</p3c-pmd.version>
    <revision>2.0.1</revision>
    <maven.javadoc.version>3.3.0</maven.javadoc.version>
    <maven-antrun.version>1.8</maven-antrun.version>
    <java.target.version>1.8</java.target.version>
    <java.source.version>1.8</java.source.version>
    <spring-boot-maven.verson>2.1.16.RELEASE</spring-boot-maven.verson>
    <maven.source.version>3.0.1</maven.source.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.surefire.version>2.22.1</maven.surefire.version>
    <maven.compiler.version>3.8.0</maven.compiler.version>
    <sonar-maven.version>3.7.0.1746</sonar-maven.version>
    <maven.test.skip>true</maven.test.skip>
    <maven.deploy.version>2.8.2</maven.deploy.version>
    <maven-shade.version>3.2.2</maven-shade.version>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.jar.version>3.1.0</maven.jar.version>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.tencent.tsf</groupId>
        <artifactId>femas-dependencies-bom</artifactId>
        <version>${project.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <repositories>
    <repository>
      <id>aliyun-maven</id>
      <url>https://maven.aliyun.com/repository/public/</url>
    </repository>
    <repository>
      <id>elitesland-releases</id>
      <url>https://mvn.elitescloud.com/nexus/repository/maven-private/</url>
    </repository>
    <repository>
      <id>maven</id>
      <url>https://repo1.maven.org/maven2/</url>
    </repository>
    <repository>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <id>nexus-snapshots</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
    </repository>
    <repository>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>nexus-releases</id>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>aliyun-plugin</id>
      <url>https://maven.aliyun.com/repository/public</url>
    </pluginRepository>
  </pluginRepositories>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <version>${spring-boot-maven.verson}</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven.surefire.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-source-plugin</artifactId>
          <version>${maven.source.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${maven.jar.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-shade-plugin</artifactId>
          <version>${maven-shade.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>${maven-antrun.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>${maven-assembly.version}</version>
        </plugin>
        <plugin>
          <groupId>org.sonarsource.scanner.maven</groupId>
          <artifactId>sonar-maven-plugin</artifactId>
          <version>${sonar-maven.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
        <version>2.8.1</version>
        <configuration>
          <generateBackupPoms>false</generateBackupPoms>
          <newVersion>2.0.1</newVersion>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven.compiler.version}</version>
        <configuration>
          <source>${java.source.version}</source>
          <target>${java.target.version}</target>
          <encoding>${java.encoding}</encoding>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <argLine>@{argLine} -Xms1024m -Xmx2048m</argLine>
          <testFailureIgnore>true</testFailureIgnore>
          <useSystemClassLoader>false</useSystemClassLoader>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>3.1.2</version>
        <configuration>
          <configLocation>checkstyle/checkstyle.xml</configLocation>
          <suppressionsLocation>checkstyle/suppressions.xml</suppressionsLocation>
          <includeTestSourceDirectory>true</includeTestSourceDirectory>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${maven.jacoco.version}</version>
        <executions>
          <execution>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>report</id>
            <phase>test</phase>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>flatten-maven-plugin</artifactId>
        <version>1.1.0</version>
        <executions>
          <execution>
            <id>flatten</id>
            <phase>process-resources</phase>
            <goals>
              <goal>flatten</goal>
            </goals>
          </execution>
          <execution>
            <id>flatten.clean</id>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <updatePomFile>true</updatePomFile>
          <flattenMode>resolveCiFriendliesOnly</flattenMode>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>2.7</version>
      </plugin>
      <plugin>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>${maven.pmd-plugin.version}</version>
        <executions>
          <execution>
            <phase>site</phase>
            <goals>
              <goal>pmd</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>com.alibaba.p3c</groupId>
            <artifactId>p3c-pmd</artifactId>
            <version>${p3c-pmd.version}</version>
          </dependency>
        </dependencies>
        <configuration>
          <rulesets>
            <ruleset>rulesets/java/ali-comment.xml</ruleset>
            <ruleset>rulesets/java/ali-concurrent.xml</ruleset>
            <ruleset>rulesets/java/ali-constant.xml</ruleset>
            <ruleset>rulesets/java/ali-exception.xml</ruleset>
            <ruleset>rulesets/java/ali-flowcontrol.xml</ruleset>
            <ruleset>rulesets/java/ali-naming.xml</ruleset>
            <ruleset>rulesets/java/ali-oop.xml</ruleset>
            <ruleset>rulesets/java/ali-orm.xml</ruleset>
            <ruleset>rulesets/java/ali-other.xml</ruleset>
            <ruleset>rulesets/java/ali-set.xml</ruleset>
          </rulesets>
          <printFailingErrors>true</printFailingErrors>
          <includes></includes>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-site-plugin</artifactId>
        <version>3.11.0</version>
        <configuration>
          <locales>zh_CN</locales>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.sonarsource.scanner.maven</groupId>
        <artifactId>sonar-maven-plugin</artifactId>
        <version>${sonar-maven.version}</version>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>oss</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <version>${maven.source.version}</version>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${maven.javadoc.version}</version>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>jar</goal>
                </goals>
                <configuration>
                  <locale>en_US</locale>
                  <encoding>UTF-8</encoding>
                  <charset>UTF-8</charset>
                  <doclint>none</doclint>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>${maven.gpg.version}</version>
            <executions>
              <execution>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <distributionManagement>
        <repository>
          <id>oss</id>
          <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
        <snapshotRepository>
          <id>oss</id>
          <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        </snapshotRepository>
      </distributionManagement>
    </profile>
  </profiles>
</project>
