<?xml version="1.0" encoding="ISO-8859-1"?>
    <!--
        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/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.apache.sling</groupId>
        <artifactId>sling</artifactId>
        <version>35</version>
        <relativePath />
    </parent>

    <artifactId>org.apache.sling.starter</artifactId>
    <version>12-SNAPSHOT</version>

    <name>Apache Sling Starter Application</name>
    <description>
        The Sling Starter demo application.
    </description>

    <scm>
        <connection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-starter.git</connection>
        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-starter.git</developerConnection>
        <url>https://gitbox.apache.org/repos/asf?p=sling-org-apache-sling-starter.git</url>
      <tag>HEAD</tag>
  </scm>

    <properties>
        <sling.java.version>8</sling.java.version>
        <IT.expected.bundles.count>126</IT.expected.bundles.count>

        <!-- versions to be replaced in the feature files -->
        <jackrabbit.version>2.20.0</jackrabbit.version>
        <oak.version>1.32.0</oak.version>
        <slf4j.version>1.7.25</slf4j.version>
        <composum.nodes.version>1.12.0</composum.nodes.version>
        <jackson.version>2.11.1</jackson.version>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>ianal-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>verify-legal-files</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <configuration>
                    <filesets>
                        <fileset>
                            <directory>${basedir}</directory>
                            <includes>
                                <include>sling/**</include>
                                <include>coverage.ec</include>
                                <include>launcher/**</include>
                            </includes>
                        </fileset>
                    </filesets>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.sling</groupId>
                <artifactId>slingfeature-maven-plugin</artifactId>
                <version>1.3.16</version>
                <extensions>true</extensions>
                <configuration>
                    <replacePropertyVariables>jackrabbit.version,oak.version,slf4j.version,composum.nodes.version,jackson.version</replacePropertyVariables>
                    <framework>
                        <groupId>org.apache.felix</groupId>
                        <artifactId>org.apache.felix.framework</artifactId>
                        <version>6.0.3</version>
                    </framework>
                    <aggregates>
                        <aggregate>
                            <classifier>oak_tar</classifier>
                            <filesInclude>*.json</filesInclude>
                            <filesInclude>oak/*.json</filesInclude>
                            <filesInclude>oak/persistence/oak_persistence_sns.json</filesInclude>
                            <filesInclude>app/*.json</filesInclude>
                            <title>Sling With Oak Segment NS Persistence</title>
                        </aggregate>
                        <aggregate>
                            <classifier>oak_mongo</classifier>
                            <filesInclude>*.json</filesInclude>
                            <filesInclude>oak/*.json</filesInclude>
                            <filesInclude>oak/persistence/oak_persistence_mongods.json</filesInclude>
                            <filesInclude>app/*.json</filesInclude>
                            <title>Sling With Oak Document NS Mongo Persistence</title>
                        </aggregate>
                        <aggregate>
                            <classifier>nosample_base</classifier>
                            <filesInclude>*.json</filesInclude>
                            <filesInclude>oak/*.json</filesInclude>
                            <title>Sling With No Samples and No Persistence</title>
                        </aggregate>
                    </aggregates>
                    <scans>
                        <scan>
                            <includeClassifier>oak_tar</includeClassifier>
                            <includeClassifier>oak_mongo</includeClassifier>
                            <includeClassifier>nosample_base</includeClassifier>
                        </scan>
                    </scans>
                    <archives>
                        <archive>
                            <classifier>oak_tar_far</classifier>
                            <includeClassifier>oak_tar</includeClassifier>
                        </archive>
                        <archive>
                            <classifier>oak_mongo_far</classifier>
                            <includeClassifier>oak_mongo</includeClassifier>
                        </archive>
                    </archives>                 
                </configuration>
                <executions>
                    <execution>
                        <id>aggregate-features</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>aggregate-features</goal>
                            <goal>analyse-features</goal>
                            <goal>attach-features</goal>
                            <goal>attach-featurearchives</goal>
                        </goals>
                    </execution>
               </executions>
            </plugin>
            <plugin>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>prepare-feature-launcher</id>
                        <goals>
                            <goal>get</goal>
                            <goal>copy</goal>
                        </goals>
                        <phase>package</phase>
                        <configuration>
                            <artifact>org.apache.sling:org.apache.sling.feature.launcher:1.1.6</artifact>
                            <stripVersion>true</stripVersion>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>

        <pluginManagement>
            <plugins>
                <plugin>
                    <!-- Extend RAT configuration from parent pom -->
                    <groupId>org.apache.rat</groupId>
                    <artifactId>apache-rat-plugin</artifactId>
                    <configuration>
                        <excludes combine.children="append">
                            <!-- Exclude sling instance -->
                            <exclude>sling/**</exclude>
                            <exclude>launcher/**</exclude>
                        </excludes>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.10</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.utils</artifactId>
            <version>1.11.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

