551 lines
23 KiB
XML
551 lines
23 KiB
XML
<?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>23</version>
|
|
</parent>
|
|
|
|
<groupId>org.apache.hugegraph</groupId>
|
|
<artifactId>hugegraph-computer</artifactId>
|
|
<version>${revision}</version>
|
|
<packaging>pom</packaging>
|
|
<name>hugegraph-computer</name>
|
|
<url>https://github.com/apache/hugegraph-computer</url>
|
|
<description>
|
|
hugegraph-computer is a fast-speed, highly scalable, fault-tolerance graph processing
|
|
system developed by apache.
|
|
</description>
|
|
|
|
<inceptionYear>2020</inceptionYear>
|
|
<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</id>
|
|
<email>dev-subscribe@hugegraph.apache.org</email>
|
|
<url>https://hugegraph.apache.org/</url>
|
|
</developer>
|
|
</developers>
|
|
|
|
<mailingLists>
|
|
<mailingList>
|
|
<name>Development List</name>
|
|
<subscribe>dev-subscribe@hugegraph.apache.org</subscribe>
|
|
<unsubscribe>dev-unsubscribe@hugegraph.apache.org</unsubscribe>
|
|
<post>dev@hugegraph.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>
|
|
|
|
<issueManagement>
|
|
<system>Github Issues</system>
|
|
<url>https://github.com/apache/hugegraph-computer/issues</url>
|
|
</issueManagement>
|
|
|
|
<scm>
|
|
<url>https://github.com/apache/hugegraph-computer</url>
|
|
<connection>scm:git:https://github.com/apache/hugegraph-computer.git</connection>
|
|
<developerConnection>
|
|
scm:git:https://github.com/apache/hugegraph-computer.git
|
|
</developerConnection>
|
|
</scm>
|
|
|
|
<prerequisites>
|
|
<maven>3.5</maven>
|
|
</prerequisites>
|
|
|
|
<properties>
|
|
<revision>1.7.0</revision>
|
|
<!-- TODO: fix deps conflicts & update to 1.5.0 -->
|
|
<hugegraph-commons-version>1.3.0</hugegraph-commons-version>
|
|
<!-- FIXME: DegreeCentralityTest:L50 failed with loader 1.5.0 -->
|
|
<hugegraph-toolchain-version>1.3.0</hugegraph-toolchain-version>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<top.level.dir>${project.basedir}/..</top.level.dir>
|
|
<release.name>hugegraph-computer</release.name>
|
|
<final.name>apache-${release.name}-${project.version}</final.name>
|
|
<compiler.source>11</compiler.source>
|
|
<compiler.target>11</compiler.target>
|
|
<shell-executable>bash</shell-executable>
|
|
<etcd.version>0.5.4</etcd.version>
|
|
<hadoop-version>3.1.2</hadoop-version>
|
|
<netty-version>4.1.42.Final</netty-version>
|
|
<commons-lang3-version>3.12.0</commons-lang3-version>
|
|
<minio-version>8.5.6</minio-version>
|
|
</properties>
|
|
|
|
<modules>
|
|
<module>computer-api</module>
|
|
<module>computer-core</module>
|
|
<module>computer-algorithm</module>
|
|
<module>computer-driver</module>
|
|
<module>computer-yarn</module>
|
|
<module>computer-k8s</module>
|
|
<module>computer-k8s-operator</module>
|
|
<module>computer-dist</module>
|
|
<module>computer-test</module>
|
|
</modules>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.hugegraph</groupId>
|
|
<artifactId>hugegraph-common</artifactId>
|
|
<version>${hugegraph-commons-version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hugegraph</groupId>
|
|
<artifactId>hugegraph-rpc</artifactId>
|
|
<version>${hugegraph-commons-version}</version>
|
|
<exclusions>
|
|
<!-- conflict with etcd -->
|
|
<exclusion>
|
|
<groupId>io.grpc</groupId>
|
|
<artifactId>grpc-core</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>io.grpc</groupId>
|
|
<artifactId>grpc-netty-shaded</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.apache.hugegraph</groupId>
|
|
<artifactId>hugegraph-common</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hugegraph</groupId>
|
|
<artifactId>hugegraph-client</artifactId>
|
|
<version>${hugegraph-toolchain-version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hugegraph</groupId>
|
|
<artifactId>computer-algorithm</artifactId>
|
|
<version>${revision}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hugegraph</groupId>
|
|
<artifactId>computer-core</artifactId>
|
|
<version>${revision}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hugegraph</groupId>
|
|
<artifactId>computer-k8s-operator</artifactId>
|
|
<version>${revision}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hugegraph</groupId>
|
|
<artifactId>computer-yarn</artifactId>
|
|
<version>${revision}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-all</artifactId>
|
|
<version>${netty-version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.etcd</groupId>
|
|
<artifactId>jetcd-core</artifactId>
|
|
<version>${etcd.version}</version>
|
|
<exclusions>
|
|
<!-- conflict with netty -->
|
|
<exclusion>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-codec-http2</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-handler-proxy</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-common</artifactId>
|
|
<version>${hadoop-version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.google.protobuf</groupId>
|
|
<artifactId>protobuf-java</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>*</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>javax.ws.rs</groupId>
|
|
<artifactId>jsr311-api</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>com.google.code.findbugs</groupId>
|
|
<artifactId>jsr305</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>commons-collections</groupId>
|
|
<artifactId>commons-collections</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<artifactId>slf4j-log4j12</artifactId>
|
|
<groupId>org.slf4j</groupId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-hdfs-client</artifactId>
|
|
<version>${hadoop-version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>*</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<artifactId>okhttp</artifactId>
|
|
<groupId>com.squareup.okhttp</groupId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hugegraph</groupId>
|
|
<artifactId>hugegraph-loader</artifactId>
|
|
<version>${hugegraph-toolchain-version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.apache.hive</groupId>
|
|
<artifactId>hive-exec</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
<artifactId>httpclient</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.apache.hugegraph</groupId>
|
|
<artifactId>hugegraph-client</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>com.microsoft.sqlserver</groupId>
|
|
<artifactId>mssql-jdbc</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>mysql</groupId>
|
|
<artifactId>mysql-connector-java</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>com.oracle</groupId>
|
|
<artifactId>ojdbc8</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.postgresql</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-hdfs-client</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-common</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<artifactId>spark-core_2.12</artifactId>
|
|
<groupId>org.apache.spark</groupId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<build>
|
|
<plugins>
|
|
<!-- Apache RAT for license check -->
|
|
<plugin>
|
|
<groupId>org.apache.rat</groupId>
|
|
<artifactId>apache-rat-plugin</artifactId>
|
|
<configuration>
|
|
<excludes>
|
|
<exclude>**/*.log</exclude>
|
|
<exclude>**/*.txt</exclude>
|
|
<exclude>**/*.json</exclude>
|
|
<exclude>**/*.conf</exclude>
|
|
<exclude>**/go.mod</exclude>
|
|
<exclude>**/go.sum</exclude>
|
|
<exclude>**/*.md</exclude>
|
|
<exclude>**/target/*</exclude>
|
|
<exclude>.github/**/*</exclude>
|
|
<exclude>**/.flattened-pom.xml</exclude>
|
|
<exclude>**/zz_generated.deepcopy.go</exclude>
|
|
</excludes>
|
|
<consoleOutput>true</consoleOutput>
|
|
</configuration>
|
|
</plugin>
|
|
<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>
|
|
<!-- Keep a fixed version to avoid computer-k8s-operator build error -->
|
|
<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-checkstyle-plugin</artifactId>
|
|
<version>3.1.0</version>
|
|
<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>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-clean-plugin</artifactId>
|
|
<configuration>
|
|
<filesets>
|
|
<fileset>
|
|
<directory>${final.name}</directory>
|
|
</fileset>
|
|
</filesets>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>flatten-maven-plugin</artifactId>
|
|
<version>1.2.7</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>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>unit-test</id>
|
|
<activation>
|
|
<activeByDefault>true</activeByDefault>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>unit-test</id>
|
|
<goals>
|
|
<goal>test</goal>
|
|
</goals>
|
|
<phase>test</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>integrate-test</id>
|
|
<activation>
|
|
<activeByDefault>false</activeByDefault>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>integrate-test</id>
|
|
<goals>
|
|
<goal>test</goal>
|
|
</goals>
|
|
<phase>test</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>apache-release</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<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>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-javadocs</id>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<doclint>none</doclint>
|
|
<failOnError>false</failOnError>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-gpg-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>sign-artifacts</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>sign</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<!-- Prevent `gpg` from using pinentry programs -->
|
|
<gpgArguments>
|
|
<arg>--pinentry-mode</arg>
|
|
<arg>loopback</arg>
|
|
</gpgArguments>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<!-- use mvn -P stage to enable the remote apache-stage repo -->
|
|
<profile>
|
|
<id>stage</id>
|
|
<repositories>
|
|
<repository>
|
|
<id>staged-releases</id>
|
|
<url>https://repository.apache.org/content/groups/staging/</url>
|
|
</repository>
|
|
</repositories>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|