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

    <!--

        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.geronimo.framework.features</groupId>
        <artifactId>features</artifactId>
        <version>4.0.0-SNAPSHOT</version>
    </parent>

    <artifactId>client</artifactId>
    <packaging>kar</packaging>
    <name>Geronimo Assemblies :: Karaf App Client Framework</name>

    <!-- from karaf root pom -->
    <properties>        
        <aopalliance.version>1.0_4</aopalliance.version>
        <cglib.version>2.1_3_6</cglib.version>
        <commons.logging.version>1.1.1</commons.logging.version>
        <depends.maven.plugin.version>1.0</depends.maven.plugin.version>
        <easymock.version>2.4</easymock.version>        
        <felix.compendium.version>1.2.0</felix.compendium.version>        
        <felix.fileinstall.version>3.1.10</felix.fileinstall.version>        
        <felix.osgi.version>1.4.0</felix.osgi.version>
        <felix.plugin.version>2.1.0</felix.plugin.version>
        <felix.prefs.version>1.0.4</felix.prefs.version>
        <felix.metatype.version>1.0.2</felix.metatype.version>        
        <jansi.version>1.2</jansi.version>
        <junit.version>4.7_1</junit.version>
        <log4j.version>1.2.16</log4j.version>
        <maven.version>2.0.9</maven.version>
        <mina.version>2.0.0-RC1</mina.version>
        <pax.exam.version>1.2.2</pax.exam.version>
        <pax.runner.version>1.5.0</pax.runner.version>        
        <sshd.version>0.5.0</sshd.version>
    </properties>
    
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.eventadmin</artifactId>
                <version>${felix.eventadmin.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.prefs</artifactId>
                <version>${felix.prefs.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-codec</groupId>
                        <artifactId>commons-codec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.felix</groupId>
                        <artifactId>org.osgi.compendium</artifactId>
                    </exclusion>
               </exclusions>
            </dependency>
            
            <dependency>
                <groupId>org.apache.geronimo.framework</groupId>
                <artifactId>geronimo-rmi-loader</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.geronimo.framework</groupId>
                <artifactId>geronimo-hook</artifactId>
                <version>${project.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <dependencies>
        <!--<dependency>-->
            <!--<groupId>org.apache.karaf.scr</groupId>-->
            <!--<artifactId>org.apache.karaf.scr.feature</artifactId>-->
            <!--<version>3.0.0-SNAPSHOT</version>-->
            <!--<type>xml</type>-->
            <!--<classifier>features</classifier>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>org.apache.felix</groupId>-->
            <!--<artifactId>org.apache.felix.prefs</artifactId>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>org.apache.geronimo.framework</groupId>-->
            <!--<artifactId>geronimo-pax-logging</artifactId>-->
            <!--<version>${project.version}</version>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>org.apache.geronimo.specs</groupId>-->
            <!--<artifactId>geronimo-servlet_3.0_spec</artifactId>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>org.apache.geronimo.framework</groupId>-->
            <!--<artifactId>geronimo-main</artifactId>-->
            <!--<version>${project.version}</version>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>org.apache.geronimo.framework</groupId>-->
            <!--<artifactId>geronimo-cli</artifactId>-->
            <!--<version>${project.version}</version>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>org.apache.geronimo.framework</groupId>-->
            <!--<artifactId>geronimo-deploy-jsr88-full</artifactId>-->
            <!--<version>${project.version}</version>-->
            <!--<scope>runtime</scope>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>org.apache.geronimo.framework</groupId>-->
            <!--<artifactId>geronimo-shell-base</artifactId>-->
            <!--<version>${project.version}</version>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>org.apache.geronimo.framework</groupId>-->
            <!--<artifactId>geronimo-shell-diagnose</artifactId>-->
            <!--<version>${project.version}</version>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>org.apache.geronimo.framework</groupId>-->
            <!--<artifactId>geronimo-shell</artifactId>-->
            <!--<version>${version}</version>-->
        <!--</dependency>-->
        <!--&lt;!&ndash;agent &ndash;&gt;-->
        <!--<dependency>-->
            <!--<groupId>org.apache.geronimo.framework</groupId>-->
            <!--<artifactId>geronimo-transformer</artifactId>-->
            <!--<version>${project.version}</version>-->
            <!--<scope>runtime</scope>-->
        <!--</dependency>-->
        <!--&lt;!&ndash; endorsed &ndash;&gt;-->
        <!--<dependency>-->
            <!--<groupId>org.apache.yoko</groupId>-->
            <!--<artifactId>yoko-spec-corba</artifactId>-->
            <!--<scope>runtime</scope>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>org.apache.yoko</groupId>-->
            <!--<artifactId>yoko-rmi-spec</artifactId>-->
            <!--<scope>runtime</scope>-->
        <!--</dependency>-->

        <!--&lt;!&ndash; TODO osgi these should probably be in a separate deployer feature &ndash;&gt;-->
        <!--<dependency>-->
            <!--<groupId>org.apache.servicemix.bundles</groupId>-->
            <!--<artifactId>org.apache.servicemix.bundles.xmlbeans</artifactId>-->
        <!--</dependency>-->

        <!--<dependency>-->
            <!--<groupId>org.apache.geronimo.framework</groupId>-->
            <!--<artifactId>geronimo-deployment</artifactId>-->
            <!--<version>${project.version}</version>-->
        <!--</dependency>-->

        <!--<dependency>-->
            <!--<groupId>org.apache.geronimo.framework</groupId>-->
            <!--<artifactId>geronimo-service-builder</artifactId>-->
            <!--<version>${project.version}</version>-->
        <!--</dependency>-->

    </dependencies>
    <build>
        <!--<resources>-->
            <!--<resource>-->
                <!--<directory>${pom.basedir}/src/main/filtered-resources</directory>-->
                <!--<filtering>true</filtering>-->
                <!--<includes>-->
                    <!--<include>**/*</include>-->
                <!--</includes>-->
            <!--</resource>-->
        <!--</resources>-->
        <filters>
            <filter>target/filter.txt</filter>
        </filters>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.2</version>
                    <dependencies>
                        <dependency>
                            <groupId>ant-contrib</groupId>
                            <artifactId>ant-contrib</artifactId>
                            <version>1.0b3</version>
                        </dependency>
                        <dependency>
                            <groupId>ant</groupId>
                            <artifactId>ant-optional</artifactId>
                            <version>1.5.3-1</version>
                        </dependency>
                    </dependencies>
                </plugin>

            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <id>create-prop</id>
                        <phase>generate-resources</phase>
                        <configuration>
                            <tasks>
                                <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="maven.plugin.classpath" />
                                <property name="ant.regexp.regexpimpl" value="org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp" />
                                <property name="mv" value="${project.version}" />
                                <echo message="Maven version: ${mv}" />
                                <propertyregex property="ov.p1" input="${mv}" regexp="(\d+)(?:\.(\d+)(?:\.(\d+))?)?(?:[^a-zA-Z0-9](.*))?" replace="\1" defaultValue="0" />
                                <propertyregex property="ov.p2" input="${mv}" regexp="(\d+)(?:\.(\d+)(?:\.(\d+))?)?(?:[^a-zA-Z0-9](.*))?" replace=".\2" defaultValue=".0" />
                                <propertyregex property="ov.p3" input="${mv}" regexp="(\d+)(?:\.(\d+)(?:\.(\d+))?)?(?:[^a-zA-Z0-9](.*))?" replace=".\3" defaultValue=".0" />
                                <propertyregex property="ov.p4" input="${mv}" regexp="(\d+)(?:\.(\d+)(?:\.(\d+))?)?(?:[^a-zA-Z0-9](.*))?" replace=".\4" defaultValue="" />
                                <propertyregex property="ov.p1a" input="${ov.p1}" regexp="(.+)" replace="\1" defaultValue="0" />
                                <propertyregex property="ov.p2a" input="${ov.p2}" regexp="(\..+)" replace="\1" defaultValue=".0" />
                                <propertyregex property="ov.p3a" input="${ov.p3}" regexp="(\..+)" replace="\1" defaultValue=".0" />
                                <propertyregex property="ov.p4a" input="${ov.p4}" regexp="(\..+)" replace="\1" defaultValue="" />
                                <property name="ov" value="${ov.p1a}${ov.p2a}${ov.p3a}${ov.p4a}" />
                                <echo message="OSGi version: ${ov}" />
                                <mkdir dir="target" />
                                <echo message="karaf.osgi.version = ${ov}" file="target/filter.txt" />
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                    <!--<execution>-->
                        <!--<id>install-underlay</id>-->
                        <!--<phase>process-classes</phase>-->
                        <!--<goals>-->
                            <!--<goal>run</goal>-->
                        <!--</goals>-->
                        <!--<configuration>-->
                            <!--<tasks>-->
                                <!--<mkdir dir="${project.build.outputDirectory}" />-->
                                <!--<copy todir="${project.build.outputDirectory}">-->
                                    <!--<fileset dir="${project.build.directory}/${project.build.finalName}">-->
                                        <!--<include name="**" />-->
                                    <!--</fileset>-->
                                <!--</copy>-->
                            <!--</tasks>-->
                        <!--</configuration>-->
                    <!--</execution>-->
                </executions>
            </plugin>
            <!--<plugin>-->
                <!--<groupId>org.apache.maven.plugins</groupId>-->
                <!--<artifactId>maven-resources-plugin</artifactId>-->
                <!--<executions>-->
                    <!--<execution>-->
                        <!--<id>filter</id>-->
                        <!--<phase>generate-resources</phase>-->
                        <!--<goals>-->
                            <!--<goal>resources</goal>-->
                        <!--</goals>-->
                    <!--</execution>-->
                <!--</executions>-->
            <!--</plugin>-->

            <!-- these might be the "bootstrap" jars? -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>unpack</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.apache.karaf.shell</groupId>
                                    <artifactId>org.apache.karaf.shell.console</artifactId>
                                    <outputDirectory>target/native</outputDirectory>
                                    <includes>META-INF/native/**/*</includes>
                                </artifactItem>
                            </artifactItems>                                
                        </configuration>
                    </execution>                        
                    <!--<execution>-->
                        <!--<id>copy</id>-->
                        <!--<phase>generate-resources</phase>-->
                        <!--<goals>-->
                            <!--<goal>copy</goal>-->
                        <!--</goals>-->
                        <!--<configuration>-->
                            <!--<artifactItems>-->
<!--&lt;!&ndash;  in karaf framework-->
                                <!--<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>-->
<!--&ndash;&gt;-->
                                <!--<artifactItem>-->
                                    <!--<groupId>org.apache.geronimo.framework</groupId>-->
                                    <!--<artifactId>geronimo-rmi-loader</artifactId>-->
                                    <!--<outputDirectory>target/classes/resources/lib</outputDirectory>-->
                                    <!--<destFileName>geronimo-rmi-loader.jar</destFileName>-->
                                <!--</artifactItem>-->
                                <!--<artifactItem>-->
                                    <!--<groupId>org.apache.geronimo.framework</groupId>-->
                                    <!--<artifactId>geronimo-main</artifactId>-->
                                    <!--<outputDirectory>target/classes/resources/lib</outputDirectory>-->
                                    <!--<destFileName>geronimo-main.jar</destFileName>-->
                                <!--</artifactItem>-->
                                <!--<artifactItem>-->
                                    <!--<groupId>org.apache.geronimo.framework</groupId>-->
                                    <!--<artifactId>geronimo-cli</artifactId>-->
                                    <!--<outputDirectory>target/classes/resources/lib</outputDirectory>-->
                                    <!--<destFileName>geronimo-cli.jar</destFileName>-->
                                <!--</artifactItem>-->
                                <!--<artifactItem>-->
                                    <!--<groupId>org.apache.geronimo.framework</groupId>-->
                                    <!--<artifactId>geronimo-hook</artifactId>-->
                                    <!--<outputDirectory>target/classes/resources/lib</outputDirectory>-->
                                    <!--<destFileName>geronimo-hook.jar</destFileName>-->
                                <!--</artifactItem>-->
                                <!--<artifactItem>-->
                                    <!--<groupId>org.apache.geronimo.framework</groupId>-->
                                    <!--<artifactId>geronimo-deploy-jsr88-full</artifactId>-->
                                    <!--<outputDirectory>target/classes/resources/jsr88</outputDirectory>-->
                                    <!--<destFileName>geronimo-deploy-jsr88-full.jar</destFileName>-->
                                <!--</artifactItem>-->
                                <!--<artifactItem>-->
                                    <!--<groupId>commons-cli</groupId>-->
                                    <!--<artifactId>commons-cli</artifactId>-->
                                    <!--<outputDirectory>target/classes/resources/lib</outputDirectory>-->
                                    <!--<destFileName>commons-cli.jar</destFileName>-->
                                <!--</artifactItem>-->
                                <!--<artifactItem>-->
                                    <!--<groupId>org.apache.yoko</groupId>-->
                                    <!--<artifactId>yoko-spec-corba</artifactId>-->
                                    <!--<outputDirectory>target/classes/resources/lib/endorsed</outputDirectory>-->
                                    <!--<destFileName>yoko-spec-corba.jar</destFileName>-->
                                <!--</artifactItem>-->
                                <!--<artifactItem>-->
                                    <!--<groupId>org.apache.yoko</groupId>-->
                                    <!--<artifactId>yoko-rmi-spec</artifactId>-->
                                    <!--<outputDirectory>target/classes/resources/lib/endorsed</outputDirectory>-->
                                    <!--<destFileName>yoko-rmi-spec.jar</destFileName>-->
                                <!--</artifactItem>-->
                                <!--<artifactItem>-->
                                    <!--<groupId>org.apache.geronimo.framework</groupId>-->
                                    <!--<artifactId>geronimo-transformer</artifactId>-->
                                    <!--<outputDirectory>target/classes/resources/lib/agent</outputDirectory>-->
                                    <!--<destFileName>transformer.jar</destFileName>-->
                                <!--</artifactItem>-->
                            <!--</artifactItems>-->
                        <!--</configuration>-->
                    <!--</execution>-->
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.karaf.tooling</groupId>
                <artifactId>karaf-maven-plugin</artifactId>
                <configuration>
                    <startLevel>50</startLevel>
                    <aggregateFeatures>true</aggregateFeatures>
                    <checkDependencyChange>true</checkDependencyChange>
                    <warnOnDependencyChange>true</warnOnDependencyChange>
                    <logDependencyChanges>true</logDependencyChanges>
                    <overwriteChangedDependencies>true</overwriteChangedDependencies>
                </configuration>
            </plugin>

        </plugins>
    </build>

</project>
