<?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-sca</artifactId>
        <version>2.0</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <artifactId>tuscany-modules</artifactId>
    <packaging>pom</packaging>
    <name>Apache Tuscany SCA Implementation Modules</name>

    <modules>
        <module>assembly</module>
        <module>assembly-xml</module>
        <module>assembly-xsd</module>
        <module>binding-atom</module>
        <module>binding-atom-runtime</module>
        <module>binding-comet</module>
        <!-- This is broken due to changes in the external Maven repos for its dependencies module>binding-comet-runtime</module -->
        <module>binding-ejb</module>
        <module>binding-ejb-runtime</module>
        <module>binding-http</module>
        <module>binding-http-runtime</module>
        <module>binding-jms</module>
        <module>binding-jms-runtime</module>
        <module>binding-jms-runtime-activemq</module>
        <module>binding-jsonp</module>
        <module>binding-jsonp-runtime</module>
        <module>binding-jsonrpc</module>        
        <module>binding-jsonrpc-runtime</module>
        <module>binding-rest</module>
        <module>binding-rest-runtime</module>
        <module>binding-rmi</module>
        <module>binding-rmi-runtime</module>
        <module>binding-sca-runtime</module>
	<module>binding-websocket</module>
        <module>binding-ws</module>
        <module>binding-ws-runtime-axis2</module>
        <module>binding-ws-runtime-jaxws</module>
        <module>binding-ws-runtime-jaxws-ri</module>		
        <module>binding-ws-wsdlgen</module>
        <module>builder</module>
        <module>common-http</module>        
        <module>common-java</module>
        <module>common-xml</module>
        <module>contribution</module>
        <module>contribution-resource</module>
        <module>core</module>
        <module>core-databinding</module>
        <module>core-spi</module>
        <module>data-api</module>
        <module>databinding</module>
        <module>databinding-axiom</module>
        <module>databinding-jaxb</module>
        <module>databinding-jaxb-axiom</module>
        <module>databinding-sdo</module>
        <module>databinding-sdo-axiom</module>
        <module>databinding-json</module>
        <module>deployment</module>
        <module>domain-hazelcast</module>
        <module>domain-node</module>
        <module>endpoint-tribes</module>
        <module>extensibility</module>
        <module>extensibility-equinox</module>
        <module>host-http</module>
        <module>host-http-osgi</module>
        <module>host-jetty</module>
        <module>host-rmi</module>
        <module>host-webapp</module>
        <module>implementation-bpel</module>
        <module>implementation-bpel-runtime</module>
        <module>implementation-java</module>
        <module>implementation-java-runtime</module>
        <module>implementation-jaxrs</module>
        <module>implementation-jaxrs-runtime</module>		
        <module>implementation-python</module>
        <module>implementation-python-runtime</module>
        <module>implementation-script</module>
        <module>implementation-script-runtime</module>		
        <module>implementation-spring</module>
        <module>implementation-spring-runtime</module>
        <module>implementation-spring-webapp</module>
        <module>implementation-spring-stub</module>
        <module>implementation-spring-tie</module>
        <module>implementation-web</module>
        <module>implementation-web-client</module>
        <module>implementation-web-runtime</module>
        <module>implementation-widget</module>
        <module>implementation-widget-runtime</module>
        <module>implementation-widget-runtime-dojo</module>
        <module>interface-java</module>
        <module>interface-java-jaxrs</module>		
        <module>interface-java-jaxws</module>
        <module>interface-wsdl</module>
        <module>launcher</module>
        <module>monitor</module>
        <module>myfaces</module>
        <module>node-api</module>
        <module>node-impl</module>
        <module>node-launcher</module>
        <module>node-launcher-equinox</module>
        <module>node-manager</module>
        <module>policy-logging</module>
        <module>policy-security</module>
        <module>policy-security-jsr250</module>
        <module>policy-transaction</module>
        <module>policy-transaction-runtime</module>
        <module>policy-transaction-runtime-geronimo</module>
        <module>policy-wspolicy</module>        
        <module>shell</module>
        <module>sca-api</module>
        <module>sca-client-impl</module>
        <!-- module>sca-client-javascript</module -->
        <module>stripes</module>
        <module>tracing-aspectj</module>
        <module>xsd</module>
        <module>web-javascript</module>
        <module>web-javascript-dojo</module>
        <module>wink</module>
        <!-- OSGi Remote Services with SCA -->
        <module>contribution-osgi</module>
        <module>implementation-osgi</module>
        <module>implementation-osgi-runtime</module>
        <module>node-impl-osgi</module>

        <module>host-corba</module>
        <module>host-corba-jee</module>
        <module>host-corba-jse</module>
        <module>host-corba-jse-tns</module>
        <module>binding-corba</module>
        <module>binding-corba-runtime</module>

        <!-- Composite diagram generator -->
        <module>composite-diagram</module>

        <!-- 
            Runtime collection features 

            Non-overallapping groups of Tuscany modules that define the 
            core runtime modules, containing the Tuscany extension SPI, 
            and the base runtime that defines the minimal Tuscany runtime
            to which other extensions can be added
       
            Extensions are included using maven dependencies on the *-runtime
            modules in the /modules directory 
        -->
        <module>core-runtime-pom</module>
        <module>base-runtime</module>
        <module>base-runtime-pom</module>
        <module>osgi-runtime-pom</module>

    </modules>

    <profiles>
         <profile>
            <id>eclipse</id>
            <build>
                <defaultGoal>org.apache.tuscany.maven.plugins:maven-bundle-plugin:eclipse</defaultGoal>
                <!--
                <plugins>
	            <plugin> 	 
	                <groupId>org.apache.tuscany.maven.plugins</groupId> 	 
	                <artifactId>maven-bundle-plugin</artifactId> 	 
	                <version>1.0.6</version> 	 
	                <extensions>true</extensions> 	 
	                <executions> 	 
	                    <execution> 	 
	                        <id>generate-pde</id> 	 
	                        <phase>generate-resources</phase> 	 
	                        <goals> 	 
	                                <goal>eclipse</goal> 	 
	                        </goals> 	 
	                        <configuration> 	 
	                        </configuration> 	 
	                    </execution> 	 
	                </executions> 	 
	            </plugin> 	 
              </plugins>
              -->
            </build>
        </profile>
    </profiles>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <pluginManagement>
            <plugins>
               <plugin>
                   <artifactId>maven-jar-plugin</artifactId>
                   <configuration>
                       <archive>
                           <manifestFile>${basedir}/META-INF/MANIFEST.MF</manifestFile>
                       </archive>
                   </configuration>
               </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-source-plugin</artifactId>
               <version>2.1.1</version>
               <executions>
                  <execution>
                     <id>attach-sources</id>
                     <goals>
                        <goal>jar-no-fork</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
        </plugins>
    </build>
    
</project>
