<?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">

    <!--

        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.
    -->

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.karaf.assemblies.features</groupId>
        <artifactId>features</artifactId>
        <version>4.0.0.M2</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <groupId>org.apache.karaf.features</groupId>
    <artifactId>framework</artifactId>
    <packaging>pom</packaging>
    <!--<packaging>kar</packaging>-->
    <name>Apache Karaf :: Assemblies :: Features :: Framework</name>

    <properties>
        <appendedResourcesDirectory>${basedir}/../../../etc/appended-resources</appendedResourcesDirectory>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.karaf</groupId>
            <artifactId>org.apache.karaf.main</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.karaf</groupId>
            <artifactId>org.apache.karaf.exception</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.karaf</groupId>
            <artifactId>org.apache.karaf.client</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.karaf.jaas</groupId>
            <artifactId>org.apache.karaf.jaas.boot</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.karaf.diagnostic</groupId>
            <artifactId>org.apache.karaf.diagnostic.boot</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.eclipse</groupId>
            <artifactId>osgi</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.framework</artifactId>
            <scope>runtime</scope>
        </dependency>

        <!-- Client deps -->
        <dependency>
            <groupId>jline</groupId>
            <artifactId>jline</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jledit</groupId>
            <artifactId>core</artifactId>
        </dependency>

        <!-- listed in source feature.xml with explicit startlevel -->
        <dependency>
            <groupId>org.ops4j.pax.logging</groupId>
            <artifactId>pax-logging-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.ops4j.pax.logging</groupId>
            <artifactId>pax-logging-service</artifactId>
        </dependency>
        <dependency>
            <groupId>org.ops4j.pax.url</groupId>
            <artifactId>pax-url-aether</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.ops4j.pax.url</groupId>
                    <artifactId>pax-url-commons</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.eclipse.aether</groupId>
                    <artifactId>aether-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.eclipse.aether</groupId>
                    <artifactId>aether-spi</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.eclipse.aether</groupId>
                    <artifactId>aether-util</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.eclipse.aether</groupId>
                    <artifactId>aether-impl</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.eclipse.aether</groupId>
                    <artifactId>aether-connector-basic</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.eclipse.aether</groupId>
                    <artifactId>aether-transport-wagon</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.maven</groupId>
                    <artifactId>maven-settings-builder</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.sonatype.plexus</groupId>
                    <artifactId>plexus-sec-dispatcher</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.sonatype.plexus</groupId>
                    <artifactId>plexus-cipher</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.fileinstall</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.configadmin</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.karaf.features</groupId>
            <artifactId>org.apache.karaf.features.core</artifactId>
        </dependency>

    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
                <filtering>false</filtering>
                <includes>
                    <include>**/*</include>
                </includes>
            </resource>
            <resource>
                <directory>${project.basedir}/src/main/filtered-resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/*</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <useDefaultDelimiters>false</useDefaultDelimiters>
                    <delimiters>
                        <delimiter>${*}</delimiter>
                    </delimiters>
                </configuration>
                <executions>
                    <execution>
                        <id>filter</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>resources</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.apache.karaf</groupId>
                                    <artifactId>org.apache.karaf.main</artifactId>
                                    <outputDirectory>target/classes/resources/lib</outputDirectory>
                                    <destFileName>karaf.jar</destFileName>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.osgi</groupId>
                                    <artifactId>org.osgi.core</artifactId>
                                    <outputDirectory>target/classes/resources/lib</outputDirectory>
                                    <destFileName>karaf-org.osgi.core.jar</destFileName>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.karaf</groupId>
                                    <artifactId>org.apache.karaf.client</artifactId>
                                    <outputDirectory>target/classes/resources/lib/bin</outputDirectory>
                                    <destFileName>karaf-client.jar</destFileName>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.karaf.jaas</groupId>
                                    <artifactId>org.apache.karaf.jaas.boot</artifactId>
                                    <outputDirectory>target/classes/resources/lib</outputDirectory>
                                    <destFileName>karaf-jaas-boot.jar</destFileName>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.karaf.management</groupId>
                                    <artifactId>org.apache.karaf.management.boot</artifactId>
                                    <outputDirectory>target/classes/resources/lib</outputDirectory>
                                    <destFileName>karaf-jmx-boot.jar</destFileName>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.karaf.diagnostic</groupId>
                                    <artifactId>org.apache.karaf.diagnostic.boot</artifactId>
                                    <outputDirectory>target/classes/resources/lib</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.karaf</groupId>
                                    <artifactId>org.apache.karaf.exception</artifactId>
                                    <outputDirectory>target/classes/resources/lib/endorsed</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.servicemix.specs</groupId>
                                    <artifactId>org.apache.servicemix.specs.activator</artifactId>
                                    <outputDirectory>target/classes/resources/lib</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.servicemix.specs</groupId>
                                    <artifactId>org.apache.servicemix.specs.locator</artifactId>
                                    <outputDirectory>target/classes/resources/lib</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.servicemix.specs</groupId>
                                    <artifactId>org.apache.servicemix.specs.jaxp-api-1.4</artifactId>
                                    <outputDirectory>target/classes/resources/lib/endorsed</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.servicemix.specs</groupId>
                                    <artifactId>org.apache.servicemix.specs.jaxb-api-2.2</artifactId>
                                    <outputDirectory>target/classes/resources/lib/endorsed</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.servicemix.specs</groupId>
                                    <artifactId>org.apache.servicemix.specs.jaxws-api-2.2</artifactId>
                                    <outputDirectory>target/classes/resources/lib/endorsed</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.servicemix.specs</groupId>
                                    <artifactId>org.apache.servicemix.specs.saaj-api-1.3</artifactId>
                                    <outputDirectory>target/classes/resources/lib/endorsed</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.servicemix.specs</groupId>
                                    <artifactId>org.apache.servicemix.specs.activation-api-1.1</artifactId>
                                    <outputDirectory>target/classes/resources/lib/endorsed</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.servicemix.specs</groupId>
                                    <artifactId>org.apache.servicemix.specs.stax-api-1.2</artifactId>
                                    <outputDirectory>target/classes/resources/lib/endorsed</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>xerces</groupId>
                                    <artifactId>xercesImpl</artifactId>
                                    <outputDirectory>target/classes/resources/lib/endorsed</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.eclipse</groupId>
                                    <artifactId>osgi</artifactId>
                                    <outputDirectory>target/classes/resources/system/org/eclipse/osgi/${equinox.version}</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.apache.felix</groupId>
                                    <artifactId>org.apache.felix.framework</artifactId>
                                    <outputDirectory>target/classes/resources/system/org/apache/felix/org.apache.felix.framework/${felix.framework.version}</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>jline</groupId>
                                    <artifactId>jline</artifactId>
                                    <outputDirectory>target/classes/resources/system/jline/jline/${jline.version}</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.slf4j</groupId>
                                    <artifactId>slf4j-api</artifactId>
                                    <outputDirectory>target/classes/resources/system/org/slf4j/slf4j-api/${slf4j.version}</outputDirectory>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.karaf.tooling</groupId>
                <artifactId>karaf-maven-plugin</artifactId>
                <version>${project.version}</version>
                <configuration>
                    <startLevel>30</startLevel>
                    <!--<checkDependencyChange>true</checkDependencyChange>-->
                    <!--<overwriteChangedDependencies>true</overwriteChangedDependencies>-->
                    <!--<failOnDependencyChange>false</failOnDependencyChange>-->
                </configuration>
                <executions>
                    <execution>
                        <id>compile</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>features-generate-descriptor</goal>
                        </goals>
                        <configuration>
                            <excludedArtifactIds>
                                <excludedArtifactId>slf4j-api</excludedArtifactId>
                                <excludedArtifactId>mina-core</excludedArtifactId>
                                <excludedArtifactId>sshd-core</excludedArtifactId>
                                <excludedArtifactId>jline</excludedArtifactId>
                                <excludedArtifactId>core</excludedArtifactId>
                                <excludedArtifactId>org.apache.karaf.region.core</excludedArtifactId>
                                <excludedArtifactId>org.eclipse.equinox.region</excludedArtifactId>
                            </excludedArtifactIds>
                        </configuration>
                    </execution>
                    <execution>
                        <id>package</id>
                        <goals>
                            <goal>features-create-kar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-artifacts</id>
                        <phase>package</phase>
                        <goals>
                            <goal>attach-artifact</goal>
                        </goals>
                        <configuration>
                            <artifacts>
                                <artifact>
                                    <file>target/feature/feature.xml</file>
                                    <classifier>features</classifier>
                                    <type>xml</type>
                                </artifact>
                            </artifacts>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>
