<?xml version="1.0" encoding="UTF-8"?>
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional
    information regarding copyright ownership. The ASF licenses this file to you 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. -->
<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.apache.sling</groupId>
    <artifactId>sling-bundle-parent</artifactId>
    <version>49</version>
  </parent>
  <artifactId>org.apache.sling.cms</artifactId>
  <name>Apache Sling - CMS</name>
  <description>An Apache Sling Reference CMS Application</description>
  <version>1.1.8</version>
  <packaging>pom</packaging>
  <properties>
    <legal.dir>${basedir}</legal.dir>
    <sling.protocol>http</sling.protocol>
    <sling.host>localhost</sling.host>
    <sling.port>8080</sling.port>
    <sling.username>admin</sling.username>
    <sling.password>admin</sling.password>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <sling.cms.java.version>11</sling.cms.java.version>
    <maven.compiler.source>${sling.cms.java.version}</maven.compiler.source>
    <maven.compiler.target>${maven.compiler.source}</maven.compiler.target>
    <project.build.outputTimestamp>1699154213</project.build.outputTimestamp>

    <!-- Versions Synced with Starter -->

    <!-- renovate: depName=org.ow2.asm:asm -->
    <asm.version>9.6</asm.version>
    <!-- renovate: depName=org.apache.jackrabbit:jackrabbit-jcr-commons -->
    <jackrabbit.version>2.20.12</jackrabbit.version>
    <!-- renovate: depName=org.apache.jackrabbit:oak-api -->
    <oak.version>1.58.0</oak.version>
    <!-- renovate: depName=org.slf4j:slf4j-api -->
    <slf4j.version>1.7.36</slf4j.version>
    <!-- renovate: depName=com.composum.nodes:composum-nodes-commons -->
    <composum.nodes.version>4.2.2</composum.nodes.version>
    <!-- renovate: depName=com.fasterxml.jackson.core:jackson-core -->
    <jackson.version>2.15.3</jackson.version>
    <!-- renovate: depName=org.codehaus.groovy:groovy -->
    <groovy.version>4.0.10</groovy.version>

    <!-- End Versions Synced with Starter -->

    <!-- Common Versions -->
    <cms-version>${project.parent.version}</cms-version>
    <cocoon-serializers-charsets-version>1.0.2</cocoon-serializers-charsets-version>
    <commons-io-version>2.11.0</commons-io-version>
    <commons-lang3-version>3.12.0</commons-lang3-version>
    <commons-text-version>1.10.0</commons-text-version>
    <geronimo-atinject_1-0_spec-version>1.2</geronimo-atinject_1-0_spec-version>
    <httpclient-version>4.5.13</httpclient-version>
    <javax-annotation-api-version>1.3.2</javax-annotation-api-version>
    <jsoup-version>1.15.3</jsoup-version>
    <jsp-api-version>2.0</jsp-api-version>
    <jstl-version>1.2_1</jstl-version>
    <mockito-core-version>4.6.1</mockito-core-version>
    <org-apache-sling-api-version>2.27.0</org-apache-sling-api-version>
    <org-apache-sling-caconfig-api-version>1.3.0</org-apache-sling-caconfig-api-version>
    <org-apache-sling-commons-johnzon-version>1.2.14</org-apache-sling-commons-johnzon-version>
    <org-apache-sling-engine-version>2.9.0</org-apache-sling-engine-version>
    <org-apache-sling-fileoptim-version>0.9.4</org-apache-sling-fileoptim-version>
    <org-apache-sling-models-api-version>1.4.2</org-apache-sling-models-api-version>
    <org-apache-sling-scripting-api-version>2.2.0</org-apache-sling-scripting-api-version>
    <org-apache-sling-scripting-jsp-taglib-version>2.4.0</org-apache-sling-scripting-jsp-taglib-version>
    <org-apache-sling-testing-sling-mock-junit4-version>3.3.0</org-apache-sling-testing-sling-mock-junit4-version>
    <org.apache.felix.webconsole-version>4.8.2</org.apache.felix.webconsole-version>
    <osgi-annotation-version>8.1.0</osgi-annotation-version>
    <pdfbox-version>2.0.26</pdfbox-version>
    <servlet-api-version>2.5</servlet-api-version>
    <tika-version>1.28.4</tika-version>

    <!-- Node version -->
    <node.version>v16.20.2</node.version>
    <npm.version>8.19.4</npm.version>
    
  </properties>
  <modules>
    <module>api</module>
    <module>core</module>
    <module>login</module>
    <module>ui</module>
    <module>reference</module>
    <module>feature</module>
    <module>archetype</module>
    <module>it</module>
  </modules>
  <scm>
    <connection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git</connection>
    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git</developerConnection>
    <url>https://github.com/apache/sling-org-apache-sling-app-cms.git</url>
    <tag>org.apache.sling.cms-1.1.8</tag>
  </scm>
  <dependencyManagement>
    <dependencies>
      <!-- Other Apache Dependencies -->
      <dependency>
        <groupId>org.apache.cocoon</groupId>
        <artifactId>cocoon-serializers-charsets</artifactId>
        <version>${cocoon-serializers-charsets-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.felix</groupId>
        <artifactId>org.apache.felix.webconsole</artifactId>
        <version>${org.apache.felix.webconsole-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.geronimo.bundles</groupId>
        <artifactId>jstl</artifactId>
        <version>${jstl-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-atinject_1.0_spec</artifactId>
        <version>${geronimo-atinject_1-0_spec-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${httpclient-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.jackrabbit</groupId>
        <artifactId>oak-jackrabbit-api</artifactId>
        <version>${oak.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.jackrabbit</groupId>
        <artifactId>jackrabbit-jcr-commons</artifactId>
        <version>${jackrabbit.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.jackrabbit</groupId>
        <artifactId>oak-core</artifactId>
        <version>${oak.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.jackrabbit</groupId>
        <artifactId>oak-jcr</artifactId>
        <version>${oak.version}</version>
        <scope>provided</scope>
      </dependency>
      <!-- Sling Dependencies -->
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.api</artifactId>
        <version>${org-apache-sling-api-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.caconfig.api</artifactId>
        <version>${org-apache-sling-caconfig-api-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.commons.classloader</artifactId>
        <version>1.4.4</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.commons.messaging</artifactId>
        <version>1.0.2</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.commons.messaging.mail</artifactId>
        <version>2.0.0</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.commons.johnzon</artifactId>
        <version>${org-apache-sling-commons-johnzon-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <artifactId>org.apache.sling.discovery.api</artifactId>
        <groupId>org.apache.sling</groupId>
        <version>1.0.4</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.distribution.api</artifactId>
        <version>0.7.0</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.engine</artifactId>
        <version>${org-apache-sling-engine-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.event.api</artifactId>
        <version>1.0.0</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.fileoptim</artifactId>
        <version>${org-apache-sling-fileoptim-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.i18n</artifactId>
        <version>2.5.18</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.jcr.resource</artifactId>
        <version>3.2.0</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.models.api</artifactId>
        <version>${org-apache-sling-models-api-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.rewriter</artifactId>
        <version>1.3.6</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.scripting.api</artifactId>
        <version>${org-apache-sling-scripting-api-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.scripting.jsp.taglib</artifactId>
        <version>${org-apache-sling-scripting-jsp-taglib-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.servlets.post</artifactId>
        <version>2.5.0</version>
        <scope>provided</scope>
      </dependency>
      <!-- Utilities / Misc -->
      <dependency>
        <groupId>com.github.jknack</groupId>
        <artifactId>handlebars</artifactId>
        <version>4.3.0</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>jakarta.activation</groupId>
        <artifactId>jakarta.activation-api</artifactId>
        <version>2.1.0</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>jakarta.mail</groupId>
        <artifactId>jakarta.mail-api</artifactId>
        <version>2.1.0</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.sun.mail</groupId>
        <artifactId>javax.mail</artifactId>
        <version>1.6.2</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>${javax-annotation-api-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jsp-api</artifactId>
        <version>${jsp-api-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>${servlet-api-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${commons-lang3-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-math</artifactId>
        <version>2.2</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-text</artifactId>
        <version>${commons-text-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.jetbrains</groupId>
        <artifactId>annotations</artifactId>
        <version>23.0.0</version>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>org.osgi</groupId>
        <artifactId>osgi.annotation</artifactId>
        <version>${osgi-annotation-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.management.j2ee</groupId>
        <artifactId>javax.management.j2ee-api</artifactId>
        <version>1.1.2</version>
        <scope>provided</scope>
      </dependency>
      <!-- Document Processing Dependencies -->
      <dependency>
        <artifactId>jsoup</artifactId>
        <groupId>org.jsoup</groupId>
        <version>${jsoup-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>net.coobird</groupId>
        <artifactId>thumbnailator</artifactId>
        <version>0.4.17</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>pdfbox</artifactId>
        <version>${pdfbox-version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>5.2.2</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-scratchpad</artifactId>
        <version>5.2.2</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-core</artifactId>
        <version>${tika-version}</version>
        <scope>provided</scope>
      </dependency>
      <!-- Testing Dependencies -->
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.testing.sling-mock.junit4</artifactId>
        <version>${org-apache-sling-testing-sling-mock-junit4-version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${mockito-core-version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.testing.sling-mock-oak</artifactId>
        <version>3.1.2-1.40.0</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <configuration>
          <excludes>
            <!-- Used by maven-remote-resources-plugin -->
            <exclude>src/main/appended-resources/META-INF/*</exclude>
            <!-- Generated by maven-remote-resources-plugin -->
            <exclude>velocity.log</exclude>
            <!-- don't check anything in target -->
            <exclude>target/*</exclude>
            <!-- Fixing issues with deleted modules -->
            <exclude>**/target/*</exclude>
            <exclude>**/target/**/*</exclude>
            <exclude>vagrant/**/*</exclude>
            <exclude>node/**/*</exclude>
            <exclude>node_modules/**/*</exclude>
            <exclude>**/node_modules/**/*</exclude>
          </excludes>
        </configuration>
        <executions>
          <execution>
            <phase>verify</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>animal-sniffer-maven-plugin</artifactId>
          <configuration>
            <signature>
              <groupId>org.codehaus.mojo.signature</groupId>
              <artifactId>java${sling.cms.java.version}</artifactId>
              <version>1.0</version>
            </signature>
          </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
              <execution>
                <id>copy-legal-files</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>copy-resources</goal>
                </goals>
                <configuration>
                  <outputDirectory>${basedir}/target/classes/META-INF</outputDirectory>
                  <resources>
                    <resource>
                      <directory>${legal.dir}</directory>
                      <includes>
                        <include>LICENSE</include>
                        <include>NOTICE</include>
                      </includes>
                      <filtering>false</filtering>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
