<?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>
                        <!-- Hubble -->
                        <exclude>**/.prettierrc</exclude>
                        <exclude>**/.stylelintrc</exclude>
                        <exclude>**/*.ts</exclude>
                        <exclude>**/*.tsx</exclude>
                        <exclude>**/*.less</exclude>
                        <exclude>**/*.svg</exclude>
                        <exclude>**/yarn.lock</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>
