<?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-Beta3</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>
        <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-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-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>

        <!-- 
            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>
