<?xml version="1.0" encoding="UTF-8"?>
<!--
 * 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.    
-->
<project>
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.apache.tuscany.sca</groupId>
        <artifactId>tuscany-modules</artifactId>
        <version>2.5-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <artifactId>tuscany-base-runtime</artifactId>
    <name>Apache Tuscany SCA Base Runtime Jar</name>

    <dependencies>

  <!-- Ideally this would just use the base-runtime-pom dependency but we need MSHADE-88 fixed first -->

        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-domain-node</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-implementation-web-runtime</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-launcher</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-sca-client-impl</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-host-jetty</artifactId>
            <version>${project.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.tuscany.sca</groupId>
                    <artifactId>tuscany-core-spi</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>jetty</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>jetty-util</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-shell</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-stripes</artifactId>
            <version>${project.version}</version>
            <exclusions>
                <exclusion>
                   <groupId>net.sourceforge.stripes</groupId>
                   <artifactId>stripes</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-wink</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-binding-ws-runtime-jaxws-ri</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-data-api</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-policy-security</artifactId>
            <version>${project.version}</version>
        </dependency>

<!-- All the scdl modules  -->

        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-binding-atom</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-binding-corba</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-binding-ejb</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-binding-http</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-binding-jms</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-binding-jsonp</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-binding-jsonrpc</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-binding-rest</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-binding-rmi</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-binding-ws</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-implementation-bpel</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-implementation-java</artifactId>
            <version>${project.version}</version>
        </dependency>
        <!-- dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-implementation-jaxrs</artifactId>
            <version>${project.version}</version>
        </dependency -->
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-implementation-script</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-implementation-spring</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-implementation-web</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tuscany.sca</groupId>
            <artifactId>tuscany-implementation-widget</artifactId>
            <version>${project.version}</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>1.3.2</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                           <createSourcesJar>true</createSourcesJar>
                           <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
                           <artifactSet>
                              <includes>
                                 <include>org.apache.tuscany.sca:*</include>
                              </includes>
                           </artifactSet>
                           <transformers>
                              <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                              <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                 <manifestEntries>
                                    <Main-Class>org.apache.tuscany.sca.launcher.LauncherMain</Main-Class>
                                 </manifestEntries>
                              </transformer> 
                           </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

