<?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.modules</groupId>
        <artifactId>mule-modules</artifactId>
        <version>2.0.1</version>
    </parent>
    <artifactId>mule-module-scripting</artifactId>
    <!--<packaging>bundle</packaging>-->
    <name>JSR-223 Scripting</name>
    <description>Support for Scripting Mule Services and embedding Mule inside scripts</description>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${springVersion}</version>
        </dependency>
        <dependency>
            <groupId>org.mule</groupId>
            <artifactId>mule-core</artifactId>
            <version>${version}</version>
        </dependency>
        <dependency>
            <groupId>org.mule.modules</groupId>
            <artifactId>mule-module-spring-config</artifactId>
            <version>${version}</version>
            <scope>provided</scope>
        </dependency>
        <!-- need to explicitly mark javax.activation as provided -->
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- Used by ScriptConfigurationBuilder -->
        <dependency>
            <groupId>org.mule.modules</groupId>
            <artifactId>mule-module-builders</artifactId>
            <version>${version}</version>
        </dependency>
        <!-- required for the script-api and retrotranslated JSR-223 engines -->
        <dependency>
            <groupId>net.sf.retrotranslator</groupId>
            <artifactId>retrotranslator-runtime</artifactId>
            <version>1.2.1</version>
        </dependency>
        <dependency>
            <groupId>javax.script</groupId>
            <artifactId>script-api</artifactId>
            <version>1.0</version>
            <!-- we use our own retrotranslated version -->
            <classifier>jdk14</classifier>
        </dependency>
        <!-- This is the engine for JSR-223 compliance, not the actual implementation -->
        <dependency>
            <groupId>javax.script</groupId>
            <artifactId>groovy-engine</artifactId>
            <version>1.1</version>
            <!-- we use our own retrotranslated version -->
            <classifier>jdk14</classifier>
        </dependency>
        <!-- This is the actual language implementation -->
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>1.5.4</version>
            <exclusions>
                <!--  Exclude openejb-loader as it is not needed and there are currently version inconsistancies in openejb-core pom-->
                <exclusion>
                    <groupId>openejb</groupId>
                    <artifactId>openejb-loader</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.ant</groupId>
                    <artifactId>ant</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.ant</groupId>
                    <artifactId>ant-junit</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.ant</groupId>
                    <artifactId>ant-launcher</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>jline</groupId>
                    <artifactId>jline</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>axion</groupId>
                    <artifactId>axion</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>bsf</groupId>
                    <artifactId>bsf</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.tonicsystems</groupId>
                    <artifactId>jarjar</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>commons-lang</groupId>
                    <artifactId>commons-lang</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>commons-primitives</groupId>
                    <artifactId>commons-primitives</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>jmock</groupId>
                    <artifactId>jmock</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>jmock</groupId>
                    <artifactId>jmock-cglib</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>jsp-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>mx4j</groupId>
                    <artifactId>mx4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>nekohtml</groupId>
                    <artifactId>nekohtml</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>qdox</groupId>
                    <artifactId>qdox</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>qdox</groupId>
                    <artifactId>qdox</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>radeox</groupId>
                    <artifactId>radeox</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>radeox</groupId>
                    <artifactId>radeox-oro</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>regexp</groupId>
                    <artifactId>regexp</artifactId>
                </exclusion>
                <!-- no XML -->
                <exclusion>
                    <groupId>xml-apis</groupId>
                    <artifactId>xml-apis</artifactId>
                </exclusion>
                <!-- totally outdated and wrong too -->
                <exclusion>
                    <groupId>xerces</groupId>
                    <artifactId>xerces</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>xpp3</groupId>
                    <artifactId>xpp3</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>xstream</groupId>
                    <artifactId>xstream</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- Annoying: we need to override retrotranslated dependencies -->
        <dependency>
            <groupId>backport-util-concurrent</groupId>
            <artifactId>backport-util-concurrent</artifactId>
            <version>3.1</version>
        </dependency>
        <!-- Test dependencies -->
        <dependency>
            <groupId>org.mule.tests</groupId>
            <artifactId>mule-tests-functional</artifactId>
            <version>${version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mule.modules</groupId>
            <artifactId>mule-module-client</artifactId>
            <version>${version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mule.modules</groupId>
            <artifactId>mule-module-management</artifactId>
            <version>${version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mule.transports</groupId>
            <artifactId>mule-transport-vm</artifactId>
            <version>${version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mule.transports</groupId>
            <artifactId>mule-transport-tcp</artifactId>
            <version>${version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <profiles>
        <profile>
            <id>osgi</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.felix</groupId>
                        <artifactId>maven-bundle-plugin</artifactId>
                        <configuration>
                            <instructions>
                                <!-- TODO This module needs reorganization in order to properly export its packages. -->
                                <Export-Package>
                                    org.mule.components.script.*,
                                    org.mule.transformer.script.*
                                </Export-Package>
                            </instructions>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
