<?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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.mule</groupId>
        <artifactId>mule</artifactId>
        <version>2.0.1</version>
    </parent>
    <artifactId>mule-core</artifactId>
    <!--<packaging>bundle</packaging>-->
    <name>Mule Core</name>
    <description>Mule server and core classes</description>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
        </dependency>
        <!-- UUID generator, only called directly by mule-core -->
        <dependency>
            <groupId>org.safehaus.jug</groupId>
            <artifactId>jug</artifactId>
            <version>2.0.0</version>
            <classifier>asl</classifier>
        </dependency>
        <!-- Needed for Log4jNotificationLoggerAgent -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
        </dependency>

        <dependency>
            <groupId>backport-util-concurrent</groupId>
            <artifactId>backport-util-concurrent</artifactId>
            <version>3.1</version>
        </dependency>
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.7.0</version>
            <exclusions>
                <!-- we like slf4j -->
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- TODO MULE-1947 Remove this since command-line parsing is limited to mule-module-boot -->
        <dependency>
            <groupId>commons-cli</groupId>
            <artifactId>commons-cli</artifactId>
            <version>1.0</version>
            <exclusions>
                <!-- we like slf4j -->
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2</version>
        </dependency>
        <dependency>
            <groupId>commons-discovery</groupId>
            <artifactId>commons-discovery</artifactId>
            <version>0.2</version>
            <exclusions>
                <!-- we like slf4j -->
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.1</version>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.3</version>
        </dependency>
        <!--
            Bind log4j statically, but preserve
            the clogging API compatibility.
         -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl104-over-slf4j</artifactId>
            <version>1.4.3</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.4.3</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.4.3</version>
        </dependency>
        <!-- Used by mules default component pooling mechanism -->
        <dependency>
            <groupId>commons-pool</groupId>
            <artifactId>commons-pool</artifactId>
            <version>1.4</version>
        </dependency>
        <!-- These are used by the TCK, which will hopefully be in its own project some day -->
        <!-- Unit tests -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
        <dependency>
            <groupId>mockobjects</groupId>
            <artifactId>mockobjects-core</artifactId>
            <version>0.09</version>
        </dependency>
    </dependencies>

    <profiles>
        <profile>
            <id>osgi</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.felix</groupId>
                        <artifactId>maven-bundle-plugin</artifactId>
                        <configuration>
                            <instructions>
                                <!-- TODO Limit exports to the minimum necessary,
                                     in particular "impl" packages should not be exported. -->
                                <Export-Package>
                                    org.mule,
                                    org.mule.components.*,
                                    org.mule.config.*,
                                    org.mule.impl,
                                    org.mule.endpoint,
                                    org.mule.container,
                                    org.mule.work,
                                    org.mule.jndi,
                                    org.mule.message,
                                    org.mule.model.*,
                                    org.mule.security.*,
                                    org.mule.internal.*,
                                    org.mule.interceptors,
                                    org.mule.management.stats.*,
                                    org.mule.model,
                                    org.mule.persistence.*,
                                    org.mule.transport.*,
                                    org.mule.registry.*,
                                    org.mule.registry.metadata,
                                    org.mule.routing.*,
                                    org.mule.transaction.*,
                                    org.mule.transformer.*,
                                    org.mule.api.*,
                                    org.mule.util.*
                                </Export-Package>
                                <Private-Package>
                                    org.mule.*,
                                    org.apache.commons.cli.*,
                                    org.safehaus.uuid.*
                                </Private-Package>
                            </instructions>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>

