<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.5</version>
        <relativePath/>
    </parent>

    <packaging>pom</packaging>
    <groupId>io.metersphere</groupId>
    <artifactId>metersphere</artifactId>
    <version>${revision}</version>
    <name>metersphere</name>
    <description>MeterSphere</description>

    <properties>
        <revision>main</revision>
        <java.version>11</java.version>
        <spring-cloud.version>2021.0.4</spring-cloud.version>
        <dubbo.version>2.7.15</dubbo.version>
        <flyway.version>7.15.0</flyway.version>
        <shiro.version>1.10.0</shiro.version>
        <mssql-jdbc.version>7.4.1.jre8</mssql-jdbc.version>
        <postgresql.version>42.3.2</postgresql.version>
        <java-websocket.version>1.5.3</java-websocket.version>
        <easyexcel.version>3.1.1</easyexcel.version>
        <dom4j.version>2.1.3</dom4j.version>
        <guava.version>31.1-jre</guava.version>
        <pagehelper.version>5.3.2</pagehelper.version>
        <metersphere-jmeter-functions.version>1.5</metersphere-jmeter-functions.version>
        <quartz-starter.version>1.0.6</quartz-starter.version>
        <redisson-starter.version>3.17.7</redisson-starter.version>
        <guice.version>5.1.0</guice.version>
        <mybatis-starter.version>2.2.2</mybatis-starter.version>
        <reflections.version>0.10.2</reflections.version>
        <bcprov-jdk15on.version>1.70</bcprov-jdk15on.version>
        <commons-io.version>2.11.0</commons-io.version>
        <commons-text.version>1.10.0</commons-text.version>
        <xstream.version>1.4.19</xstream.version>
        <xmlbeans.version>3.1.0</xmlbeans.version>
        <swagger-parser.version>2.1.5</swagger-parser.version>
        <rhino.version>1.7.14</rhino.version>
        <jsoup.version>1.15.3</jsoup.version>
        <commonmark.version>0.19.0</commonmark.version>
        <commons-compress.version>1.21</commons-compress.version>
        <htmlcleaner.version>2.26</htmlcleaner.version>
        <xmindjbehaveplugin.version>0.8</xmindjbehaveplugin.version>
        <metersphere-plugin-core.version>2.0</metersphere-plugin-core.version>
        <plexus.version>3.0.24</plexus.version>
        <common-random.version>1.0.14</common-random.version>
        <generex.version>1.0.2</generex.version>
        <json-lib.version>2.4</json-lib.version>
        <json-schema-validator.version>2.2.14</json-schema-validator.version>
        <xz.version>1.9</xz.version>
        <springdoc-openapi-ui.version>1.6.11</springdoc-openapi-ui.version>
        <flatten.version>1.2.7</flatten.version>
        <jmeter.version>5.5</jmeter.version>
        <jython.version>2.7.3</jython.version>
        <docker-java.version>3.2.13</docker-java.version>
        <jmeter-plugins-webdriver.version>3.4.4</jmeter-plugins-webdriver.version>
        <oracle-database.version>19.7.0.0</oracle-database.version>
        <zookeeper.version>3.4.14</zookeeper.version>
        <commons-beanutils.version>1.9.4</commons-beanutils.version>
        <jmeter-plugins-dubbo>2.7.16</jmeter-plugins-dubbo>
        <hessian-lite.version>3.2.12</hessian-lite.version>
        <dec.version>0.1.2</dec.version>
        <dingtalk-sdk.version>2.0.0</dingtalk-sdk.version>
        <org-json.version>20171018</org-json.version>
        <jmeter-plugins-dubbo.version>2.7.16</jmeter-plugins-dubbo.version>
        <nacos.version>1.4.4</nacos.version>
        <minio.version>8.4.5</minio.version>
        <hikaricp.version>5.0.1</hikaricp.version>
        <xmlgraphics-commons.version>2.7</xmlgraphics-commons.version>
        <commons-fileupload.version>1.4</commons-fileupload.version>
        <jgit.version>6.3.0.202209071007-r</jgit.version>
        <!-- frontend -->
        <frontend-maven-plugin.version>1.12.1</frontend-maven-plugin.version>
        <node.version>v16.10.0</node.version>
        <npm.version>8.12.1</npm.version>
        <!--        -->
        <skipAntRunForJenkins>false</skipAntRunForJenkins>
    </properties>

    <modules>
        <module>framework</module>
        <module>api-test</module>
        <module>performance-test</module>
        <module>project-management</module>
        <module>report-stat</module>
        <module>system-setting</module>
        <module>test-track</module>
    </modules>

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.projectreactor</groupId>
            <artifactId>reactor-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <release>${java.version}</release>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>flatten-maven-plugin</artifactId>
                <version>${flatten.version}</version>
                <configuration>
                    <updatePomFile>true</updatePomFile>
                    <flattenMode>resolveCiFriendliesOnly</flattenMode>
                </configuration>
                <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>
            </plugin>
        </plugins>
    </build>
</project>