<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.opencdmp</groupId>
    <artifactId>opencdmp-backend</artifactId>
    <name>OpenCDMP Backend Parent</name>
    <version>${revision}</version>
    <packaging>pom</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.5</version>
    </parent>

    <modules>
        <module>core</module>
        <module>web</module>
    </modules>

    <properties>
        <project.http.version>1.19.0</project.http.version>
        <project.oauth.version>1.19.0</project.oauth.version>
        <project.version>0.2.0</project.version>
        <java.version>21</java.version>

        <commons-codec.version>1.9</commons-codec.version>
        <org.junit.version>4.11</org.junit.version>
        <log4j.version>1.2.17</log4j.version>
        <log4j2.version>2.15.0</log4j2.version>
        <revision>1.0.0-SNAPSHOT</revision>
        <maven.compiler.release>21</maven.compiler.release>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20240303</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.elasticsearch/elasticsearch -->
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>8.5.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.httpcomponents</groupId>
                    <artifactId>httpclient</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.httpcomponents</groupId>
                    <artifactId>httpcore</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.httpcomponents</groupId>
                    <artifactId>httpcore-nio</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.httpcomponents.client5</groupId>
            <artifactId>httpclient5</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore-nio</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.4.13</version>
        </dependency>

        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.17.19</version>
        </dependency>

        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>transport</artifactId>
            <version>7.6.0</version>
        </dependency>
        
        <dependency>
            <groupId>org.hibernate.orm</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>6.5.2.Final</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate.orm</groupId>
            <artifactId>hibernate-c3p0</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.jayway.jsonpath/json-path -->
        <dependency>
            <groupId>com.jayway.jsonpath</groupId>
            <artifactId>json-path</artifactId>
            <version>2.9.0</version>
        </dependency>


        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-xml -->
        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
        </dependency>


        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackeu.eudat.corecore/jackeu.eudat.corecore -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackeu.eudat.corecore/jackson-databind -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jsr310</artifactId>
            <version>2.17.0</version>
        </dependency>

        <!-- g/a spring -->
        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackeu.eudat.corecore/jackson-databind -->



        <!-- Various libs -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.14.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->

        <!-- https://mvnrepository.com/artifact/org.apache.xmlgraphics/fop -->

        

        <!--<dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-jpamodelgen</artifactId>
        </dependency>-->

        <!--<dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-to-slf4j</artifactId>
            <version>2.8.2</version>
        </dependency>-->


<!--        &lt;!&ndash; The client &ndash;&gt;-->
<!--        <dependency>-->
<!--            <groupId>io.prometheus</groupId>-->
<!--            <artifactId>simpleclient</artifactId>-->
<!--            <version>0.11.0</version>-->
<!--        </dependency>-->
<!--        &lt;!&ndash; Hotspot JVM metrics&ndash;&gt;-->
<!--        <dependency>-->
<!--            <groupId>io.prometheus</groupId>-->
<!--            <artifactId>simpleclient_hotspot</artifactId>-->
<!--            <version>0.11.0</version>-->
<!--        </dependency>-->
<!--        &lt;!&ndash; Exposition HTTPServer&ndash;&gt;-->
<!--        <dependency>-->
<!--            <groupId>io.prometheus</groupId>-->
<!--            <artifactId>simpleclient_httpserver</artifactId>-->
<!--            <version>0.11.0</version>-->
<!--        </dependency>-->
<!--        &lt;!&ndash; Pushgateway exposition&ndash;&gt;-->
<!--        <dependency>-->
<!--            <groupId>io.prometheus</groupId>-->
<!--            <artifactId>simpleclient_pushgateway</artifactId>-->
<!--            <version>0.11.0</version>-->
<!--        </dependency>-->

        <!-- https://mvnrepository.com/artifact/io.micrometer/micrometer-registry-prometheus -->
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-prometheus</artifactId>
            <version>1.11.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!-- Micormeter core dependecy  -->
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-core</artifactId>
        </dependency>
        <!--CITE DEPENDENCIES-->
        <dependency>
            <groupId>gr.cite</groupId>
            <artifactId>data-tools</artifactId>
            <version>2.1.4</version>
        </dependency>
        <dependency>
            <groupId>gr.cite</groupId>
            <artifactId>exceptions</artifactId>
            <version>2.2.0</version>
        </dependency>
        <dependency>
            <groupId>gr.cite</groupId>
            <artifactId>logging</artifactId>
            <version>2.2.0</version>
        </dependency>
        <dependency>
            <groupId>gr.cite</groupId>
            <artifactId>cache</artifactId>
            <version>2.2.0</version>
        </dependency>

        <dependency>
            <groupId>gr.cite</groupId>
            <artifactId>elastic</artifactId>
            <version>2.1.2</version>
        </dependency>

        <dependency>
            <groupId>gr.cite</groupId>
            <artifactId>keycloak-api</artifactId>
            <version>2.3.0</version>
        </dependency>


        <dependency>
            <groupId>gr.cite</groupId>
            <artifactId>rabbitmq-core</artifactId>
            <version>2.1.2</version>
        </dependency>

    </dependencies>

    <profiles>
        <profile>
            <id>devel</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <packaging.type>jar</packaging.type>
            </properties>
        </profile>
<!--        <profile>-->
<!--            <id>intellij-properties-launcher</id>-->

<!--            <dependencies>-->
<!--                <dependency>-->
<!--                    <groupId>org.springframework.boot</groupId>-->
<!--                    <artifactId>spring-boot-loader</artifactId>-->
<!--                </dependency>-->
<!--            </dependencies>-->

<!--        </profile>-->
        <profile>
            <id>production</id>
            <properties>
                <packaging.type>jar</packaging.type>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                    <scope>provided</scope>
                </dependency>
            </dependencies>
            <activation>
                <property>
                    <name>profile</name>
                    <value>production</value>
                </property>
            </activation>
        </profile>
        <profile>
            <id>cite-dev</id>
            <repositories>
                <repository>
                    <id>cite-maven</id>
                    <name>CITE Maven Repository</name>
                    <url>https://crepo.cite.gr/repository/cite-maven/</url>
                </repository>
            </repositories>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
    </profiles>

</project>