<?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>3.1.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>3.x</revision> <java.version>21</java.version> <platform-plugin-sdk.version>1.5.0</platform-plugin-sdk.version> <shiro.version>1.12.0</shiro.version> <java-websocket.version>1.5.4</java-websocket.version> <easyexcel.version>3.3.2</easyexcel.version> <dom4j.version>2.1.4</dom4j.version> <guava.version>32.0.1-jre</guava.version> <pagehelper.version>5.3.3</pagehelper.version> <metersphere-jmeter-functions.version>1.5</metersphere-jmeter-functions.version> <quartz-starter.version>1.0.7</quartz-starter.version> <redisson-starter.version>3.23.5</redisson-starter.version> <guice.version>5.1.0</guice.version> <mybatis-starter.version>3.0.2</mybatis-starter.version> <reflections.version>0.10.2</reflections.version> <bcprov-jdk15on.version>1.70</bcprov-jdk15on.version> <commons-io.version>2.13.0</commons-io.version> <commons-text.version>1.10.0</commons-text.version> <xstream.version>1.4.20</xstream.version> <xmlbeans.version>5.1.1</xmlbeans.version> <swagger-parser.version>2.1.16</swagger-parser.version> <swagger.version>2.2.8</swagger.version> <springdoc-openapi-ui.version>2.1.0</springdoc-openapi-ui.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-schema-validator.version>2.2.14</json-schema-validator.version> <xz.version>1.9</xz.version> <flatten.version>1.2.7</flatten.version> <jmeter.version>5.6.2</jmeter.version> <codehaus-groovy.version>3.0.11</codehaus-groovy.version> <graalpy-scriptengine.version>1.0.0</graalpy-scriptengine.version> <docker-java.version>3.2.14</docker-java.version> <selenium.version>4.14.0</selenium.version> <jmeter-plugins-webdriver.version>4.14.0</jmeter-plugins-webdriver.version> <opentelemetry.version>1.28.0</opentelemetry.version> <commons-beanutils.version>1.9.4</commons-beanutils.version> <hessian-lite.version>3.2.13</hessian-lite.version> <avro.version>1.11.1</avro.version> <dec.version>0.1.2</dec.version> <dingtalk-sdk.version>2.0.0</dingtalk-sdk.version> <dingtalk-client.version>2.0.29</dingtalk-client.version> <minio.version>8.5.2</minio.version> <hikaricp.version>5.0.1</hikaricp.version> <xmlgraphics-commons.version>2.7</xmlgraphics-commons.version> <commons-fileupload.version>1.5</commons-fileupload.version> <commons-collections4.version>4.4</commons-collections4.version> <kubernetes-client.version>6.8.0</kubernetes-client.version> <jgit.version>6.6.0.202305301015-r</jgit.version> <curator.version>5.4.0</curator.version> <graalvmjs.version>22.3.1</graalvmjs.version> <embedded.version>3.0.1</embedded.version> <otp-java.version>2.0.1</otp-java.version> <mockserver-client-java.version>5.15.0</mockserver-client-java.version> <httpclient.version>4.5.14</httpclient.version> <!-- frontend --> <frontend-maven-plugin.version>1.12.1</frontend-maven-plugin.version> <node.version>v20.8.1</node.version> <npm.version>10.1.0</npm.version> <pnpm.version>8.9.2</pnpm.version> <!-- --> <skipAntRunForJenkins>false</skipAntRunForJenkins> <commons-dbcp2-version>2.9.0</commons-dbcp2-version> <jacoco.version>0.8.10</jacoco.version> <pf4j.version>3.10.0</pf4j.version> <!-- sonar --> <sonar.organization>metersphere</sonar.organization> <sonar.host.url>https://sonarcloud.io</sonar.host.url> </properties> <modules> <module>frontend</module> <module>backend</module> </modules> <dependencies> <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> <exclusions> <exclusion> <artifactId>android-json</artifactId> <groupId>com.vaadin.external.google</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.mock-server</groupId> <artifactId>mockserver-netty</artifactId> <scope>test</scope> <version>${mockserver-client-java.version}</version> </dependency> <dependency> <groupId>org.mock-server</groupId> <artifactId>mockserver-client-java</artifactId> <version>${mockserver-client-java.version}</version> <scope>test</scope> <exclusions> <exclusion> <artifactId>commons-logging</artifactId> <groupId>commons-logging</groupId> </exclusion> </exclusions> </dependency> <!-- embedded 配置 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> <version>4.0.4</version> <scope>test</scope> </dependency> <dependency> <groupId>com.playtika.testcontainers</groupId> <artifactId>embedded-mysql</artifactId> <version>${embedded.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.playtika.testcontainers</groupId> <artifactId>embedded-redis</artifactId> <version>${embedded.version}</version> <scope>test</scope> </dependency> <!-- 内置 minio 和 kafka --> <dependency> <groupId>com.playtika.testcontainers</groupId> <artifactId>embedded-minio</artifactId> <version>${embedded.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.playtika.testcontainers</groupId> <artifactId>embedded-kafka</artifactId> <version>${embedded.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.playtika.testcontainers</groupId> <artifactId>embedded-mockserver</artifactId> <version>${embedded.version}</version> <scope>test</scope> </dependency> <!-- end embedded 配置 --> </dependencies> <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.json</include> <include>**/*.tpl</include> <include>**/*.js</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*</include> </includes> <filtering>false</filtering> </resource> </resources> <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> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco.version}</version> <configuration> <excludes> <exclude>io/metersphere/*/mapper/**</exclude> <exclude>io/metersphere/*/domain/**</exclude> <exclude>io/metersphere/**/dto/**</exclude> <exclude>io/metersphere/**/config/**</exclude> <exclude>io/metersphere/**/constants/**</exclude> <exclude>io/metersphere/sdk/**</exclude> <exclude>io/metersphere/plugin/**</exclude> </excludes> </configuration> <executions> <execution> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <phase>prepare-package</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <distributionManagement> <repository> <id>fit2cloud-public</id> <url>https://repository.fit2cloud.com/content/repositories/fit2cloud-public</url> </repository> </distributionManagement> <repositories> <repository> <id>central</id> <url>https://repo.maven.apache.org/maven2</url> </repository> <repository> <id>fit2cloud-public</id> <url>https://repository.fit2cloud.com/repository/public/</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <url>https://repo.maven.apache.org/maven2</url> </pluginRepository> <pluginRepository> <id>fit2cloud-public</id> <url>https://repository.fit2cloud.com/repository/public/</url> </pluginRepository> </pluginRepositories> </project>