| <?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</artifactId> |
| <version>${revision}</version> |
| <packaging>pom</packaging> |
| |
| <name>hugegraph</name> |
| <url>https://github.com/apache/hugegraph</url> |
| <description> |
| hugegraph is a fast-speed, highly-scalable, transactional graph database developed by baidu |
| </description> |
| |
| <parent> |
| <groupId>org.apache</groupId> |
| <artifactId>apache</artifactId> |
| <version>23</version> |
| </parent> |
| |
| <inceptionYear>2017</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(incubating)</id> |
| <email>dev-subscribe@hugegraph.apache.org</email> |
| <url>https://hugegraph.apache.org/</url> |
| </developer> |
| </developers> |
| |
| <mailingLists> |
| <mailingList> |
| <name>Development Mailing 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> |
| |
| <issueManagement> |
| <system>Github Issues</system> |
| <url>https://github.com/apache/hugegraph/issues</url> |
| </issueManagement> |
| |
| <scm> |
| <url>https://github.com/apache/hugegraph</url> |
| <connection>scm:git:https://github.com/apache/hugegraph.git</connection> |
| <developerConnection>scm:git:https://github.com/apache/hugegraph.git</developerConnection> |
| </scm> |
| |
| <prerequisites> |
| <maven>3.5.0</maven> |
| </prerequisites> |
| |
| <properties> |
| <revision>1.0.0</revision> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <top.level.dir>${project.basedir}/..</top.level.dir> |
| <release.name>hugegraph</release.name> |
| <final.name>apache-${release.name}-incubating-${project.version}</final.name> |
| <final.destfile>${top.level.dir}/${final.name}.tar.gz</final.destfile> |
| <compiler.source>1.8</compiler.source> |
| <compiler.target>1.8</compiler.target> |
| <slf4j.version>1.7.5</slf4j.version> |
| <log4j.version>1.2.17</log4j.version> |
| <log4j2.version>2.17.1</log4j2.version> |
| <junit.version>4.12</junit.version> |
| <tinkerpop.version>3.5.1</tinkerpop.version> |
| <commons.io.version>2.7</commons.io.version> |
| <guava.version>25.1-jre</guava.version> |
| <httpclient.version>4.5.13</httpclient.version> |
| <jersey.version>3.0.3</jersey.version> |
| <metrics.version>4.2.4</metrics.version> |
| <javassist.version>3.21.0-GA</javassist.version> |
| <shell-executable>bash</shell-executable> |
| <checkstyle.plugin.version>3.1.2</checkstyle.plugin.version> |
| <checkstyle.version>8.45</checkstyle.version> |
| <hugegraph-commons.version>1.0.0</hugegraph-commons.version> |
| <grpc.version>1.47.0</grpc.version> |
| <protobuf.version>3.21.7</protobuf.version> |
| <jmh.version>1.36</jmh.version> |
| </properties> |
| |
| <modules> |
| <module>hugegraph-core</module> |
| <module>hugegraph-api</module> |
| <module>hugegraph-example</module> |
| <module>hugegraph-dist</module> |
| <module>hugegraph-test</module> |
| <module>hugegraph-cassandra</module> |
| <module>hugegraph-scylladb</module> |
| <module>hugegraph-rocksdb</module> |
| <module>hugegraph-mysql</module> |
| <module>hugegraph-palo</module> |
| <module>hugegraph-hbase</module> |
| <module>hugegraph-postgresql</module> |
| </modules> |
| |
| <dependencyManagement> |
| <dependencies> |
| <!-- TODO: could we merge them to hugegraph-commons only? --> |
| <dependency> |
| <groupId>org.apache.hugegraph</groupId> |
| <artifactId>hugegraph-rpc</artifactId> |
| <version>${hugegraph-commons.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hugegraph</groupId> |
| <artifactId>hugegraph-common</artifactId> |
| <version>${hugegraph-commons.version}</version> |
| </dependency> |
| |
| <!-- logging --> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-api</artifactId> |
| <version>${log4j2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-core</artifactId> |
| <version>${log4j2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j-impl</artifactId> |
| <version>${log4j2.version}</version> |
| </dependency> |
| |
| <!-- junit --> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit.version}</version> |
| </dependency> |
| |
| <!-- tinkerpop --> |
| <dependency> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>gremlin-core</artifactId> |
| <version>${tinkerpop.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>gremlin-server</artifactId> |
| <version>${tinkerpop.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.github.jeremyh</groupId> |
| <artifactId>jBCrypt</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>gremlin-console</artifactId> |
| <version>${tinkerpop.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.github.jeremyh</groupId> |
| <artifactId>jBCrypt</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>gremlin-groovy</artifactId> |
| <version>${tinkerpop.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.github.jeremyh</groupId> |
| <artifactId>jBCrypt</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>tinkergraph-gremlin</artifactId> |
| <version>${tinkerpop.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>gremlin-test</artifactId> |
| <version>${tinkerpop.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>gremlin-groovy-test</artifactId> |
| <version>3.2.11</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>gremlin-driver</artifactId> |
| <version>${tinkerpop.version}</version> |
| </dependency> |
| |
| <!-- utility --> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>${commons.io.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| <version>${httpclient.version}</version> |
| </dependency> |
| |
| <!-- jersey --> |
| <dependency> |
| <groupId>org.glassfish.jersey.core</groupId> |
| <artifactId>jersey-server</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.containers</groupId> |
| <artifactId>jersey-container-grizzly2-http</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.containers</groupId> |
| <artifactId>jersey-container-grizzly2-servlet</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.media</groupId> |
| <artifactId>jersey-media-json-jackson</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.test-framework.providers</groupId> |
| <artifactId>jersey-test-framework-provider-grizzly2</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| |
| <!-- metrics --> |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-json</artifactId> |
| <version>${metrics.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-jersey3</artifactId> |
| <version>${metrics.version}</version> |
| </dependency> |
| |
| <!-- javassist --> |
| <dependency> |
| <groupId>org.javassist</groupId> |
| <artifactId>javassist</artifactId> |
| <version>${javassist.version}</version> |
| </dependency> |
| |
| <!-- protobuf --> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-netty</artifactId> |
| <version>${grpc.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-protobuf</artifactId> |
| <version>${grpc.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-stub</artifactId> |
| <version>${grpc.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <version>${protobuf.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-text</artifactId> |
| <version>1.10.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.openjdk.jmh</groupId> |
| <artifactId>jmh-core</artifactId> |
| <version>${jmh.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.openjdk.jmh</groupId> |
| <artifactId>jmh-generator-annprocess</artifactId> |
| <version>${jmh.version}</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <!-- TODO: move necessary plugin out of pluginManagement? --> |
| <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-clean-plugin</artifactId> |
| <configuration> |
| <filesets> |
| <fileset> |
| <directory>${project.basedir}/</directory> |
| <includes> |
| <include>*.tar</include> |
| <include>*.tar.gz</include> |
| <include>.flattened-pom.xml</include> |
| <include>${final.name}/**</include> |
| </includes> |
| <followSymlinks>false</followSymlinks> |
| </fileset> |
| <fileset> |
| <directory>${final.name}</directory> |
| </fileset> |
| </filesets> |
| </configuration> |
| </plugin> |
| <!-- Apache RAT for license check --> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>**/*.versionsBackup</exclude> |
| <exclude>**/*.proto</exclude> |
| <exclude>**/*.log</exclude> |
| <exclude>**/*.txt</exclude> |
| <exclude>**/*.json</exclude> |
| <exclude>**/*.conf</exclude> |
| <exclude>**/*.map</exclude> |
| <exclude>**/*.properties</exclude> |
| <exclude>dist/**/*</exclude> |
| <exclude>**/assembly/static/bin/hugegraph.service</exclude> |
| <exclude>**/swagger-ui/**/*</exclude> |
| <exclude>scripts/dev/reviewers</exclude> |
| <exclude>scripts/dev/reviewers</exclude> |
| <exclude>**/*.md</exclude> |
| <exclude>**/dependency-reduced-pom.xml</exclude> |
| <exclude>**/logs/*.log</exclude> |
| <exclude>**/META-INF/**/*</exclude> |
| <exclude>**/target/*</exclude> |
| <exclude>style/*</exclude> |
| <exclude>ChangeLog</exclude> |
| <exclude>CONFIG.ini</exclude> |
| <exclude>GROUPS</exclude> |
| <exclude>OWNERS</exclude> |
| <!-- Git & GitHub --> |
| <exclude>.github/**/*</exclude> |
| <exclude>.gitignore</exclude> |
| <exclude>.gitattributes</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> |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>${checkstyle.plugin.version}</version> |
| <dependencies> |
| <dependency> |
| <groupId>com.puppycrawl.tools</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>${checkstyle.version}</version> |
| </dependency> |
| </dependencies> |
| <configuration> |
| <configLocation>style/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.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>core-test</id> |
| <activation> |
| <activeByDefault>true</activeByDefault> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>core-test</id> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <phase>test</phase> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>unit-test</id> |
| <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>api-test</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>api-test</id> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <phase>test</phase> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>tinkerpop-structure-test</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>tinkerpop-structure-test</id> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <phase>test</phase> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>tinkerpop-process-test</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>tinkerpop-process-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> |
| <configuration> |
| <doclint>none</doclint> |
| <failOnError>false</failOnError> |
| </configuration> |
| </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> |
| </profiles> |
| </project> |