| <?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.geaflow</groupId> |
| <artifactId>geaflow-parent</artifactId> |
| <version>0.8.0-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| |
| <properties> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <maven.version>3.6.3</maven.version> |
| <mysql.version>8.0.30</mysql.version> |
| <maven-surefire.version>3.0.0-M7</maven-surefire.version> |
| |
| <!-- By default, JDK 8 is used --> |
| <jdk.version>1.8</jdk.version> |
| <maven.compiler.source>${jdk.version}</maven.compiler.source> |
| <maven.compiler.target>${jdk.version}</maven.compiler.target> |
| |
| <extraJavaTestArgs> |
| -XX:+IgnoreUnrecognizedVMOptions |
| --add-opens=java.base/java.lang=ALL-UNNAMED |
| --add-opens=java.base/java.lang.invoke=ALL-UNNAMED |
| --add-opens=java.base/java.lang.reflect=ALL-UNNAMED |
| --add-opens=java.base/java.io=ALL-UNNAMED |
| --add-opens=java.base/java.net=ALL-UNNAMED |
| --add-opens=java.base/java.nio=ALL-UNNAMED |
| --add-opens=java.base/java.util=ALL-UNNAMED |
| --add-opens=java.base/java.util.concurrent=ALL-UNNAMED |
| --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED |
| --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED |
| --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED |
| --add-opens=jdk.unsupported/sun.misc=ALL-UNNAMED |
| --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED |
| --add-opens=java.base/sun.nio.ch=ALL-UNNAMED |
| --add-exports=java.base/sun.nio.ch=ALL-UNNAMED |
| --add-opens=java.base/sun.nio.cs=ALL-UNNAMED |
| --add-opens=java.base/sun.security.action=ALL-UNNAMED |
| --add-opens=java.base/sun.util.calendar=ALL-UNNAMED |
| -Djdk.reflect.useDirectMethodHandle=false |
| -Dio.netty.tryReflectionSetAccessible=true |
| </extraJavaTestArgs> |
| </properties> |
| |
| <modules> |
| <module>geaflow</module> |
| <module>geaflow-console</module> |
| <module>geaflow-mcp</module> |
| <module>geaflow-ai</module> |
| </modules> |
| |
| <licenses> |
| <license> |
| <name>The Apache Software License, Version 2.0</name> |
| <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> |
| <distribution>repo</distribution> |
| </license> |
| </licenses> |
| |
| <developers> |
| <developer> |
| <id>Loognqiang</id> |
| <name>zhouqiang</name> |
| <roles> |
| <role>Developer</role> |
| </roles> |
| </developer> |
| </developers> |
| |
| <scm> |
| <connection>https://github.com/apache/geaflow.git</connection> |
| <developerConnection>https://github.com/apache/geaflow.git</developerConnection> |
| <url>https://github.com/apache/geaflow</url> |
| </scm> |
| |
| <name>${project.groupId}:${project.artifactId}</name> |
| <description>Geaflow is a distributed streaming computing engine based on graph model.</description> |
| <url>https://github.com/apache/geaflow</url> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.11.0</version> |
| <executions> |
| <!-- Replacing default-compile as it is treated specially by maven --> |
| <execution> |
| <id>default-compile</id> |
| <phase>none</phase> |
| </execution> |
| <!-- Replacing default-testCompile as it is treated specially by maven --> |
| <execution> |
| <id>default-testCompile</id> |
| <phase>none</phase> |
| </execution> |
| <execution> |
| <id>java-compile</id> |
| <phase>compile</phase> |
| <goals> |
| <goal>compile</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>java-test-compile</id> |
| <phase>test-compile</phase> |
| <goals> |
| <goal>testCompile</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <!-- The default configuration will be overridden by Profile --> |
| <source>${maven.compiler.source}</source> |
| <target>${maven.compiler.target}</target> |
| <encoding>UTF-8</encoding> |
| <fork>true</fork> |
| <meminitial>512m</meminitial> |
| <maxmem>1048m</maxmem> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>3.4.1</version> |
| <configuration> |
| <archive> |
| <addMavenDescriptor>false</addMavenDescriptor> |
| <manifest> |
| <addDefaultImplementationEntries>true</addDefaultImplementationEntries> |
| </manifest> |
| </archive> |
| <skipIfEmpty>false</skipIfEmpty> |
| <forceCreation>true</forceCreation> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>3.2.1</version> |
| <executions> |
| <execution> |
| <id>attach-sources</id> |
| <phase>package</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Add jacoco configuration --> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>0.8.8</version> |
| <executions> |
| <execution> |
| <id>default-prepare-agent</id> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| <configuration> |
| <propertyName>coverageAgent</propertyName> |
| <destFile>${jacoco.path}</destFile> |
| <!-- Allocate 400MB for each test process, reserve system overhead --> |
| <argLine>${coverageAgent} -Xmx400m -XX:MaxMetaspaceSize=128m -XX:+UseG1GC</argLine> |
| |
| <!-- Maximum 2 parallel processes --> |
| <forkCount>2</forkCount> |
| <reuseForks>false</reuseForks> |
| <parallel>classes</parallel> |
| <threadCount>2</threadCount> |
| <perCoreThreadCount>false</perCoreThreadCount> |
| </configuration> |
| </execution> |
| <execution> |
| <id>default-report</id> |
| <phase>test</phase> |
| <goals> |
| <goal>report</goal> |
| </goals> |
| <configuration> |
| <dataFile>${jacoco.path}</dataFile> |
| <outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${maven-surefire.version}</version> |
| <executions> |
| <execution> |
| <id>default-test</id> |
| <phase>test</phase> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <configuration> |
| <argLine>${coverageAgent} ${extraJavaTestArgs}</argLine> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- checkstyle --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>3.3.0</version> |
| <configuration> |
| <configLocation>tools/checkstyle.xml</configLocation> |
| <excludes>**/generated/**/*,**/proto/**/*</excludes> |
| <failOnViolation>true</failOnViolation> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| <logViolationsToConsole>true</logViolationsToConsole> |
| <suppressionsFileExpression>checkstyle.suppressions.file |
| </suppressionsFileExpression> |
| <suppressionsLocation>tools/checkstyle-suppressions.xml</suppressionsLocation> |
| <violationSeverity>warning</violationSeverity> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <artifactId>checkstyle</artifactId> |
| <groupId>com.puppycrawl.tools</groupId> |
| <version>8.45</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <id>validate</id> |
| <phase>validate</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>versions-maven-plugin</artifactId> |
| <version>2.8.1</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>2.9.1</version> |
| <configuration> |
| <show>private</show> |
| <nohelp>true</nohelp> |
| <charset>UTF-8</charset> |
| <encoding>UTF-8</encoding> |
| <docencoding>UTF-8</docencoding> |
| <additionalparam>-Xdoclint:none</additionalparam> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <version>0.16.1</version> |
| <executions> |
| <execution> |
| <id>header-check</id> |
| <phase>validate</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <consoleOutput>true</consoleOutput> |
| <excludeSubProjects>false</excludeSubProjects> |
| <numUnapprovedLicenses>0</numUnapprovedLicenses> |
| <licenses> |
| <license> |
| <family>AL2</family> |
| <notes></notes> |
| <text>Licensed to the Apache Software Foundation (ASF) under one</text> |
| </license> |
| </licenses> |
| <families> |
| <family> |
| <id>AL2</id> |
| <name>ApacheLicense 2.0</name> |
| </family> |
| </families> |
| <approvedLicenses> |
| <id>AL2</id> |
| </approvedLicenses> |
| <addDefaultLicenses>false</addDefaultLicenses> |
| <excludes> |
| <!-- Docs related --> |
| <exclude>docs/**/**</exclude> |
| <exclude>ci/**/**</exclude> |
| <exclude>.github/**/**</exclude> |
| <exclude>tools/**/*</exclude> |
| <exclude>geaflow-web/**/**</exclude> |
| <exclude>**/geaflow-web/**</exclude> |
| <exclude>**/target/**</exclude> |
| <exclude>**/docs/**</exclude> |
| <exclude>**/ci/**</exclude> |
| <exclude>**/web-dashboard/**</exclude> |
| <exclude>**/codegen/**</exclude> |
| <exclude>**/template/*.vm</exclude> |
| <exclude>**/resources/graph_ldbc_sf/**/**</exclude> |
| <exclude>**/resources/index/**</exclude> |
| <exclude>**/resources/data/**</exclude> |
| <exclude>**/resources/expect/**</exclude> |
| <exclude>**/resources/zip_test2.txt</exclude> |
| <exclude>**/resources/zip_test.txt</exclude> |
| <exclude>**/resources/demo/demo_job_data.txt</exclude> |
| <exclude>**/resources/input/**</exclude> |
| <exclude>**/resources/i18n/**</exclude> |
| <exclude>**/resources/public/**</exclude> |
| <exclude>**/dependency-reduced-pom.xml</exclude> |
| <exclude>**/*.log</exclude> |
| <exclude>**/*.md</exclude> |
| <exclude>**/**/data/geaflow.sql</exclude> |
| <exclude>**/**/Filter.template</exclude> |
| <exclude>**/**/version.txt</exclude> |
| <exclude>**/**/graph_data.fbs</exclude> |
| <exclude>**/**/*.toml</exclude> |
| <exclude>**/**/.helmignore</exclude> |
| <exclude>**/**/templates/NOTES.txt</exclude> |
| <exclude>.readthedocs.yaml</exclude> |
| <exclude>.aci-plugin-outputs.sh</exclude> |
| <exclude>.aci.yml</exclude> |
| <exclude>mkdocs.yml</exclude> |
| <exclude>data/**</exclude> |
| <exclude>sync_code.sh</exclude> |
| |
| <!-- Third-party works related --> |
| <exclude>**/MultiIterator.java</exclude> |
| <exclude>**/memory/cleaner/**</exclude> |
| <exclude>**/geaflow/memory/Chunk.java</exclude> |
| <exclude>**/geaflow/memory/DirectMemory.java</exclude> |
| <exclude>**/geaflow/memory/Page.java</exclude> |
| <exclude>**/geaflow/memory/PlatformDependent.java</exclude> |
| <exclude>**/analytics/service/client/jdbc/property/**</exclude> |
| <exclude>**/analytics/service/client/jdbc/AnalyticsDriver.java</exclude> |
| <exclude>**/analytics/service/client/HttpResponse.java</exclude> |
| <exclude>**/geaflow/analytics/service/query/IQueryStatus.java</exclude> |
| <exclude>**/geaflow/analytics/service/query/QueryIdGenerator.java</exclude> |
| <exclude>**/geaflow/analytics/service/query/QueryResults.java</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <!-- Profile 1: Activated when JDK 8 is detected --> |
| <profile> |
| <id>jdk8</id> |
| <activation> |
| <jdk>1.8</jdk> |
| </activation> |
| <properties> |
| <jdk.version>1.8</jdk.version> |
| </properties> |
| </profile> |
| |
| <!-- Profile 2: Activated when JDK 11+ is detected --> |
| <profile> |
| <id>jdk11</id> |
| <activation> |
| <jdk>[11,)</jdk> |
| </activation> |
| <properties> |
| <jdk.version>11</jdk.version> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <source>${maven.compiler.source}</source> |
| <target>${maven.compiler.target}</target> |
| <compilerArgs> |
| <arg>--add-exports</arg> |
| <arg>java.base/sun.nio.ch=ALL-UNNAMED</arg> |
| </compilerArgs> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>maven-release</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>3.2.1</version> |
| <executions> |
| <execution> |
| <id>attach-sources</id> |
| <phase>package</phase> |
| <goals> |
| <goal>jar-no-fork</goal> |
| <goal>test-jar-no-fork</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Javadoc --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>2.9.1</version> |
| <configuration> |
| <show>private</show> |
| <nohelp>true</nohelp> |
| <charset>UTF-8</charset> |
| <encoding>UTF-8</encoding> |
| <docencoding>UTF-8</docencoding> |
| <failOnError>false</failOnError> |
| <additionalparam>-Xdoclint:none</additionalparam> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!--Compiler --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.0</version> |
| <configuration> |
| <source>${maven.compiler.source}</source> |
| <target>${maven.compiler.target}</target> |
| <fork>true</fork> |
| <verbose>true</verbose> |
| <encoding>UTF-8</encoding> |
| </configuration> |
| </plugin> |
| <!--Release --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <version>2.5.1</version> |
| </plugin> |
| <!-- GPG --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <version>3.1.0</version> |
| <executions> |
| <execution> |
| <phase>install</phase> |
| <goals> |
| <goal>sign</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>apache-release</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>3.6.0</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.apache.resources</groupId> |
| <artifactId>apache-source-release-assembly-descriptor</artifactId> |
| <version>1.0.6</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>source-release-assembly</id> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| <configuration> |
| <descriptorRefs> |
| <descriptorRef>source-release</descriptorRef> |
| </descriptorRefs> |
| <finalName>apache-geaflow-${project.version}-src</finalName> |
| <appendAssemblyId>false</appendAssemblyId> |
| <!-- Output file format: tar.gz --> |
| <formats> |
| <format>tar.gz</format> |
| </formats> |
| <tarLongFileMode>gnu</tarLongFileMode> |
| <archive> |
| <addMavenDescriptor>false</addMavenDescriptor> |
| </archive> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <version>3.1.0</version> |
| <executions> |
| <execution> |
| <id>sign-artifacts</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>sign</goal> |
| </goals> |
| <configuration> |
| <gpgArguments> |
| <argument>--pinentry-mode</argument> |
| <argument>loopback</argument> |
| </gpgArguments> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| <repositories> |
| <repository> |
| <id>central</id> |
| <name>Central Repository</name> |
| <url>https://repo.maven.apache.org/maven2</url> |
| <layout>default</layout> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| </repositories> |
| |
| <distributionManagement> |
| <repository> |
| <id>apache.releases.https</id> |
| <name>Apache Release Distribution Repository</name> |
| <url>https://repository.apache.org/service/local/staging/deploy/maven2/</url> |
| </repository> |
| <snapshotRepository> |
| <id>apache.snapshots.https</id> |
| <name>Apache Snapshot Distribution Repository</name> |
| <url>https://repository.apache.org/content/repositories/snapshots/</url> |
| </snapshotRepository> |
| </distributionManagement> |
| </project> |