blob: c206e6b15007926be12730394de2f16cf0a8eeb3 [file] [log] [blame]
<?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.hugegraph</groupId>
<artifactId>hugegraph-toolchain</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<url>https://github.com/apache/incubator-hugegraph-toolchain</url>
<description>
hugegraph-toolchain is the integration project of a series of utilities for HugeGraph, it
includes 4 main modules (loader/hubble/tools/client)
</description>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>23</version>
</parent>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<id>Apache Hugegraph(Incubating)</id>
<email>dev-subscribe@hugegraph.apache.org</email>
<url>https://hugegraph.apache.org/</url>
</developer>
</developers>
<mailingLists>
<mailingList>
<name>Developer List</name>
<subscribe>dev-subscribe@hugegraph.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@hugegraph.apache.org</unsubscribe>
<post>dev@hugegraph.incubator.apache.org</post>
</mailingList>
<mailingList>
<name>Commits List</name>
<subscribe>commits-subscribe@hugegraph.apache.org</subscribe>
<unsubscribe>commits-unsubscribe@hugegraph.apache.org</unsubscribe>
<post>commits@hugegraph.apache.org</post>
</mailingList>
<mailingList>
<name>Issues List</name>
<subscribe>issues-subscribe@hugegraph.apache.org</subscribe>
<unsubscribe>issues-unsubscribe@hugegraph.apache.org</unsubscribe>
<post>issues@hugegraph.apache.org</post>
</mailingList>
</mailingLists>
<scm>
<url>https://github.com/apache/hugegraph-toolchain</url>
<connection>scm:git:https://github.com/apache/hugegraph-toolchain.git</connection>
<developerConnection>scm:git:https://github.com/apache/hugegraph-toolchain.git</developerConnection>
</scm>
<issueManagement>
<system>Github Issues</system>
<url>https://github.com/apache/hugegraph-toolchain/issues</url>
</issueManagement>
<modules>
<module>hugegraph-client</module>
<module>hugegraph-loader</module>
<module>hugegraph-tools</module>
<module>hugegraph-hubble</module>
<module>hugegraph-dist</module>
</modules>
<properties>
<revision>1.0.0</revision>
<release.name>${project.artifactId}</release.name>
<final.name>apache-${release.name}-incubating-${project.version}</final.name>
<assembly.dir>${project.basedir}/assembly</assembly.dir>
<assembly.descriptor.dir>${assembly.dir}/descriptor</assembly.descriptor.dir>
<assembly.static.dir>${assembly.dir}/static</assembly.static.dir>
<shell-executable>bash</shell-executable>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<compiler.source>1.8</compiler.source>
<compiler.target>1.8</compiler.target>
<flink.version>1.13.5</flink.version>
<flinkcdc.version>2.2.1</flinkcdc.version>
<spark.version>3.2.2</spark.version>
<spark.scope>provided</spark.scope>
<flink.scope>provided</flink.scope>
<scala.version>2.12</scala.version>
<exec-maven-plugin.version>3.0.0</exec-maven-plugin.version>
<docker.build.skip>true</docker.build.skip>
<docker.push.skip>true</docker.push.skip>
<docker.hub>hugegraph</docker.hub>
<docker.repo>${project.name}</docker.repo>
<docker.tag>${project.version}</docker.tag>
<hbase.version>2.2.3</hbase.version>
</properties>
<dependencies>
<!--TODO: enhance it later to avoid conflicts now -->
<!-- <dependency>-->
<!-- <groupId>commons-io</groupId>-->
<!-- <artifactId>commons-io</artifactId>-->
<!-- <version>2.7</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.commons</groupId>-->
<!-- <artifactId>commons-lang3</artifactId>-->
<!-- <version>3.9</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>com.google.guava</groupId>-->
<!-- <artifactId>guava</artifactId>-->
<!-- <version>29.0-jre</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.commons</groupId>-->
<!-- <artifactId>commons-compress</artifactId>-->
<!-- <version>1.21</version>-->
<!-- </dependency>-->
</dependencies>
<!-- <profiles>-->
<!-- <profile>-->
<!-- <id>release</id>-->
<!-- <build>-->
<!-- <plugins>-->
<!-- <plugin>-->
<!-- <groupId>org.apache.maven.plugins</groupId>-->
<!-- <artifactId>maven-source-plugin</artifactId>-->
<!-- <version>2.2.1</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <id>attach-sources</id>-->
<!-- <goals>-->
<!-- <goal>jar-no-fork</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- </plugin>-->
<!-- <plugin>-->
<!-- <groupId>org.apache.maven.plugins</groupId>-->
<!-- <artifactId>maven-javadoc-plugin</artifactId>-->
<!-- <version>2.9.1</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <id>attach-javadocs</id>-->
<!-- <goals>-->
<!-- <goal>jar</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- <configuration>-->
<!-- <additionalJOptions>-->
<!-- <additionalJOption>-Xdoclint:none</additionalJOption>-->
<!-- </additionalJOptions>-->
<!-- </configuration>-->
<!-- </plugin>-->
<!-- <plugin>-->
<!-- <groupId>org.apache.maven.plugins</groupId>-->
<!-- <artifactId>maven-gpg-plugin</artifactId>-->
<!-- <version>1.5</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <id>sign-artifacts</id>-->
<!-- <phase>verify</phase>-->
<!-- <goals>-->
<!-- <goal>sign</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- <configuration>-->
<!-- &lt;!&ndash; Prevent `gpg` from using pinentry programs &ndash;&gt;-->
<!-- <gpgArguments>-->
<!-- <arg>&#45;&#45;pinentry-mode</arg>-->
<!-- <arg>loopback</arg>-->
<!-- </gpgArguments>-->
<!-- </configuration>-->
<!-- </plugin>-->
<!-- </plugins>-->
<!-- </build>-->
<!-- </profile>-->
<!-- </profiles>-->
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>1.19</version>
<executions>
<execution>
<id>default-cli</id>
<configuration>
<!-- Accept the pom module -->
<acceptPomPackaging>true</acceptPomPackaging>
<!-- Using the template which is grouped by License file -->
<fileTemplate>/org/codehaus/mojo/license/third-party-file-groupByMultiLicense.ftl</fileTemplate>
<licenseMerges>
<licenseMerge>The Apache Software License, Version 2.0|The Apache License, Version 2.0</licenseMerge>
<licenseMerge>The Apache Software License, Version 2.0|Apache License, Version 2.0</licenseMerge>
<licenseMerge>The Apache Software License, Version 2.0|Apache Public License 2.0</licenseMerge>
<licenseMerge>The Apache Software License, Version 2.0|Apache 2</licenseMerge>
<licenseMerge>The Apache Software License, Version 2.0|Apache 2.0</licenseMerge>
<licenseMerge>The Apache Software License, Version 2.0|Apache-2.0</licenseMerge>
<licenseMerge>The Apache Software License, Version 2.0|Apache License 2.0</licenseMerge>
<licenseMerge>The Apache Software License, Version 2.0|Apache License, version 2.0</licenseMerge>
<licenseMerge>3-Clause BSD License|BSD 3-clause</licenseMerge>
<licenseMerge>3-Clause BSD License|BSD 3-Clause</licenseMerge>
<licenseMerge>Eclipse Public License v1.0|Eclipse Public License 1.0</licenseMerge>
<licenseMerge>Eclipse Public License v1.0|Eclipse Public License - v 1.0</licenseMerge>
<licenseMerge>The MIT License|MIT License</licenseMerge>
</licenseMerges>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${compiler.source}</source>
<target>${compiler.target}</target>
<compilerArguments>
<Xmaxerrs>500</Xmaxerrs>
</compilerArguments>
<compilerArgs>
<arg>-Xlint:unchecked</arg>
</compilerArgs>
</configuration>
</plugin>
<!-- <plugin>-->
<!-- <groupId>org.apache.maven.plugins</groupId>-->
<!-- <artifactId>maven-assembly-plugin</artifactId>-->
<!-- <version>2.4</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <id>assembly-hugegraph-toolchain</id>-->
<!-- <phase>package</phase>-->
<!-- <goals>-->
<!-- <goal>single</goal>-->
<!-- </goals>-->
<!-- <configuration>-->
<!-- <attach>false</attach>-->
<!-- <appendAssemblyId>false</appendAssemblyId>-->
<!-- <outputDirectory>${project.basedir}</outputDirectory>-->
<!-- <descriptor>${assembly.descriptor.dir}/assembly.xml</descriptor>-->
<!-- <finalName>${final.name}</finalName>-->
<!-- </configuration>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- </plugin>-->
<!-- <plugin>-->
<!-- <artifactId>maven-antrun-plugin</artifactId>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <phase>package</phase>-->
<!-- <goals>-->
<!-- <goal>run</goal>-->
<!-- </goals>-->
<!-- <configuration>-->
<!-- <tasks>-->
<!-- <echo file="${project.basedir}/dist.sh">-->
<!-- tar -zcvf \-->
<!-- ${project.basedir}/${final.name}.tar.gz ${final.name} || exit 1-->
<!-- rm -f ${project.basedir}/dist.sh-->
<!-- echo -n "hugegraph-loader tar.gz available at: "-->
<!-- echo "${project.basedir}/${final.name}.tar.gz"-->
<!-- </echo>-->
<!-- <exec executable="${shell-executable}"-->
<!-- dir="${project.basedir}" failonerror="true">-->
<!-- <arg line="./dist.sh"/>-->
<!-- </exec>-->
<!-- </tasks>-->
<!-- </configuration>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- </plugin>-->
<!-- <plugin>-->
<!-- <artifactId>maven-clean-plugin</artifactId>-->
<!-- <version>3.0.0</version>-->
<!-- <configuration>-->
<!-- <filesets>-->
<!-- <fileset>-->
<!-- <directory>${project.basedir}</directory>-->
<!-- <includes>-->
<!-- <include>*.tar.gz</include>-->
<!-- <include>${final.name}/**</include>-->
<!-- </includes>-->
<!-- <followSymlinks>false</followSymlinks>-->
<!-- </fileset>-->
<!-- <fileset>-->
<!-- <directory>${final.name}</directory>-->
<!-- </fileset>-->
<!-- </filesets>-->
<!-- </configuration>-->
<!-- </plugin>-->
<!-- <plugin>-->
<!-- <groupId>org.jacoco</groupId>-->
<!-- <artifactId>jacoco-maven-plugin</artifactId>-->
<!-- <version>0.8.4</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <id>pre-unit-test</id>-->
<!-- <goals>-->
<!-- <goal>prepare-agent</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- <execution>-->
<!-- <id>post-unit-test</id>-->
<!-- <phase>test</phase>-->
<!-- <goals>-->
<!-- <goal>report</goal>-->
<!-- </goals>-->
<!-- <configuration>-->
<!-- <outputDirectory>-->
<!-- ${project.build.directory}-->
<!-- </outputDirectory>-->
<!-- </configuration>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- </plugin>-->
<!-- <plugin>-->
<!-- <groupId>org.codehaus.mojo</groupId>-->
<!-- <artifactId>properties-maven-plugin</artifactId>-->
<!-- <version>1.0.0</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <phase>generate-resources</phase>-->
<!-- <goals>-->
<!-- <goal>write-project-properties</goal>-->
<!-- </goals>-->
<!-- <configuration>-->
<!-- <outputFile>-->
<!-- ${project.build.testOutputDirectory}/profile.properties-->
<!-- </outputFile>-->
<!-- </configuration>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- </plugin>-->
<!-- <plugin>-->
<!-- <groupId>org.apache.maven.plugins</groupId>-->
<!-- <artifactId>maven-resources-plugin</artifactId>-->
<!-- <version>2.7</version>-->
<!-- <configuration>-->
<!-- <encoding>UTF-8</encoding>-->
<!-- <nonFilteredFileExtensions>-->
<!-- <nonFilteredFileExtension>parquet</nonFilteredFileExtension>-->
<!-- </nonFilteredFileExtensions>-->
<!-- </configuration>-->
<!-- </plugin>-->
<!-- <plugin>-->
<!-- <groupId>org.apache.maven.plugins</groupId>-->
<!-- <artifactId>maven-surefire-plugin</artifactId>-->
<!-- <version>2.20</version>-->
<!-- <configuration>-->
<!-- <includes>-->
<!-- <include>${test-classes}</include>-->
<!-- </includes>-->
<!-- </configuration>-->
<!-- </plugin>-->
<!-- TODO: after all modules fix checkstyle, enable it in root again -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.2</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>8.45</version>
</dependency>
</dependencies>
<configuration>
<configLocation>checkstyle.xml</configLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<linkXRef>false</linkXRef>
<includeTestSourceDirectory>false</includeTestSourceDirectory>
</configuration>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Apache RAT for license check -->
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.15</version>
<configuration>
<excludes>
<exclude>**/*.versionsBackup</exclude>
<exclude>**/*.log</exclude>
<exclude>**/*.txt</exclude>
<exclude>**/*.csv</exclude>
<exclude>**/*.json</exclude>
<exclude>**/*.conf</exclude>
<exclude>**/*.properties</exclude>
<exclude>**/*.gitattributes</exclude>
<exclude>dist/**/*</exclude>
<exclude>docs/**/*</exclude>
<exclude>scripts/dev/reviewers</exclude>
<exclude>**/*.md</exclude>
<exclude>**/dependency-reduced-pom.xml</exclude>
<exclude>**/.flattened-pom.xml</exclude>
<exclude>**/logs/*.log</exclude>
<exclude>**/target/*</exclude>
<exclude>style/*</exclude>
<exclude>ChangeLog</exclude>
<exclude>CONFIG.ini</exclude>
<exclude>GROUPS</exclude>
<exclude>OWNERS</exclude>
<!-- GitHub -->
<exclude>.github/**/*</exclude>
<!-- Intellij -->
<exclude>**/*.iml</exclude>
<exclude>**/*.iws</exclude>
<exclude>**/*.ipr</exclude>
<exclude>**/META-INF/MANIFEST.MF</exclude>
<!-- Maven -->
<exclude>.repository/**</exclude>
<exclude>**/.flattened-pom.xml</exclude>
</excludes>
<consoleOutput>true</consoleOutput>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>1.3.0</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>
<!-- <testResources>-->
<!-- <testResource>-->
<!-- <directory>src/test/resources/</directory>-->
<!-- <filtering>true</filtering>-->
<!-- </testResource>-->
<!-- </testResources>-->
</build>
<repositories>
<repository>
<id>staged-releases</id>
<name>staged-releases</name>
<url>https://repository.apache.org/content/groups/staging/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>