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

    <parent>
        <groupId>com.geoway</groupId>
        <artifactId>geoway-dependencies</artifactId>
        <version>1.0.12.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.geoway.adf.gis</groupId>
    <artifactId>adf-gis-dms</artifactId>
    <version>5.1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <modules>
        <module>adf-dms-common</module>
        <module>adf-dms-datasource</module>
        <module>adf-dms-api</module>
        <module>adf-dms-catalog</module>
        <module>adf-dms-config</module>
        <module>adf-gis-server</module>
        <module>adf-dms-charts</module>
    </modules>

    <properties>
        <java.version>1.8</java.version>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <tomcat.version>9.0.96</tomcat.version>

        <atlas-license.version>6.1</atlas-license.version>
        <adf-gis.version>5.1.0-SNAPSHOT</adf-gis.version>
        <adf-dms.version>5.1.0-SNAPSHOT</adf-dms.version>
        <atlas-gis-toolkit.version>1.2.8</atlas-gis-toolkit.version>

        <postgresql.version>42.4.1</postgresql.version>
        <postgis.version>2021.1.0</postgis.version>
        <ojdbc.version>21.5.0.0</ojdbc.version>
        <mongodb.version>4.7.0</mongodb.version>
        <kingbase8.version>8.6.1-repair</kingbase8.version>
        <HgdbJdbc.version>6.0.5.jre8-update</HgdbJdbc.version>
        <gaussdbjdbc.version>5.0.0</gaussdbjdbc.version>
        <ucanaccess.version>5.0.1</ucanaccess.version>
        <hsqldb.version>2.5.2</hsqldb.version>
        <neo4j.version>4.4.5</neo4j.version>
        <easyexcel.version>4.0.3</easyexcel.version>
        <sqlite.version>3.32.3.2</sqlite.version>

        <mybatis.version>3.5.9</mybatis.version>
        <swagger.version>1.5.22</swagger.version>
        <springfox.version>3.0.0</springfox.version>

        <flyway.version>8.5.11-u2</flyway.version>

        <tinyPinyin.version>2.0.3.RELEASE</tinyPinyin.version>
        <fastjson.version>2.0.39</fastjson.version>
        <isoparser.version>1.1.22</isoparser.version>
        <ant.version>1.10.12</ant.version>
        <junrar.version>7.5.5</junrar.version>
        <commons-net.version>3.10.0</commons-net.version>
        <commons-io.version>2.16.1</commons-io.version>
        <jsqlparser.version>4.5</jsqlparser.version>

        <hadoop.version>3.3.4</hadoop.version>
        <hbase.version>2.4.14</hbase.version>
        <minio.version>8.5.11</minio.version>
        <esdk-obs-java.version>3.23.9</esdk-obs-java.version>
        <aliyun-sdk-oss.version>3.17.4</aliyun-sdk-oss.version>
        <aws.sdk.version>2.27.12</aws.sdk.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.geoway.atlas</groupId>
                <artifactId>atlas-license</artifactId>
                <version>${atlas-license.version}</version>
            </dependency>
            <dependency>
                <groupId>com.geoway.adf.gis</groupId>
                <artifactId>adf-gis-basic</artifactId>
                <version>${adf-gis.version}</version>
            </dependency>
            <dependency>
                <groupId>com.geoway.adf.gis</groupId>
                <artifactId>adf-gis-geodb</artifactId>
                <version>${adf-gis.version}</version>
            </dependency>
            <dependency>
                <groupId>com.geoway.adf.gis</groupId>
                <artifactId>adf-gis-tile</artifactId>
                <version>${adf-gis.version}</version>
            </dependency>
            <dependency>
                <groupId>com.geoway.adf.gis</groupId>
                <artifactId>adf-gis-raster</artifactId>
                <version>${adf-gis.version}</version>
            </dependency>
            <dependency>
                <groupId>com.geoway.adf.gis</groupId>
                <artifactId>adf-gis-fs</artifactId>
                <version>${adf-gis.version}</version>
            </dependency>
            <dependency>
                <groupId>com.geoway.adf.gis</groupId>
                <artifactId>adf-gis-geosrv</artifactId>
                <version>${adf-gis.version}</version>
            </dependency>

            <dependency>
                <groupId>com.geoway.adf.gis</groupId>
                <artifactId>adf-dms-common</artifactId>
                <version>${adf-dms.version}</version>
            </dependency>
            <dependency>
                <groupId>com.geoway.adf.gis</groupId>
                <artifactId>adf-dms-config</artifactId>
                <version>${adf-dms.version}</version>
            </dependency>
            <dependency>
                <groupId>com.geoway.adf.gis</groupId>
                <artifactId>adf-dms-datasource</artifactId>
                <version>${adf-dms.version}</version>
            </dependency>
            <dependency>
                <groupId>com.geoway.adf.gis</groupId>
                <artifactId>adf-dms-catalog</artifactId>
                <version>${adf-dms.version}</version>
            </dependency>
            <dependency>
                <groupId>com.geoway.adf.gis</groupId>
                <artifactId>adf-dms-charts</artifactId>
                <version>${adf-dms.version}</version>
            </dependency>
            <dependency>
                <groupId>com.geoway.adf.gis</groupId>
                <artifactId>adf-dms-api</artifactId>
                <version>${adf-dms.version}</version>
            </dependency>

            <!-- Hadoop HDFS 依赖 -->
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-hdfs-client</artifactId>
                <version>${hadoop.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-databind</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-annotations</artifactId>
                <version>${hadoop.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-common</artifactId>
                <version>${hadoop.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.httpcomponents</groupId>
                        <artifactId>httpclient</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-cli</groupId>
                        <artifactId>commons-cli</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-math3</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-io</groupId>
                        <artifactId>commons-io</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-net</groupId>
                        <artifactId>commons-net</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-text</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>javax.servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet.jsp</groupId>
                        <artifactId>jsp-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jakarta.activation</groupId>
                        <artifactId>jakarta.activation-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.jetty</groupId>
                        <artifactId>jetty-server</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.jetty</groupId>
                        <artifactId>jetty-util</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.jetty</groupId>
                        <artifactId>jetty-servlet</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.jetty</groupId>
                        <artifactId>jetty-webapp</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.jetty</groupId>
                        <artifactId>jetty-util-ajax</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jersey</groupId>
                        <artifactId>jersey-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jersey</groupId>
                        <artifactId>jersey-servlet</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jersey</groupId>
                        <artifactId>jersey-json</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jersey</groupId>
                        <artifactId>jersey-server</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>ch.qos.reload4j</groupId>
                        <artifactId>reload4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-reload4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.mockito</groupId>
                        <artifactId>mockito-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.avro</groupId>
                        <artifactId>avro</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.ant</groupId>
                        <artifactId>ant</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.re2j</groupId>
                        <artifactId>re2j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.code.gson</groupId>
                        <artifactId>gson</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.jcraft</groupId>
                        <artifactId>jsch</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.curator</groupId>
                        <artifactId>curator-client</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.curator</groupId>
                        <artifactId>curator-recipes</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.zookeeper</groupId>
                        <artifactId>zookeeper</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.kerby</groupId>
                        <artifactId>kerb-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-databind</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.squareup.okhttp3</groupId>
                        <artifactId>mockwebserver</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>dnsjava</groupId>
                        <artifactId>dnsjava</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.wildfly.openssl</groupId>
                        <artifactId>wildfly-openssl-java</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.xerial.snappy</groupId>
                        <artifactId>snappy-java</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.lz4</groupId>
                        <artifactId>lz4-java</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.kerby</groupId>
                        <artifactId>kerb-simplekdc</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!-- Hadoop HBASE 依赖 -->
            <dependency>
                <groupId>org.apache.hbase</groupId>
                <artifactId>hbase-client</artifactId>
                <version>${hbase.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.hadoop</groupId>
                        <artifactId>hadoop-annotations</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.hadoop</groupId>
                        <artifactId>hadoop-auth</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.hadoop</groupId>
                        <artifactId>hadoop-common</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.htrace</groupId>
                <artifactId>htrace-core4</artifactId>
                <version>4.2.0-incubating</version>
            </dependency>
            <!-- atlas数据源 -->
            <dependency>
                <groupId>com.geoway.atlas</groupId>
                <artifactId>atlas-gis-toolkit-meta-all</artifactId>
                <version>${atlas-gis-toolkit.version}</version>
            </dependency>

            <!--minio 对象存储-->
            <dependency>
                <groupId>io.minio</groupId>
                <artifactId>minio-admin</artifactId>
                <version>${minio.version}</version>
            </dependency>

            <!--华为云 对象存储-->
            <dependency>
                <groupId>com.huaweicloud</groupId>
                <artifactId>esdk-obs-java-bundle</artifactId>
                <version>${esdk-obs-java.version}</version>
            </dependency>

            <!--阿里云 对象存储-->
            <dependency>
                <groupId>com.aliyun.oss</groupId>
                <artifactId>aliyun-sdk-oss</artifactId>
                <version>${aliyun-sdk-oss.version}</version>
            </dependency>

            <!--AWS S3 对象存储-->
            <dependency>
                <groupId>software.amazon.awssdk</groupId>
                <artifactId>s3</artifactId>
                <version>${aws.sdk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>software.amazon.awssdk</groupId>
                        <artifactId>netty-nio-client</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok-maven-plugin</artifactId>
                    <version>1.18.0.0</version>
                    <configuration>
                        <encoding>UTF-8</encoding>
                        <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
                        <outputDirectory>${project.build.directory}/delombok</outputDirectory>
                        <addOutputDirectory>false</addOutputDirectory>
                    </configuration>
                    <executions>
                        <execution>
                            <phase>generate-sources</phase>
                            <goals>
                                <goal>delombok</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <!--生成doc jar包-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <configuration>
                        <sourcepath>${project.build.directory}/delombok</sourcepath>
                        <doclint>none</doclint>
                        <encoding>UTF-8</encoding>
                        <charset>UTF-8</charset>
                        <docencoding>UTF-8</docencoding>
                        <author>false</author>
                        <nosince>true</nosince>
                    </configuration>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <!--签名-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jarsigner-plugin</artifactId>
                    <version>3.0.0</version>
                    <executions>
                        <execution>
                            <id>sign</id>
                            <goals>
                                <goal>sign</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <alias>adf</alias>
                        <storepass>${signpassword}</storepass>
                        <keypass>${signpassword}</keypass>
                        <keystore>../adfKeyStore</keystore>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <distributionManagement>
        <repository>
            <id>geowayRepo</id>
            <name>internal repository for releases</name>
            <url>http://atlas.geoway.com.cn:8005/nexus/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>geowayRepo</id>
            <name>internal repository for snapshots</name>
            <url>http://atlas.geoway.com.cn:8005/nexus/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

    <repositories>
        <repository>
            <id>geowayRepo</id>
            <name>geowayRepo</name>
            <url>http://atlas.geoway.com.cn:8005/nexus/repository/maven-public/</url>
        </repository>
        <repository>
            <id>osgeo</id>
            <name>OSGeo Nexus Release Repository</name>
            <url>https://repo.osgeo.org/repository/release/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

</project>