<?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.extensions</groupId>
        <artifactId>mule-core-modules-parent</artifactId>
        <version>1.0.0-BETA.5</version>
    </parent>
    <groupId>org.mule.modules</groupId>
    <artifactId>mule-scripting-module</artifactId>
    <version>0.8.2</version>
    <name>Scripting Module</name>
    <packaging>mule-plugin</packaging>
    <description>Support for embedding scripts inside Mule artifacts</description>

    <properties>
        <formatterConfigPath>formatter.xml</formatterConfigPath>
        <jffi.version>1.2.10</jffi.version>
        <jython.version>2.7.1b3</jython.version>
        <rhinoVersion>1.7R4</rhinoVersion>
        <rhinoJsr223Version>1.1</rhinoJsr223Version>
        <springVersion>4.1.9.RELEASE</springVersion>
        <groovyVersion>2.4.4</groovyVersion>
        <mule.weave.version>2.0.0-BETA.4</mule.weave.version>
        <mule.app.plugins.maven.plugin.version>1.0.0-BETA.5</mule.app.plugins.maven.plugin.version>
    </properties>

    <dependencies>
        <!-- Mule Dependencies -->
        <dependency>
            <groupId>org.mule.runtime</groupId>
            <artifactId>mule-core</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${springVersion}</version>
            <scope>provided</scope>
        </dependency>
        <!--Test Dependencies-->
        <dependency>
            <groupId>org.mule.runtime</groupId>
            <artifactId>mule-module-spring-config</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${springVersion}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${springVersion}</version>
            <scope>provided</scope>
        </dependency>
        <!-- Used by ScriptConfigurationBuilder -->
        <dependency>
            <groupId>org.mule.runtime</groupId>
            <artifactId>mule-module-builders</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency>

        <!--Groovy-->
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>${groovyVersion}</version>
            <classifier>indy</classifier>
        </dependency>

        <!--Jython-->
        <dependency>
            <groupId>org.python</groupId>
            <artifactId>jython-standalone</artifactId>
            <version>2.7.0</version>
        </dependency>

        <!--Javascript-->
        <dependency>
            <groupId>javax.script</groupId>
            <artifactId>js-engine</artifactId>
            <version>${rhinoJsr223Version}</version>
            <classifier>jdk14</classifier>
        </dependency>
        <dependency>
            <groupId>org.mozilla</groupId>
            <artifactId>rhino</artifactId>
            <version>${rhinoVersion}</version>
        </dependency>

        <!--Ruby-->
        <dependency>
            <groupId>org.jruby</groupId>
            <artifactId>jruby-core</artifactId>
            <version>1.7.24</version>
            <exclusions>
                <exclusion>
                    <groupId>com.github.jnr</groupId>
                    <artifactId>jnr-ffi</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.jruby</groupId>
            <artifactId>jruby-stdlib</artifactId>
            <version>1.7.24</version>
        </dependency>

        <dependency>
            <groupId>org.jruby.joni</groupId>
            <artifactId>joni</artifactId>
            <version>2.1.9</version>
        </dependency>
        <dependency>
            <groupId>com.github.jnr</groupId>
            <artifactId>jnr-netdb</artifactId>
            <version>1.1.2</version>
            <exclusions>
                <exclusion>
                    <groupId>com.github.jnr</groupId>
                    <artifactId>jnr-ffi</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.github.jnr</groupId>
            <artifactId>jnr-enxio</artifactId>
            <version>0.9</version>
            <exclusions>
                <exclusion>
                    <groupId>com.github.jnr</groupId>
                    <artifactId>jnr-ffi</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.github.jnr</groupId>
            <artifactId>jnr-x86asm</artifactId>
            <version>1.0.2</version>
        </dependency>
        <dependency>
            <groupId>com.github.jnr</groupId>
            <artifactId>jnr-unixsocket</artifactId>
            <version>0.8</version>
            <exclusions>
                <exclusion>
                    <groupId>com.github.jnr</groupId>
                    <artifactId>jnr-ffi</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.github.jnr</groupId>
            <artifactId>jnr-posix</artifactId>
            <version>3.0.27</version>
            <exclusions>
                <exclusion>
                    <groupId>com.github.jnr</groupId>
                    <artifactId>jnr-ffi</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.jruby.extras</groupId>
            <artifactId>bytelist</artifactId>
            <version>1.0.11</version>
        </dependency>
        <dependency>
            <groupId>com.github.jnr</groupId>
            <artifactId>jnr-constants</artifactId>
            <version>0.9.0</version>
        </dependency>
        <dependency>
            <groupId>org.jruby.jcodings</groupId>
            <artifactId>jcodings</artifactId>
            <version>1.0.16</version>
        </dependency>
        <dependency>
            <groupId>com.github.jnr</groupId>
            <artifactId>jnr-ffi</artifactId>
            <version>2.0.5</version>
            <exclusions>
                <exclusion>
                    <groupId>org.ow2.asm</groupId>
                    <artifactId>asm</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.ow2.asm</groupId>
                    <artifactId>asm-commons</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.ow2.asm</groupId>
                    <artifactId>asm-analysis</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.ow2.asm</groupId>
                    <artifactId>asm-util</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.ow2.asm</groupId>
                    <artifactId>asm-tree</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.github.jnr</groupId>
            <artifactId>jffi</artifactId>
            <version>${jffi.version}</version>
        </dependency>
        <dependency>
            <groupId>com.github.jnr</groupId>
            <artifactId>jffi</artifactId>
            <version>${jffi.version}</version>
            <classifier>native</classifier>
        </dependency>
        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <version>1.15</version>
        </dependency>
        <dependency>
            <groupId>com.jcraft</groupId>
            <artifactId>jzlib</artifactId>
            <version>1.1.3</version>
        </dependency>
        <dependency>
            <groupId>com.headius</groupId>
            <artifactId>invokebinder</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>com.headius</groupId>
            <artifactId>options</artifactId>
            <version>1.3</version>
        </dependency>
        <dependency>
            <groupId>com.martiansoftware</groupId>
            <artifactId>nailgun-server</artifactId>
            <version>0.9.1</version>
        </dependency>
        <dependency>
            <groupId>org.jruby</groupId>
            <artifactId>yecht</artifactId>
            <version>1.1</version>
            <classifier>jruby</classifier>
        </dependency>

        <!-- Test dependencies -->
        <dependency>
            <groupId>org.mule.tests</groupId>
            <artifactId>mule-tests-functional</artifactId>
            <version>${mule.version}</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.mule.services</groupId>
                    <artifactId>mule-service-weave</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--TODO: MULE-10837-->
        <dependency>
            <groupId>org.mule.runtime</groupId>
            <artifactId>mule-module-service</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.mule.services</groupId>
            <artifactId>mule-service-weave</artifactId>
            <version>${mule.weave.version}</version>
            <classifier>mule-service</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.mule.runtime</groupId>
            <artifactId>mule-service-http-api</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.mule.runtime.plugins</groupId>
                <artifactId>mule-app-plugins-maven-plugin</artifactId>
                <extensions>true</extensions>
                <version>${mule.app.plugins.maven.plugin.version}</version>
            </plugin>
        </plugins>
    </build>
</project>
