<?xml version="1.0" encoding="UTF-8"?>
<!--
  #%L
  wcm.io
  %%
  Copyright (C) 2019 wcm.io
  %%
  Licensed 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.
  #L%
  -->

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>io.wcm</groupId>
    <artifactId>io.wcm.parent_toplevel</artifactId>
    <version>2.4.4</version>
    <relativePath />
  </parent>

  <groupId>io.wcm</groupId>
  <artifactId>io.wcm.wcm.core.components.parent</artifactId>
  <version>2.0.6-2.25.4</version>
  <packaging>pom</packaging>
  
  <name>WCM Core Components</name>
  <description>Enhances AEM WCM Core Components with wcm.io functionality.</description>

  <ciManagement>
    <system>GitHub Actions</system>
    <url>https://github.com/wcm-io/io.wcm.wcm.core.components/actions</url>
  </ciManagement>

  <issueManagement>
    <system>GitHub</system>
    <url>https://github.com/wcm-io/io.wcm.wcm.core.components/issues/</url>
  </issueManagement>

  <properties>
    <core.wcm.components.version>2.25.4</core.wcm.components.version>

    <sling.url>http://localhost:4502</sling.url>
    <sling.publish.url>http://localhost:4503</sling.publish.url>

    <!-- Enable reproducible builds -->
    <project.build.outputTimestamp>2025-02-20T00:19:50Z</project.build.outputTimestamp>
  </properties>

  <dependencyManagement>
    <dependencies>

      <!-- AEM Core WCM Components -->
      <dependency>
        <groupId>com.adobe.cq</groupId>
        <artifactId>core.wcm.components.core</artifactId>
        <version>${core.wcm.components.version}</version>
      </dependency>
      <dependency>
        <groupId>com.adobe.cq</groupId>
        <artifactId>core.wcm.components.all</artifactId>
        <version>${core.wcm.components.version}</version>
        <type>zip</type>
      </dependency>
      <dependency>
        <groupId>com.adobe.cq</groupId>
        <artifactId>core.wcm.components.examples.ui.config</artifactId>
        <version>${core.wcm.components.version}</version>
        <type>zip</type>
      </dependency>
      <dependency>
        <groupId>com.adobe.cq</groupId>
        <artifactId>core.wcm.components.examples.ui.apps</artifactId>
        <version>${core.wcm.components.version}</version>
        <type>zip</type>
      </dependency>
      <dependency>
        <groupId>com.adobe.cq</groupId>
        <artifactId>core.wcm.components.examples.ui.content</artifactId>
        <version>${core.wcm.components.version}</version>
        <type>zip</type>
      </dependency>
  
      <!-- wcm.io -->
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.caconfig.extensions</artifactId>
        <version>1.8.0</version>
      </dependency>
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.caconfig.editor</artifactId>
        <version>1.8.0</version>
      </dependency>
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.sling.models</artifactId>
        <version>2.0.0</version>
      </dependency>
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.sling.commons</artifactId>
        <version>1.6.4</version>
      </dependency>
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.handler.commons</artifactId>
        <version>2.0.0</version>
      </dependency>
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.handler.url</artifactId>
        <version>2.0.0</version>
      </dependency>
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.handler.link</artifactId>
        <version>2.0.0</version>
      </dependency>
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.handler.media</artifactId>
        <version>2.0.0</version>
      </dependency>
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.handler.richtext</artifactId>
        <version>2.0.0</version>
      </dependency>
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.wcm.commons</artifactId>
        <version>1.10.0</version>
      </dependency>
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.wcm.ui.granite</artifactId>
        <version>1.10.0</version>
      </dependency>
  
      <!-- wcm.io Testing -->
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.testing.aem-mock.junit5</artifactId>
        <version>5.6.2</version>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.testing.logging-mock</artifactId>
        <version>2.0.0</version>
      </dependency>
      <dependency>
        <groupId>com.adobe.cq</groupId>
        <artifactId>core.wcm.components.testing.aem-mock-plugin</artifactId>
        <version>${core.wcm.components.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.testing.caconfig-mock-plugin</artifactId>
        <version>1.5.4</version>
      </dependency>
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.testing.wcm-io-mock.sling</artifactId>
        <version>1.2.0</version>
      </dependency>
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.testing.wcm-io-mock.wcm</artifactId>
        <version>1.2.0</version>
      </dependency>
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.testing.wcm-io-mock.caconfig</artifactId>
        <version>1.2.0</version>
      </dependency>
      <dependency>
        <groupId>io.wcm</groupId>
        <artifactId>io.wcm.testing.wcm-io-mock.handler</artifactId>
        <version>2.0.0</version>
      </dependency>

      <dependency>
        <groupId>org.skyscreamer</groupId>
        <artifactId>jsonassert</artifactId>
        <version>1.5.1</version>
      </dependency>
    
    </dependencies>
  </dependencyManagement>

  <build>
    <plugins>

      <!-- do not generate site for this project -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <inherited>false</inherited>
        <configuration>
          <skip>true</skip>
          <skipDeploy>true</skipDeploy>
        </configuration>
      </plugin>

    </plugins>
    <pluginManagement>
      <plugins>

        <!-- Set version policy for managing main version with a suffixed core components version properly -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <configuration>
            <projectVersionPolicyId>VersionWithSuffixVersionVersionPolicy</projectVersionPolicyId>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>io.wcm.maven.release-policies</groupId>
              <artifactId>io.wcm.maven.release-policies.oddeven-with-suffix-version</artifactId>
              <version>1.0.4</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>com.amashchenko.maven.plugin</groupId>
          <artifactId>gitflow-maven-plugin</artifactId>
          <configuration>
            <projectVersionPolicyId>VersionWithSuffixVersionVersionPolicy</projectVersionPolicyId>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>io.wcm.maven.release-policies</groupId>
              <artifactId>io.wcm.maven.release-policies.oddeven-with-suffix-version</artifactId>
              <version>1.0.4</version>
            </dependency>
          </dependencies>
        </plugin>

      </plugins>
    </pluginManagement>
  </build>

  <profiles>

    <!-- Deployment to AEM 6.5 -->
    <profile>
      <id>aem65</id>
      <properties>
        <!-- AEM instance parameters -->
        <sling.url>http://localhost:45025</sling.url>
        <sling.publish.url>http://localhost:45035</sling.publish.url>
      </properties>
    </profile>

  </profiles>

</project>
