<?xml version="1.0" encoding="UTF-8"?>
<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.sonatype.oss</groupId>
        <artifactId>oss-parent</artifactId>
        <version>7</version>
    </parent>

    <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>

    <!-- TODO: we need update the url and all package together  -->
    <scm>
        <url>https://github.com/hugegraph/hugegraph-toolchain</url>
        <connection>https://github.com/hugegraph/hugegraph-toolchain</connection>
        <developerConnection>https://github.com/hugegraph/hugegraph-toolchain</developerConnection>
    </scm>

    <modules>
        <module>hugegraph-client</module>
        <module>hugegraph-hubble</module>
        <module>hugegraph-loader</module>
        <module>hugegraph-tools</module>
        <module>hugegraph-dist</module>
    </modules>

    <properties>
        <revision>1.0.0</revision>
        <release.name>${project.artifactId}</release.name>
        <final.name>${release.name}-${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.1.2</spark.version>
        <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>
    </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.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>-->
        </plugins>

<!--        <testResources>-->
<!--            <testResource>-->
<!--                <directory>src/test/resources/</directory>-->
<!--                <filtering>true</filtering>-->
<!--            </testResource>-->
<!--        </testResources>-->
    </build>
</project>
