<?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.springframework.roo</groupId>
        <artifactId>org.springframework.roo.root</artifactId>
        <version>2.0.0.RC3</version>
        <relativePath>..</relativePath>
    </parent>
    <artifactId>org.springframework.roo.runtime</artifactId>
    <packaging>pom</packaging>
    <name>Spring Roo - Runtime - Runtime Module Parent</name>
    <description>Provides Runtime OSGi modules.</description>

    <modules>
        <module>deployment-support</module>
        <module>osgi-bundle</module>
        <module>gogo-commands</module>
        <module>bootstrap</module>
        <module>startlevel</module>
        <module>support</module>
        <module>shell</module>
        <module>shell-osgi</module>
        <module>shell-jline</module>
        <module>shell-jline-osgi</module>
        <module>felix</module>
        <module>model</module>
        <module>metadata</module>
        <module>file-undo</module>
        <module>file-monitor</module>
        <module>project</module>
        <module>propfiles-manager</module>
        <module>process-manager</module>
        <module>classpath</module>
        <module>classpath-antlrjavaparser</module>
        <module>url-stream</module>
        <module>obr-manager</module>
        <module>suite-manager</module>
        <module>application-config</module>
        <module>settings</module>
        <module>converters</module>
    </modules>

    <!-- Runtime dependency management: OSGi Services, Felix, ... -->
    <dependencyManagement>
        <dependencies>

            <!-- OSGi Repository Service -->
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.bundlerepository</artifactId>
                <version>2.0.8</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.easymock</groupId>
                        <artifactId>easymock</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- OSGi HTTP Service -->
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.http.servlet-api</artifactId>
                <version>1.0.1</version>
                <exclusions>
                    <exclusion>
                        <artifactId>tomcat-servlet-api</artifactId>
                        <groupId>org.apache.tomcat</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.http.api</artifactId>
                <version>2.3.2</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.roo.wrapping</groupId>
                <artifactId>org.springframework.roo.wrapping.org.apache.felix.http.jetty</artifactId>
                <version>2.3.2.002</version>
            </dependency>

            <!-- OSGi Event Admin Service --> 
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.eventadmin</artifactId>
                <version>1.4.6</version>
            </dependency>

            <!-- JAX-RS (JSR 339) -->
            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>javax.ws.rs-api</artifactId>
                <version>2.0.1</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.hk2.external</groupId>
                <artifactId>asm-all-repackaged</artifactId>
                <version>2.1.96</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.core</groupId>
                <artifactId>jersey-server</artifactId>
                <version>2.6</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.containers</groupId>
                <!-- Jersey core Servlet 2.x implementation -->
                <artifactId>jersey-container-servlet-core</artifactId>
                <version>2.6</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.core</groupId>
                <artifactId>jersey-common</artifactId>
                <version>2.6</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.media</groupId>
                <artifactId>jersey-media-json-processing</artifactId>
                <version>2.6</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>javax.json</artifactId>
                <version>1.0.4</version>
            </dependency>

            <!-- OSGi Subsystem Service -->
            <dependency>
                <groupId>org.apache.aries.subsystem</groupId>
                <artifactId>org.apache.aries.subsystem.api</artifactId>
                <version>2.0.8</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.aries</groupId>
                        <artifactId>org.apache.aries.util</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.annotation</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.aries.subsystem</groupId>
                <artifactId>org.apache.aries.subsystem.core</artifactId>
                <version>2.0.8</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.aries.subsystem</groupId>
                        <artifactId>org.apache.aries.subsystem.api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.aries.application</groupId>
                        <artifactId>org.apache.aries.application.api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.aries.application</groupId>
                        <artifactId>org.apache.aries.application.utils</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.equinox</groupId>
                        <artifactId>org.eclipse.equinox.coordinator</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.aries</groupId>
                        <artifactId>org.apache.aries.util</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.aries</groupId>
                <artifactId>org.apache.aries.util</artifactId>
                <version>1.1.1</version>
            </dependency>

            <!-- OSGi Configuration Admin Service -->
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.configadmin</artifactId>
                <version>1.8.8</version>
            </dependency>

            <!-- Apache Felix Coordinator -->
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.coordinator</artifactId>
                <version>1.0.0</version>
            </dependency>

            <!-- Eclipse Equinox Region -->
            <dependency>
                <groupId>org.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.region</artifactId>
                <!--<version>1.2.101.v20150831-1342</version>-->
                <version>1.1.0.v20120522-1841</version>
            </dependency>

            <!-- OSGi Metatype Service -->
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.metatype</artifactId>
                <version>1.1.2</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <!-- 
                    Copy OSGi Services reference implementations from module 
                    dependencies and the needed transitive dependencies to 
                    ROO_PRJ_HOME/runtime/target/all 
                    in order to be able to copy to OSGi runtime environment. -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>2.10</version>
                    <executions>
                        <execution>
                            <id>copy-dependencies</id>
                            <phase>package</phase>
                            <goals>
                                <goal>copy-dependencies</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <outputDirectory>${project.build.directory}/../../target/all</outputDirectory>
                        <silent>true</silent>
                        <!-- 
                        Notes about includeScope: 
                        - Empty string indicates all scopes (default)
                        - runtime scope gives runtime and compile dependencies
                        -->
                        <includeScope>runtime</includeScope>
                        <!-- <excludeTransitive>true</excludeTransitive> -->
                    </configuration>
                </plugin>
                <plugin>
                    <!-- 
                    Copy the OSGi bundles that the modules have built locally and  
                    that noone else depends on into the ROO_PRJ_HOME/target/all
                    -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>copy-jars-for-roo-dev-or-assembly</id>
                            <phase>package</phase>
                            <configuration>
                                <target>
                                    <copy todir="${target.jar.directory}"
                                        preservelastmodified="true">
                                        <fileset dir="${project.build.directory}">
                                            <include name="*.jar" />
                                            <exclude name="*-javadoc.jar" />
                                            <exclude name="*-tests.jar" />
                                            <exclude name="*-sources.jar" />
                                        </fileset>
                                    </copy>
                                </target>
                            </configuration>
                            <goals>
                                <goal>run</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>
