shardingsphere
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere</artifactId> <version>5.5.2</version> </dependency>
<?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>29</version> </parent> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere</artifactId> <version>5.5.2</version> <packaging>pom</packaging> <name>Apache ShardingSphere</name> <description>Build criterion and ecosystem above multi-model databases</description> <modules> <module>infra</module> <module>parser</module> <module>db-protocol</module> <module>mode</module> <module>kernel</module> <module>jdbc</module> <module>proxy</module> <module>features</module> <module>agent</module> <module>test</module> <module>distribution</module> </modules> <properties> <!-- Environments --> <java.version>1.8</java.version> <maven.version.range>[3.0.4,)</maven.version.range> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <remoteresources.skip>true</remoteresources.skip> <jacoco.skip>true</jacoco.skip> <maven.deploy.skip>false</maven.deploy.skip> <maven.javadoc.skip>true</maven.javadoc.skip> <maven.enforcer.fail>true</maven.enforcer.fail> <shade.package>org.apache.shardingsphere.shade</shade.package> <antlr.output.directory>${basedir}/target/generated-sources/antlr4</antlr.output.directory> <sonar.organization>apache</sonar.organization> <sonar.host.url>https://sonarcloud.io</sonar.host.url> <sonar.exclusions>**/autogen/**/*</sonar.exclusions> <!-- 3rd party library versions --> <guava.version>32.1.2-jre</guava.version> <checker-qual.version>3.39.0</checker-qual.version> <error_prone_annotations.version>2.22.0</error_prone_annotations.version> <j2objc-annotations.version>1.3</j2objc-annotations.version> <commons-lang3.version>3.15.0</commons-lang3.version> <commons-codec.version>1.16.0</commons-codec.version> <commons-math3.version>3.6.1</commons-math3.version> <caffeine.version>2.9.3</caffeine.version> <transmittable-thread-local.version>2.14.2</transmittable-thread-local.version> <java-util.version>2.4.0</java-util.version> <antlr4.version>4.10.1</antlr4.version> <snakeyaml.version>2.2</snakeyaml.version> <gson.version>2.10.1</gson.version> <jackson.version>2.16.1</jackson.version> <json-path.version>2.9.0</json-path.version> <json-smart.version>2.4.10</json-smart.version> <accessors-smart.version>2.4.9</accessors-smart.version> <asm.version>9.3</asm.version> <groovy.version>4.0.22</groovy.version> <freemarker.version>2.3.31</freemarker.version> <bytebuddy.version>1.15.4</bytebuddy.version> <jakarta.jakartaee-bom.version>8.0.0</jakarta.jakartaee-bom.version> <glassfish-jaxb.version>2.3.9</glassfish-jaxb.version> <atomikos.version>6.0.0</atomikos.version> <narayana.version>5.12.7.Final</narayana.version> <jboss-transaction-spi.version>7.6.1.Final</jboss-transaction-spi.version> <jboss-logging.version>3.2.1.Final</jboss-logging.version> <seata.version>2.2.0</seata.version> <netty.version>4.1.112.Final</netty.version> <bouncycastle.version>1.78.1</bouncycastle.version> <curator.version>5.7.0</curator.version> <zookeeper.version>3.9.2</zookeeper.version> <audience-annotations.version>0.12.0</audience-annotations.version> <jetcd.version>0.7.7</jetcd.version> <vertx.version>4.5.1</vertx.version> <grpc.version>1.65.1</grpc.version> <protobuf.version>3.21.12</protobuf.version> <okhttp.version>4.12.0</okhttp.version> <elasticjob.version>3.0.4</elasticjob.version> <slf4j.version>1.7.36</slf4j.version> <logback.version>1.2.13</logback.version> <commons-logging.version>1.2</commons-logging.version> <lombok.version>1.18.36</lombok.version> <immutables.version>2.9.3</immutables.version> <postgresql.version>42.7.2</postgresql.version> <mysql-connector-java.version>8.3.0</mysql-connector-java.version> <mssql.version>6.1.7.jre8-preview</mssql.version> <h2.version>2.2.224</h2.version> <opengauss.version>3.1.0-og</opengauss.version> <mariadb-java-client.version>2.4.2</mariadb-java-client.version> <clickhouse-jdbc.version>0.6.3</clickhouse-jdbc.version> <hive.version>4.0.1</hive.version> <hive-server2-jdbc-driver-thin.version>1.6.0</hive-server2-jdbc-driver-thin.version> <hadoop.version>3.3.6</hadoop.version> <presto.version>0.288.1</presto.version> <jaybird.version>5.0.6.java8</jaybird.version> <hikari-cp.version>4.0.3</hikari-cp.version> <prometheus-simpleclient.version>0.11.0</prometheus-simpleclient.version> <prometheus-jmx.version>0.16.1</prometheus-jmx.version> <opentelemetry.version>1.41.0</opentelemetry.version> <opentelemetry-semconv.version>1.27.0-alpha</opentelemetry-semconv.version> <kotlin-stdlib.version>1.9.10</kotlin-stdlib.version> <junit.version>5.11.2</junit.version> <hamcrest.version>3.0</hamcrest.version> <mockito.version>4.11.0</mockito.version> <awaitility.version>4.2.2</awaitility.version> <testcontainers.version>1.20.3</testcontainers.version> <commons-csv.version>1.9.0</commons-csv.version> <graal-sdk.version>24.1.0</graal-sdk.version> <jedis.version>4.4.6</jedis.version> <!-- 3rd party library plugin versions --> <protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version> <dockerfile-maven.version>1.4.13</dockerfile-maven.version> <os-detector-maven-plugin.version>0.3.1</os-detector-maven-plugin.version> <native-maven-plugin.version>0.10.4</native-maven-plugin.version> <!-- Compile plugin versions --> <templating-maven-plugin.version>1.0.0</templating-maven-plugin.version> <git-commit-id-plugin.version>4.9.10</git-commit-id-plugin.version> <maven-enforcer-plugin.version>3.2.1</maven-enforcer-plugin.version> <maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version> <maven-resources-plugin.version>3.3.1</maven-resources-plugin.version> <maven-surefire-plugin.version>3.5.1</maven-surefire-plugin.version> <maven-failsafe-plugin.version>3.2.5</maven-failsafe-plugin.version> <maven-jar-plugin.version>3.3.0</maven-jar-plugin.version> <jandex-maven-plugin.version>3.1.3</jandex-maven-plugin.version> <build-helper-maven-plugin.version>3.3.0</build-helper-maven-plugin.version> <maven-dependency-plugin.version>3.6.0</maven-dependency-plugin.version> <exec-maven-plugin.version>3.1.0</exec-maven-plugin.version> <!-- Release plugin versions --> <maven-source-plugin.version>3.2.1</maven-source-plugin.version> <maven-deploy-plugin.version>3.1.1</maven-deploy-plugin.version> <maven-release-plugin.version>3.0.0</maven-release-plugin.version> <maven-assembly-plugin.version>3.5.0</maven-assembly-plugin.version> <maven-shade-plugin.version>3.5.1</maven-shade-plugin.version> <checksum-maven-plugin.version>1.10</checksum-maven-plugin.version> <!-- Check plugin versions --> <apache-rat-plugin.version>0.15</apache-rat-plugin.version> <spotless-maven-plugin.version>2.24.1</spotless-maven-plugin.version> <maven-checkstyle-plugin.version>3.2.1</maven-checkstyle-plugin.version> <maven-pmd-plugin.version>3.20.0</maven-pmd-plugin.version> <spotbugs-maven-plugin.version>4.7.2.1</spotbugs-maven-plugin.version> <fb-contrib.version>7.6.0</fb-contrib.version> <findsecbugs.version>1.12.0</findsecbugs.version> <sonar-maven-plugin.version>3.9.1.2184</sonar-maven-plugin.version> <!-- Report plugin versions --> <maven-site-plugin.version>4.0.0-M13</maven-site-plugin.version> <maven-project-info-reports-plugin.version>3.5.0</maven-project-info-reports-plugin.version> <maven-javadoc-plugin.version>3.5.0</maven-javadoc-plugin.version> <maven-jxr-plugin.version>3.3.0</maven-jxr-plugin.version> <jdepend-maven-plugin.version>2.0</jdepend-maven-plugin.version> <taglist-maven-plugin.version>2.4</taglist-maven-plugin.version> <jacoco-maven-plugin.version>0.8.8</jacoco-maven-plugin.version> <dependency-check-maven.version>10.0.3</dependency-check-maven.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${guava.version}</version> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>listenablefuture</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.checkerframework</groupId> <artifactId>checker-qual</artifactId> <version>${checker-qual.version}</version> </dependency> <dependency> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_annotations</artifactId> <version>${error_prone_annotations.version}</version> </dependency> <dependency> <groupId>com.google.j2objc</groupId> <artifactId>j2objc-annotations</artifactId> <version>${j2objc-annotations.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${commons-lang3.version}</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>${commons-codec.version}</version> </dependency> <dependency> <groupId>com.github.ben-manes.caffeine</groupId> <artifactId>caffeine</artifactId> <version>${caffeine.version}</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>transmittable-thread-local</artifactId> <version>${transmittable-thread-local.version}</version> </dependency> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>${snakeyaml.version}</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>${gson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson</groupId> <artifactId>jackson-bom</artifactId> <version>${jackson.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.jayway.jsonpath</groupId> <artifactId>json-path</artifactId> <version>${json-path.version}</version> </dependency> <dependency> <groupId>net.minidev</groupId> <artifactId>json-smart</artifactId> <version>${json-smart.version}</version> </dependency> <dependency> <groupId>net.minidev</groupId> <artifactId>accessors-smart</artifactId> <version>${accessors-smart.version}</version> </dependency> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> <version>${asm.version}</version> </dependency> <dependency> <groupId>org.apache.groovy</groupId> <artifactId>groovy</artifactId> <version>${groovy.version}</version> </dependency> <dependency> <groupId>jakarta.platform</groupId> <artifactId>jakarta.jakartaee-bom</artifactId> <version>${jakarta.jakartaee-bom.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId>jaxb-bom</artifactId> <version>${glassfish-jaxb.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>${freemarker.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-math3</artifactId> <version>${commons-math3.version}</version> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-bom</artifactId> <version>${netty.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk18on</artifactId> <version>${bouncycastle.version}</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bctls-jdk18on</artifactId> <version>${bouncycastle.version}</version> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>${curator.version}</version> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-client</artifactId> <version>${curator.version}</version> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <version>${curator.version}</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>${zookeeper.version}</version> <exclusions> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.yetus</groupId> <artifactId>audience-annotations</artifactId> <version>${audience-annotations.version}</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-bom</artifactId> <version>${grpc.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-bom</artifactId> <version>${protobuf.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.apache.shardingsphere.elasticjob</groupId> <artifactId>elasticjob-lite-core</artifactId> <version>${elasticjob.version}</version> <exclusions> <exclusion> <groupId>com.zaxxer</groupId> <artifactId>HikariCP-java7</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.shardingsphere.elasticjob</groupId> <artifactId>elasticjob-lite-lifecycle</artifactId> <version>${elasticjob.version}</version> <exclusions> <exclusion> <groupId>com.zaxxer</groupId> <artifactId>HikariCP-java7</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>${commons-logging.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>${postgresql.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>${mysql-connector-java.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>${mssql.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.opengauss</groupId> <artifactId>opengauss-jdbc</artifactId> <version>${opengauss.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> <version>${mariadb-java-client.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>${h2.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.clickhouse</groupId> <artifactId>clickhouse-jdbc</artifactId> <version>${clickhouse-jdbc.version}</version> <classifier>http</classifier> <scope>test</scope> </dependency> <dependency> <groupId>com.facebook.presto</groupId> <artifactId>presto-jdbc</artifactId> <version>${presto.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.firebirdsql.jdbc</groupId> <artifactId>jaybird</artifactId> <version>${jaybird.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>${hikari-cp.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>${junit.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> <version>${hamcrest.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-bom</artifactId> <version>${mockito.version}</version> <type>pom</type> <scope>import</scope> <exclusions> <exclusion> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> </exclusion> <exclusion> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.awaitility</groupId> <artifactId>awaitility</artifactId> <version>${awaitility.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-test</artifactId> <version>${curator.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>${bytebuddy.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> <version>${bytebuddy.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.cedarsoftware</groupId> <artifactId>java-util</artifactId> <version>${java-util.version}</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>${jedis.version}</version> <scope>provided</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-inline</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.cedarsoftware</groupId> <artifactId>java-util</artifactId> </dependency> </dependencies> <build> <pluginManagement> <plugins> <!-- 3rd party library plugins --> <plugin> <groupId>org.antlr</groupId> <artifactId>antlr4-maven-plugin</artifactId> <version>${antlr4.version}</version> </plugin> <plugin> <groupId>org.xolstice.maven.plugins</groupId> <artifactId>protobuf-maven-plugin</artifactId> <version>${protobuf-maven-plugin.version}</version> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>${dockerfile-maven.version}</version> </plugin> <!-- Compile plugins --> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <version>${maven-enforcer-plugin.version}</version> <executions> <execution> <id>enforce-banned-dependencies</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <dependencyConvergence /> <requireMavenVersion> <version>${maven.version.range}</version> </requireMavenVersion> <requireJavaVersion> <version>${java.version}</version> </requireJavaVersion> </rules> <fail>${maven.enforcer.fail}</fail> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-plugin.version}</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> <testSource>${java.version}</testSource> <testTarget>${java.version}</testTarget> <compilerArgs>-Xlint:-options</compilerArgs> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </path> <path> <groupId>org.immutables</groupId> <artifactId>value</artifactId> <version>${immutables.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> <!-- TODO nianjun should remove after test container is used in agent e2e --> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>${maven-resources-plugin.version}</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>${maven-surefire-plugin.version}</version> <configuration> <trimStackTrace>false</trimStackTrace> </configuration> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <version>${maven-failsafe-plugin.version}</version> <executions> <execution> <id>integration-tests</id> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>${maven-jar-plugin.version}</version> </plugin> <plugin> <groupId>io.smallrye</groupId> <artifactId>jandex-maven-plugin</artifactId> <version>${jandex-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${build-helper-maven-plugin.version}</version> <executions> <execution> <id>add-source</id> <goals> <goal>add-source</goal> </goals> <phase>generate-sources</phase> <configuration> <sources> <source>${antlr.output.directory}</source> </sources> </configuration> </execution> </executions> </plugin> <!-- Release plugins --> <plugin> <artifactId>maven-source-plugin</artifactId> <version>${maven-source-plugin.version}</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>${maven-deploy-plugin.version}</version> <configuration> <skip>${maven.deploy.skip}</skip> </configuration> </plugin> <plugin> <artifactId>maven-release-plugin</artifactId> <version>${maven-release-plugin.version}</version> <configuration> <tagNameFormat>@{project.version}</tagNameFormat> </configuration> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>${maven-assembly-plugin.version}</version> </plugin> <plugin> <artifactId>maven-shade-plugin</artifactId> <version>${maven-shade-plugin.version}</version> <configuration> <minimizeJar>true</minimizeJar> <shadedArtifactAttached>false</shadedArtifactAttached> <shadeSourcesContent>true</shadeSourcesContent> <createDependencyReducedPom>false</createDependencyReducedPom> <createSourcesJar>false</createSourcesJar> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> </transformers> </configuration> </plugin> <!-- Report plugins --> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven-javadoc-plugin.version}</version> <configuration> <source>${java.version}</source> <charset>${project.build.sourceEncoding}</charset> <encoding>${project.build.sourceEncoding}</encoding> <docencoding>${project.build.sourceEncoding}</docencoding> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jdepend-maven-plugin</artifactId> <version>${jdepend-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId> <version>${taglist-maven-plugin.version}</version> <configuration> <aggregate>true</aggregate> </configuration> </plugin> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>${dependency-check-maven.version}</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <artifactId>maven-source-plugin</artifactId> </plugin> <!-- Release plugins --> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco-maven-plugin.version}</version> <executions> <execution> <id>prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>jacoco-report</id> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> </plugins> <extensions> <extension> <groupId>com.tisonkun.os</groupId> <artifactId>os-detector-maven-plugin</artifactId> <version>${os-detector-maven-plugin.version}</version> </extension> </extensions> </build> <reporting> <plugins> <plugin> <artifactId>maven-site-plugin</artifactId> <version>${maven-site-plugin.version}</version> </plugin> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> <version>${maven-project-info-reports-plugin.version}</version> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven-javadoc-plugin.version}</version> <reportSets> <reportSet> <reports> <report>aggregate</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <artifactId>maven-jxr-plugin</artifactId> <version>${maven-jxr-plugin.version}</version> <reportSets> <reportSet> <reports> <report>aggregate</report> </reports> <inherited>false</inherited> </reportSet> </reportSets> </plugin> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> </plugin> <plugin> <artifactId>maven-checkstyle-plugin</artifactId> <configuration> <failOnViolation>false</failOnViolation> <failsOnError>false</failsOnError> <violationSeverity>warning</violationSeverity> <!--suppress MavenModelInspection --> <configLocation>${maven.multiModuleProjectDirectory}/src/resources/checkstyle.xml</configLocation> <includeTestSourceDirectory>true</includeTestSourceDirectory> <excludes>**/autogen/**/*</excludes> <goal>checkstyle-aggregate</goal> </configuration> </plugin> <plugin> <artifactId>maven-pmd-plugin</artifactId> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <configuration> <xmlOutput>true</xmlOutput> <xmlOutputDirectory>target/site</xmlOutputDirectory> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jdepend-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId> </plugin> </plugins> </reporting> <url>http://shardingsphere.apache.org</url> <licenses> <license> <name>Apache License 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>repo</distribution> </license> </licenses> <mailingLists> <mailingList> <name>ShardingSphere Developer List</name> <subscribe>dev-subscribe@shardingsphere.apache.org</subscribe> <unsubscribe>dev-unsubscribe@shardingsphere.apache.org</unsubscribe> <post>dev@shardingsphere.apache.org</post> </mailingList> </mailingLists> <scm> <connection>scm:git:https://github.com/apache/shardingsphere.git</connection> <developerConnection>scm:git:https://github.com/apache/shardingsphere.git</developerConnection> <url>https://github.com/apache/shardingsphere.git</url> <tag>5.5.2</tag> </scm> <distributionManagement> <site> <id>Apache ShardingSphere</id> <url>https://shardingsphere.apache.org/statistics</url> </site> </distributionManagement> <profiles> <profile> <id>jdk11+</id> <activation> <jdk>[11,)</jdk> </activation> <properties> <maven.compiler.release>8</maven.compiler.release> </properties> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/sun.net=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED</argLine> </configuration> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <configuration> <argLine>--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/sun.net=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED</argLine> </configuration> </plugin> </plugins> </pluginManagement> </build> </profile> <profile> <id>generateMetadata</id> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${maven-surefire-plugin.version}</version> <configuration> <includes> <include>org.apache.shardingsphere.test.natived.**</include> </includes> </configuration> </plugin> <plugin> <groupId>org.graalvm.buildtools</groupId> <artifactId>native-maven-plugin</artifactId> <version>${native-maven-plugin.version}</version> <extensions>true</extensions> <configuration> <agent> <enabled>true</enabled> <defaultMode>Conditional</defaultMode> <modes> <conditional> <userCodeFilterPath>${user.dir}/test/native/native-image-filter/user-code-filter.json</userCodeFilterPath> <extraFilterPath>${user.dir}/test/native/native-image-filter/extra-filter.json</extraFilterPath> <parallel>true</parallel> </conditional> </modes> <metadataCopy> <disabledStages> <stage>main</stage> </disabledStages> <merge>false</merge> <outputDirectory>${user.dir}/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/</outputDirectory> </metadataCopy> </agent> </configuration> <executions> <execution> <id>build-native</id> <goals> <goal>compile-no-fork</goal> </goals> <phase>package</phase> </execution> <execution> <id>test-native</id> <goals> <goal>test</goal> </goals> <phase>test</phase> </execution> </executions> </plugin> </plugins> </pluginManagement> </build> </profile> <profile> <id>nativeTestInShardingSphere</id> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includes> <include>org.apache.shardingsphere.test.natived.**</include> </includes> </configuration> </plugin> <plugin> <groupId>org.graalvm.buildtools</groupId> <artifactId>native-maven-plugin</artifactId> <version>${native-maven-plugin.version}</version> <extensions>true</extensions> <configuration> <buildArgs> <buildArg>-H:+AddAllCharsets</buildArg> <buildArg>-H:+UnlockExperimentalVMOptions</buildArg> <buildArg>-H:ThrowMissingRegistrationErrors=</buildArg> <buildArg>-H:MissingRegistrationReportingMode=Warn</buildArg> </buildArgs> <quickBuild>true</quickBuild> </configuration> <executions> <execution> <id>test-native</id> <goals> <goal>test</goal> </goals> <phase>test</phase> </execution> </executions> </plugin> </plugins> </pluginManagement> </build> </profile> <profile> <id>check</id> <build> <pluginManagement> <plugins> <!-- Check plugins --> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <version>${apache-rat-plugin.version}</version> <configuration> <!--suppress MavenModelInspection --> <excludesFile>${maven.multiModuleProjectDirectory}/src/resources/rat.txt</excludesFile> </configuration> <executions> <execution> <goals> <goal>check</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> <plugin> <groupId>com.diffplug.spotless</groupId> <artifactId>spotless-maven-plugin</artifactId> <version>${spotless-maven-plugin.version}</version> <configuration> <java> <eclipse> <!--suppress MavenModelInspection --> <file>${maven.multiModuleProjectDirectory}/src/resources/spotless/java.xml</file> </eclipse> <licenseHeader> <!--suppress MavenModelInspection --> <file>${maven.multiModuleProjectDirectory}/src/resources/spotless/copyright.txt</file> </licenseHeader> <replaceRegex> <!-- specify replacements using regex match and replace --> <name>Formatting JavaDoc extra spaces</name> <searchRegex>\*\s+(\r?\n)\s{5}\*</searchRegex> <replacement>*$1 *</replacement> </replaceRegex> </java> <pom> <sortPom> <encoding>UTF-8</encoding> <nrOfIndentSpace>4</nrOfIndentSpace> <keepBlankLines>true</keepBlankLines> <indentBlankLines>true</indentBlankLines> <indentSchemaLocation>false</indentSchemaLocation> <spaceBeforeCloseEmptyElement>true</spaceBeforeCloseEmptyElement> <sortModules>false</sortModules> <sortExecutions>false</sortExecutions> <predefinedSortOrder>custom_1</predefinedSortOrder> <expandEmptyElements>false</expandEmptyElements> <sortProperties>false</sortProperties> </sortPom> <replace> <name>Leading blank line</name> <search>--> <project</search> <replacement>--> <project</replacement> </replace> </pom> </configuration> </plugin> <plugin> <artifactId>maven-checkstyle-plugin</artifactId> <version>${maven-checkstyle-plugin.version}</version> <configuration> <consoleOutput>true</consoleOutput> <failOnViolation>true</failOnViolation> <failsOnError>true</failsOnError> <violationSeverity>error</violationSeverity> <!--suppress MavenModelInspection --> <configLocation>${maven.multiModuleProjectDirectory}/src/resources/checkstyle.xml</configLocation> <includeTestSourceDirectory>true</includeTestSourceDirectory> <excludes>**/autogen/**/*</excludes> </configuration> </plugin> <plugin> <artifactId>maven-pmd-plugin</artifactId> <version>${maven-pmd-plugin.version}</version> <configuration> <aggregate>true</aggregate> <targetJdk>${java.version}</targetJdk> <rulesets> <!--suppress MavenModelInspection --> <ruleset>${maven.multiModuleProjectDirectory}/src/resources/pmd.xml</ruleset> </rulesets> </configuration> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>${spotbugs-maven-plugin.version}</version> <configuration> <fork>false</fork> <failOnError>false</failOnError> <!--suppress MavenModelInspection --> <excludeFilterFile>${maven.multiModuleProjectDirectory}/src/resources/spotbugs.xml</excludeFilterFile> <plugins> <plugin> <groupId>com.mebigfatguy.fb-contrib</groupId> <artifactId>fb-contrib</artifactId> <version>${fb-contrib.version}</version> </plugin> <plugin> <groupId>com.h3xstream.findsecbugs</groupId> <artifactId>findsecbugs-plugin</artifactId> <version>${findsecbugs.version}</version> </plugin> </plugins> </configuration> </plugin> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>${sonar-maven-plugin.version}</version> </plugin> </plugins> </pluginManagement> <plugins> <!-- Check plugins --> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> </plugin> <plugin> <groupId>com.diffplug.spotless</groupId> <artifactId>spotless-maven-plugin</artifactId> <executions> <execution> <goals> <goal>apply</goal> </goals> <phase>compile</phase> </execution> </executions> </plugin> <plugin> <artifactId>maven-checkstyle-plugin</artifactId> <executions> <execution> <id>validate</id> <goals> <goal>check</goal> </goals> <phase>validate</phase> </execution> </executions> </plugin> <plugin> <artifactId>maven-pmd-plugin</artifactId> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> </plugin> </plugins> </build> </profile> </profiles> </project>