| <?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> |
| <groupId>org.apache.iotdb</groupId> |
| <artifactId>backup-tool</artifactId> |
| <version>0.13.3-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| <name>Data Backup Tool Base on Session</name> |
| <modules> |
| <module>backup-core</module> |
| <module>backup-command</module> |
| </modules> |
| <properties> |
| <iotdb.version>0.13.3</iotdb.version> |
| <org.slf4j.version>1.7.32</org.slf4j.version> |
| <jline.version>3.21.0</jline.version> |
| <junit.version>4.13.2</junit.version> |
| <maven.assembly.version>3.1.0</maven.assembly.version> |
| <common.cli.version>1.3.1</common.cli.version> |
| <common.lang3.version>3.8.1</common.lang3.version> |
| <spotless.version>2.4.2</spotless.version> |
| </properties> |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.iotdb</groupId> |
| <artifactId>iotdb-session</artifactId> |
| <version>${iotdb.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.iotdb</groupId> |
| <artifactId>iotdb-antlr</artifactId> |
| <version>${iotdb.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${org.slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jline</groupId> |
| <artifactId>jline</artifactId> |
| <version>${jline.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-cli</groupId> |
| <artifactId>commons-cli</artifactId> |
| <version>${common.cli.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>${common.lang3.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>net.java.dev.jna</groupId> |
| <artifactId>jna</artifactId> |
| <version>5.5.0</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>testcontainers</artifactId> |
| <version>1.15.2</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.diffplug.spotless</groupId> |
| <artifactId>spotless-maven-plugin</artifactId> |
| <version>${spotless.version}</version> |
| <configuration> |
| <java> |
| <googleJavaFormat> |
| <version>1.7</version> |
| <style>GOOGLE</style> |
| </googleJavaFormat> |
| <importOrder> |
| <order>org.apache.iotdb,,javax,java,\#</order> |
| </importOrder> |
| <removeUnusedImports/> |
| </java> |
| <lineEndings>UNIX</lineEndings> |
| </configuration> |
| <executions> |
| <execution> |
| <id>spotless-check</id> |
| <phase>validate</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <!-- Separates the unit tests from the integration tests. --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>unit-tests</id> |
| <phase>test</phase> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <configuration> |
| <includes> |
| <!-- Include unit tests within integration-test phase. --> |
| <include>src/test/**/*Test.java</include> |
| </includes> |
| <excludes> |
| <!-- Exclude integration tests within (unit) test phase. --> |
| <exclude>src/test/**/*IT.java</exclude> |
| </excludes> |
| </configuration> |
| </execution> |
| <execution> |
| <id>integration-tests</id> |
| <phase>integration-test</phase> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <configuration> |
| <includes> |
| <!-- Include integration tests within integration-test phase. --> |
| <include>src/test/**/*IT.java</include> |
| </includes> |
| <excludes> |
| <!-- Exclude unit tests within (unit) test phase. --> |
| <exclude>src/test/**/*UT.java</exclude> |
| </excludes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Also package the sources as jar --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>3.2.0</version> |
| <executions> |
| <execution> |
| <id>create-source-package</id> |
| <phase>package</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <consoleOutput>true</consoleOutput> |
| <excludes> |
| <exclude>**/*.csv</exclude> |
| <exclude>**/*.STRUCTURE</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| <profiles> |
| <!-- use `mvn package -P site -pl site` to compile the site module only --> |
| <profile> |
| <id>core</id> |
| <modules> |
| <module>backup-core</module> |
| </modules> |
| </profile> |
| <profile> |
| <id>command</id> |
| <modules> |
| <module>backup-command</module> |
| </modules> |
| </profile> |
| <profile> |
| <id>enforce</id> |
| <properties> |
| <enforcer.skip>false</enforcer.skip> |
| </properties> |
| </profile> |
| </profiles> |
| </project> |