| <?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.6.8-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> |
| </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/TuGraph-family/tugraph-analytics.git</connection> |
| <developerConnection>https://github.com/TuGraph-family/analytics.git</developerConnection> |
| <url>https://github.com/TuGraph-family/analytics</url> |
| </scm> |
| |
| <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-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> |
| <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/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> |
| </excludes> |
| </configuration> |
| </execution> |
| </executions> |
| </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>release</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <version>1.6</version> |
| <executions> |
| <execution> |
| <id>sign-artifacts</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>sign</goal> |
| </goals> |
| </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>ossrh</id> |
| <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> |
| </repository> |
| </distributionManagement> |
| </project> |