<?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>org.gcube.tools</groupId>
        <artifactId>maven-parent</artifactId>
        <version>1.3.0</version>
    </parent>
    <groupId>org.gcube.distribution</groupId>
    <artifactId>maven-portal-bom</artifactId>
    <version>5.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <properties>
        <java.version>17</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <!-- Liferay DXP product of the 7.4 line: keep equal to liferay.workspace.product in porting_liferay_cnr/gradle.properties -->
        <liferay.dxp.version>2026.q2.2</liferay.dxp.version>
        <repo.name>maven-portal-bom</repo.name>
        <jersey.version>3.1.5</jersey.version>
        <jaxws.version>4.0.3</jaxws.version>
        <jakarta-api.version>4.0.2</jakarta-api.version>
    </properties>

    <repositories>
        <!-- Liferay Public CDN Repository (Needed to resolve Liferay-specific Jakarta Portlet 4.0 artifacts) -->
        <repository>
            <id>liferay-public</id>
            <url>https://repository-cdn.liferay.com/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

    <scm>
        <connection>scm:git:https://code-repo.d4science.org/gCubeSystem/${repo.name}.git</connection>
        <developerConnection>scm:git:https://code-repo.d4science.org/gCubeSystem/${repo.name}.git</developerConnection>
        <url>https://code-repo.d4science.org/gCubeSystem/${repo.name}</url>
    </scm>

    <developers>
        <developer>
            <id>massimiliano.assante</id>
            <name>Massimiliano Assante</name>
            <email>massimiliano.assante@isti.cnr.it</email>
            <url>https://orcid.org/0000-0002-3761-1492</url>
            <organization>D4Science Infrastructure, Pisa, Italy</organization>
            <organizationUrl>https://www.d4science.org/</organizationUrl>
            <roles>
                <role>researcher</role>
                <role>architect</role>
                <role>maintainer</role>
                <role>developer</role>
            </roles>
            <timezone>Europe/Rome</timezone>
        </developer>
        <developer>
            <id>alfredo.oliviero</id>
            <name>Alfredo Oliviero</name>
            <email>alfredo.oliviero@isti.cnr.it</email>
            <url>https://orcid.org/0009-0007-3191-1025</url>
            <organization>D4Science Infrastructure, Pisa, Italy</organization>
            <organizationUrl>https://www.d4science.org/</organizationUrl>
            <roles>
                <role>researcher</role>
                <role>architect</role>
                <role>maintainer</role>
                <role>developer</role>
            </roles>
            <timezone>Europe/Rome</timezone>
        </developer>
    </developers>

    <dependencyManagement>
        <dependencies>
            <!-- BOMs -->
            <dependency>
                <groupId>org.gcube.distribution</groupId>
                <artifactId>gcube-bom</artifactId>
                <version>4.1.0-SNAPSHOT</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- Liferay DXP of the 7.4 line, the same three BOMs the Liferay Gradle workspace applies: they manage every
                 com.liferay.* artifact (release.dxp.api, kernel, taglibs, ...) and the Jakarta portlet API. Declared after
                 gcube-bom so that the gCube pins win on duplicates. -->
            <dependency>
                <groupId>com.liferay.portal</groupId>
                <artifactId>release.dxp.bom</artifactId>
                <version>${liferay.dxp.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.liferay.portal</groupId>
                <artifactId>release.dxp.bom.compile.only</artifactId>
                <version>${liferay.dxp.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.liferay.portal</groupId>
                <artifactId>release.dxp.bom.third.party</artifactId>
                <version>${liferay.dxp.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- Unit tests (JUnit 5 Jupiter, as in the Gradle test blocks) -->
            <dependency>
                <groupId>org.junit</groupId>
                <artifactId>junit-bom</artifactId>
                <version>5.10.2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- VO & User Management (NOT in gcube-bom, versions defined in Portal BOM) -->
            <dependency>
                <groupId>org.gcube.vomanagement</groupId>
                <artifactId>portal-manager</artifactId>
                <version>[3.0.0-SNAPSHOT,4.0.0-SNAPSHOT)</version>
            </dependency>

            <dependency>
                <groupId>org.gcube.vomanagement</groupId>
                <artifactId>usermanagement</artifactId>
                <version>[3.0.0-SNAPSHOT,4.0.0-SNAPSHOT)</version>
            </dependency>

            <!-- gCube Core / Common: no entry here, the versions come from the imported gcube-bom -->



            <!-- <dependency>
                <groupId>org.gcube.core</groupId>
                <artifactId>common-fw-clients</artifactId>
                <version>[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)</version>
            </dependency> -->








            <!-- gCube Common: only the pins that differ from gcube-bom are listed -->


            <dependency>
                <groupId>org.gcube.common</groupId>
                <artifactId>keycloak-client</artifactId>
                <version>3.1.0-SNAPSHOT</version>
            </dependency>



            <dependency>
                <groupId>org.gcube.common</groupId>
                <artifactId>d4science-iam-client</artifactId>
                <version>2.1.0-SNAPSHOT</version>
            </dependency>








            <!-- gCube Portal Specific (Versions defined here since they are not in gcube-bom) -->
            <dependency>
                <groupId>org.gcube.core</groupId>
                <artifactId>common-configuration-scanner</artifactId>
                <version>[1.1.0,2.0.0-SNAPSHOT)</version>
            </dependency>

            <dependency>
                <groupId>org.gcube.social-networking</groupId>
                <artifactId>social-service-client</artifactId>
                <version>3.0.1</version>
            </dependency>

            <dependency>
                <groupId>org.gcube.social-networking</groupId>
                <artifactId>social-service-model</artifactId>
                <version>2.0.1</version>
            </dependency>

            <dependency>
                <groupId>org.gcube.portal</groupId>
                <artifactId>social-library-stubs</artifactId>
                <version>[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)</version>
            </dependency>

            <dependency>
                <groupId>org.gcube.portal.auth</groupId>
                <artifactId>portal-auth-library</artifactId>
                <version>[1.0.2,2.0.0-SNAPSHOT)</version>
            </dependency>


            <dependency>
                <groupId>org.gcube.contentmanagement</groupId>
                <artifactId>storage-manager-core</artifactId>
                <version>[5.0.0-SNAPSHOT,6.0.0-SNAPSHOT)</version>
            </dependency>

            <dependency>
                <groupId>org.gcube.resources</groupId>
                <artifactId>registry-publisher</artifactId>
                <version>[1.3.2,2.0.0-SNAPSHOT)</version>
            </dependency>

            <dependency>
                <groupId>org.gcube.common</groupId>
                <artifactId>event-publisher-library</artifactId>
                <version>2.1.0-SNAPSHOT</version>
            </dependency>

            <dependency>
                <groupId>org.gcube.portal</groupId>
                <artifactId>event-publisher-portal</artifactId>
                <version>[3.0.0-SNAPSHOT,4.0.0-SNAPSHOT)</version>
            </dependency>

            <dependency>
                <groupId>org.gcube.common</groupId>
                <artifactId>oidc-library</artifactId>
                <version>2.0.1-SNAPSHOT</version>
            </dependency>

            <dependency>
                <groupId>org.gcube.portal</groupId>
                <artifactId>oidc-library-portal</artifactId>
                <version>[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)</version>
            </dependency>

            <dependency>
                <groupId>org.gcube.portal</groupId>
                <artifactId>storagehub-icons-library</artifactId>
                <version>[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)</version>
            </dependency>

            <dependency>
                <groupId>org.gcube.portal</groupId>
                <artifactId>notifications-common-library</artifactId>
                <version>[1.5.0,2.0.0-SNAPSHOT)</version>
            </dependency>

            <dependency>
                <groupId>org.gcube.portal</groupId>
                <artifactId>custom-portal-handler</artifactId>
                <version>[2.1.1,3.0.0-SNAPSHOT)</version>
            </dependency>


            <!-- Jakarta APIs (provided by Liferay DXP/Tomcat runtime) -->
            <dependency>
                <groupId>jakarta.ws.rs</groupId>
                <artifactId>jakarta.ws.rs-api</artifactId>
                <version>3.1.0</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.liferay.jakarta.portlet</groupId>
                <artifactId>com.liferay.jakarta.portlet-api</artifactId>
                <version>4.0.0</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>6.0.0</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>jakarta.servlet.jsp</groupId>
                <artifactId>jakarta.servlet.jsp-api</artifactId>
                <version>3.1.1</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>jakarta.servlet.jsp.jstl</groupId>
                <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
                <version>3.0.2</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>jakarta.inject</groupId>
                <artifactId>jakarta.inject-api</artifactId>
                <version>2.0.1</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>jakarta.validation</groupId>
                <artifactId>jakarta.validation-api</artifactId>
                <version>3.0.2</version>
                <scope>provided</scope>
            </dependency>

            <!-- Liferay Core (provided by the portal runtime) -->

            <!-- GWT -->


            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.service.component.annotations</artifactId>
                <version>1.4.0</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>3.2.2</version>
            </dependency>
            <dependency>
                <groupId>commons-configuration</groupId>
                <artifactId>commons-configuration</artifactId>
                <version>1.10</version>
            </dependency>
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>1.3.1</version>
            </dependency>
            <dependency>
                <groupId>commons-httpclient</groupId>
                <artifactId>commons-httpclient</artifactId>
                <version>3.1</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>2.6</version>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>1.1.3</version>
            </dependency>
            <dependency>
                <groupId>commons-net</groupId>
                <artifactId>commons-net</artifactId>
                <version>3.12.0</version>
            </dependency>

            <dependency>
                <groupId>org.gcube.contentmanagement</groupId>
                <artifactId>storage-manager-wrapper</artifactId>
                <version>[5.0.0-SNAPSHOT,6.0.0-SNAPSHOT)</version>
            </dependency>



            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>2.15.3</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.15.3</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>2.15.3</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.auth0</groupId>
                <artifactId>java-jwt</artifactId>
                <version>4.4.0</version>
            </dependency>

            <dependency>
                <groupId>com.googlecode.json-simple</groupId>
                <artifactId>json-simple</artifactId>
                <version>1.1.1</version>
            </dependency>

            <!-- Same version the portal exports (com.liferay.shared.dependencies.jsoup): import it, do not embed -->


            <dependency>
                <groupId>org.commonmark</groupId>
                <artifactId>commonmark</artifactId>
                <version>0.21.0</version>
            </dependency>



            <dependency>
                <groupId>com.sun.xml.ws</groupId>
                <artifactId>jaxws-rt</artifactId>
                <version>2.3.0.2</version>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-core</artifactId>
                <version>4.2.21</version>
            </dependency>

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-reload4j</artifactId>
                <version>2.0.17</version>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>net.spy</groupId>
                <artifactId>spymemcached</artifactId>
                <version>2.12.3</version>
            </dependency>


            <!-- ===== Liferay 7.4 portal modules (porting_liferay_cnr) ===== -->
            <!-- Liferay DXP API aggregate: the BOM imports above manage the version, this entry sets the provided scope -->
            <dependency>
                <groupId>com.liferay.portal</groupId>
                <artifactId>release.dxp.api</artifactId>
                <version>${liferay.dxp.version}</version>
                <scope>provided</scope>
            </dependency>

            <!-- Modules of the portal workspace, built before the portlets that depend on them -->
            <dependency>
                <groupId>org.gcube.portal</groupId>
                <artifactId>shared-wrapper</artifactId>
                <version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.gcube.portlets.user</groupId>
                <artifactId>acceptinvite</artifactId>
                <version>[3.0.0-SNAPSHOT,4.0.0-SNAPSHOT)</version>
                <scope>provided</scope>
            </dependency>

            <!-- Catalogue metadata profiles (Jakarta port, published as SNAPSHOT only) -->
            <dependency>
                <groupId>org.gcube.data-catalogue</groupId>
                <artifactId>gcubedatacatalogue-metadata-discovery</artifactId>
                <version>4.0.0-SNAPSHOT</version>
            </dependency>

            <!-- Servlet-side libraries embedded or provided in the portlets -->
            <dependency>
                <groupId>jakarta.mail</groupId>
                <artifactId>jakarta.mail-api</artifactId>
                <version>2.1.2</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-fileupload2-core</artifactId>
                <version>2.0.0-M5</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-fileupload2-jakarta-servlet6</artifactId>
                <version>2.0.0-M5</version>
            </dependency>

            <!-- APIs the JSP/legacy code of some portlets compiles against, as the Gradle builds declare them -->
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>jsp-api</artifactId>
                <version>2.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>javax.servlet.jsp-api</artifactId>
                <version>2.3.3</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp.jstl</groupId>
                <artifactId>javax.servlet.jsp.jstl-api</artifactId>
                <version>1.2.2</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>2.3.1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.sun.activation</groupId>
                <artifactId>javax.activation</artifactId>
                <version>1.2.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>net.java.dev.msv</groupId>
                <artifactId>msv-core</artifactId>
                <version>2013.6.1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>relaxngDatatype</groupId>
                <artifactId>relaxngDatatype</artifactId>
                <version>20020414</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>osgi.core</artifactId>
                <version>6.0.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>osgi.cmpn</artifactId>
                <version>6.0.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.annotation.versioning</artifactId>
                <version>1.1.0</version>
                <scope>provided</scope>
            </dependency>

            <!-- Test libraries (scope test) -->
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>5.11.0</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>3.25.3</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13.2</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>2.24.3</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>2.24.3</version>
                <scope>test</scope>
            </dependency>
        
                    
            <!-- BEGIN liferay-shared-dependencies (generated by scripts/liferay_shared_dependencies.py, do not edit) -->
            <!-- Liferay dxp-2026.q2.2 ships these libraries to every OSGi bundle (shared dependencies): import them, do not embed.
                 Provided scope; the versions are the ones the portal runs. -->
            <dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.9.0</version><scope>provided</scope></dependency>
            <dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.15</version><scope>provided</scope></dependency>
            <dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.19.0</version><scope>provided</scope></dependency>
            <dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.18.0</version><scope>provided</scope></dependency>
            <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version><scope>provided</scope></dependency>
            <dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.15.3</version><scope>provided</scope></dependency>
            <!-- END liferay-shared-dependencies -->
        </dependencies>

    </dependencyManagement>


    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
