<?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.servicemix</groupId>
        <artifactId>service-engines</artifactId>
        <version>2013.01.0.redhat-610379</version>
    </parent>

    <groupId>org.apache.servicemix</groupId>
    <artifactId>servicemix-bean</artifactId>
    <packaging>jbi-component</packaging>
    <name>Apache ServiceMix :: Components :: Bean Service Engine</name>
    <description>
        The ServiceMix Bean component provides integration with beans (POJOs) with the JBI bus to make it easy to use POJOs to process JBI message exchanges. Like in an Message Driven Bean in J2EE a POJO will receive a message from the NMR and process it in any way it likes. Unlike in a JMS component where the coding is already done the Bean component gives the developer the freedom to create any type of message handling but it must be hand coded all the way.
    </description>

    <properties>
        <servicemix.osgi.import>
            !org.apache.servicemix.bean*,
            !META-INF.services.org.apache.xbean.spring.http.servicemix.apache.org.bean,
            org.apache.commons.jexl*;resolution:=optional,
            org.apache.servicemix;resolution:=optional,
            org.apache.servicemix.client*;resolution:=optional,
            org.apache.servicemix.common,
            org.apache.servicemix.common.osgi,
            org.apache.servicemix.components*;resolution:=optional,
            org.apache.servicemix.executors.impl,
            org.apache.servicemix.expression*;resolution:=optional,
            org.apache.servicemix.jbi*;resolution:=optional,
            org.apache.xbean.spring.context.v2,
            org.springframework.beans.factory.xml,
            sun.misc;resolution:=optional,
            *
        </servicemix.osgi.import>
        <servicemix.osgi.export>
            org.apache.servicemix.bean*;version=${project.version},
            META-INF.services.org.apache.xbean.spring.http.servicemix.apache.org.bean
        </servicemix.osgi.export>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-jexl</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jencks</groupId>
            <artifactId>jencks</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-annotation_1.0_spec</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.servicemix</groupId>
            <artifactId>servicemix-shared</artifactId>
        </dependency>

        <!-- provided -->
        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jta_1.1_spec</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.servicemix.specs</groupId>
            <artifactId>org.apache.servicemix.specs.jbi-api-1.0</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <scope>provided</scope>
        </dependency>

        <!-- test -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.servicemix</groupId>
            <artifactId>servicemix-core</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-jmx</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.jencks</groupId>
                    <artifactId>jencks</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.jencks</groupId>
                    <artifactId>jencks-parent</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- documentation -->
        <dependency>
            <groupId>org.apache.servicemix</groupId>
            <artifactId>servicemix-common</artifactId>
            <classifier>sources</classifier>
        </dependency>
    </dependencies>

    <build>
        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
                <filtering>true</filtering>
            </testResource>
        </testResources>
        <plugins>
            <plugin>
                <groupId>org.apache.servicemix.tooling</groupId>
                <artifactId>jbi-maven-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <type>service-engine</type>
                    <component>org.apache.servicemix.bean.BeanComponent</component>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.xbean</groupId>
                <artifactId>maven-xbean-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>mapping</goal>
                        </goals>
                        <configuration>
                            <namespace>http://servicemix.apache.org/bean/1.0</namespace>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <workingDirectory>${basedir}</workingDirectory>
                    <includes>
                        <include>**/*Test.*</include>
                    </includes>
                    <excludes>
                        <!-- exclude abstract test cases -->
                        <exclude>**/Abstract*.*</exclude>

                        <!--  TODO -->
                        <exclude>**/AnnotatedBeanEndpointTest.*</exclude>
                        <exclude>**/ConsumerBeanTest.*</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <!-- exclude generated DefaultBootstrap class from Cobertura reports -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
                <configuration>
                    <instrumentation>
                        <excludes>
                            <exclude>org/apache/servicemix/common/DefaultBootstrap.class</exclude>
                        </excludes>
                    </instrumentation>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
