<?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/xsd/maven-4.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.feature.cpconverter</artifactId>
  <version>1.0.2</version>

  <name>Apache Sling Content Package to Feature Model converter</name>
  <description>Content Package to Feature Model converter tools for Apache Sling</description>

  <properties>
    <sling.java.version>8</sling.java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <picocli.version>3.6.0</picocli.version>
    <commons-io.version>2.6</commons-io.version>
    <org.apache.sling.feature.version>1.1.0</org.apache.sling.feature.version>
    <org.apache.sling.feature.io.version>1.1.0</org.apache.sling.feature.io.version>
    <org.apache.felix.converter.version>1.0.8</org.apache.felix.converter.version>
    <org.apache.felix.configurator.version>1.0.10</org.apache.felix.configurator.version>
    <org.apache.felix.utils.version>1.11.2</org.apache.felix.utils.version>
    <geronimo-json_1.0_spec.version>1.0-alpha-1</geronimo-json_1.0_spec.version>
    <johnzon-core.version>1.0.2</johnzon-core.version>
    <org.osgi.annotation.versioning.version>1.0.0</org.osgi.annotation.versioning.version>
    <osgi.core.version>6.0.0</osgi.core.version>
    <org.apache.felix.configadmin.version>1.9.16</org.apache.felix.configadmin.version>
    <org.apache.jackrabbit.vault.version>3.2.8</org.apache.jackrabbit.vault.version>
    <jackrabbit-api.version>2.18.4</jackrabbit-api.version>
    <jackrabbit-spi-commons.version>2.18.4</jackrabbit-spi-commons.version>
    <plexus-archiver.version>4.1.0</plexus-archiver.version>
    <plexus-utils.version>3.2.1</plexus-utils.version>
    <plexus-io.version>3.1.1</plexus-io.version>
    <plexus-container-default.version>2.0.0</plexus-container-default.version>
    <maven-model.version>3.6.3</maven-model.version>
    <mockito-core.version>3.2.0</mockito-core.version>
    <org.apache.sling.repoinit.parser.version>1.3.2</org.apache.sling.repoinit.parser.version>
    <license-maven-plugin.version>1.16</license-maven-plugin.version>
    <appassembler-maven-plugin.version>2.0.0</appassembler-maven-plugin.version>
  </properties>

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

  <dependencies>
    <!--
     | Logging
    -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <scope>provided</scope>
    </dependency>

    <!--
     | CLI
    -->
    <dependency>
      <groupId>info.picocli</groupId>
      <artifactId>picocli</artifactId>
      <version>${picocli.version}</version>
      <scope>provided</scope>
    </dependency>

    <!--
     | Content-Package
    -->
    <dependency>
      <groupId>org.apache.jackrabbit.vault</groupId>
      <artifactId>org.apache.jackrabbit.vault</artifactId>
      <version>${org.apache.jackrabbit.vault.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.jackrabbit</groupId>
      <artifactId>jackrabbit-spi-commons</artifactId>
      <version>${jackrabbit-spi-commons.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.jcr</groupId>
      <artifactId>jcr</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>${commons-io.version}</version>
      <scope>provided</scope>
    </dependency>

    <!--
     | Sling Feature Model libraries
    -->
    <dependency>
      <groupId>org.apache.sling</groupId>
      <artifactId>org.apache.sling.feature</artifactId>
      <version>${org.apache.sling.feature.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.sling</groupId>
      <artifactId>org.apache.sling.feature.io</artifactId>
      <version>${org.apache.sling.feature.io.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.converter</artifactId>
      <version>${org.apache.felix.converter.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.configurator</artifactId>
      <version>${org.apache.felix.configurator.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.utils</artifactId>
      <version>${org.apache.felix.utils.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-json_1.0_spec</artifactId>
      <version>${geronimo-json_1.0_spec.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.johnzon</groupId>
      <artifactId>johnzon-core</artifactId>
      <version>${johnzon-core.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.annotation.versioning</artifactId>
      <version>${org.osgi.annotation.versioning.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>osgi.core</artifactId>
      <version>${osgi.core.version}</version>
      <scope>compile</scope>
    </dependency>

    <!--
     | Handle .config files
    -->
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.configadmin</artifactId>
      <version>${org.apache.felix.configadmin.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.jackrabbit</groupId>
      <artifactId>jackrabbit-api</artifactId>
      <version>${jackrabbit-api.version}</version>
      <scope>provided</scope>
    </dependency>

    <!--
     | repackage
    -->
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-archiver</artifactId>
      <version>${plexus-archiver.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-utils</artifactId>
      <version>${plexus-utils.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-io</artifactId>
      <version>${plexus-io.version}</version>
      <scope>provided</scope>
    </dependency>
    <!--
     | avoid classloading issue
    -->
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-container-default</artifactId>
      <version>${plexus-container-default.version}</version>
      <scope>provided</scope>
    </dependency>

    <!--
     | POM model
    -->
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-model</artifactId>
      <version>${maven-model.version}</version>
      <scope>provided</scope>
    </dependency>

    <!--
     | Test only dependencies
    -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <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.repoinit.parser</artifactId>
      <version>${org.apache.sling.repoinit.parser.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
          <configuration>
          <excludes>
            <exclude>src/main/resources/META-INF/services/org.apache.sling.feature.cpconverter.handlers.EntryHandler</exclude>
            <exclude>src/main/legal/NOTICE-with-deps</exclude>
          </excludes>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <version>${license-maven-plugin.version}</version>
        <executions>
          <execution>
            <id>add-third-party</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>add-third-party</goal>
            </goals>
            <configuration>
              <fileTemplate>${basedir}/src/main/legal/LICENSE-with-deps</fileTemplate>
              <thirdPartyFilename>LICENSE-with-deps</thirdPartyFilename>
              <sortArtifactByName>true</sortArtifactByName>
              <excludedScopes>test</excludedScopes>
              <licenseMerges>
                <licenseMerge>The Apache Software License, Version 2.0|Apache License, Version 2.0|Apache Public License 2.0</licenseMerge>
              </licenseMerges>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>appassembler-maven-plugin</artifactId>
        <version>${appassembler-maven-plugin.version}</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>assemble</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <repositoryLayout>flat</repositoryLayout>
          <repositoryName>lib</repositoryName>
          <useWildcardClassPath>true</useWildcardClassPath>
          <extraJvmArguments>-Dproject.artifactId=${project.artifactId} -Dproject.version=${project.version} -Dbuild.timestamp=${maven.build.timestamp} -Duser.timezone=UTC -Dfile.encoding=UTF-8</extraJvmArguments>
          <defaultJvmSettings>-Xms500m -Xmx500m -XX:PermSize=128m -XX:-UseGCOverheadLimit</defaultJvmSettings>
          <licenseHeaderFile>${basedir}/src/main/legal/license-header</licenseHeaderFile>
          <programs>
            <program>
              <mainClass>org.apache.sling.feature.cpconverter.cli.ContentPackage2FeatureModelConverterLauncher</mainClass>
              <name>cp2sf</name>
            </program>
          </programs>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <finalName>${project.build.finalName}</finalName>
          <tarLongFileMode>gnu</tarLongFileMode>
          <appendAssemblyId>false</appendAssemblyId>
          <descriptors>
            <descriptor>${basedir}/src/main/assembly/bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>
