<?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-M2-SNAPSHOT</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-xml-osoa</module>
        <module>assembly-xsd</module>
        <module>assembly-xsd-osoa</module>
        <module>binding-dwr</module>
        <module>binding-jsonp</module>
        <module>binding-jsonrpc</module>
        <module>binding-rmi</module>
        <module>binding-rmi-runtime</module>
        <module>binding-sca</module>
        <module>binding-sca-xml</module>
        <module>binding-ws</module>
        <module>binding-ws-axis2</module>
        <module>binding-ws-axis2-policy</module>
        <module>binding-ws-wsdlgen</module>
        <module>binding-ws-xml</module>
        <module>contribution</module>
        <module>contribution-java</module>
        <module>contribution-namespace</module>
        <module>contribution-xml</module>
        <module>core</module>
        <module>core-databinding</module>
        <module>core-spi</module>
        <module>databinding</module>
        <module>databinding-axiom</module>
        <module>databinding-jaxb</module>
        <module>databinding-jaxb-axiom</module>
        <module>definitions</module>
        <module>definitions-xml</module>
        <module>endpoint</module>
        <module>extensibility</module>
        <module>extensibility-equinox</module>
        <module>host-http</module>
        <module>host-jetty</module>
        <module>host-rmi</module>
        <module>host-webapp</module>
        <module>implementation-bpel</module>
        <module>implementation-bpel-ode</module>
        <module>implementation-java</module>
        <module>implementation-java-runtime</module>
        <module>implementation-java-xml</module>
        <module>implementation-node</module>
        <module>implementation-node-runtime</module>
        <module>implementation-web</module>
        <module>implementation-web-runtime</module>
        <module>interface</module>
        <module>interface-java</module>
        <module>interface-java-jaxws</module>
        <module>interface-java-xml</module>
        <module>interface-wsdl</module>
        <module>interface-wsdl-xml</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>policy</module>
        <module>policy-security</module>
        <module>policy-xml</module>
        <module>policy-xml-ws</module>
        <module>sca-api</module>
        <module>stripes</module>
        <module>workspace</module>
        <module>workspace-impl</module>
        <module>workspace-xml</module>
        <module>xsd</module>
        <module>xsd-xml</module>
        <!-- OSGi RFC 119 -->
        <module>contribution-osgi</module>
        <module>implementation-osgi</module>
        <module>implementation-osgi-runtime</module>
        <module>node-impl-osgi</module>

    </modules>

    <profiles>
         <profile>
            <id>eclipse</id>
            <build>
               <!--plugins> 	 
	            <plugin> 	 
	                <groupId>org.apache.tuscany.maven.plugins</groupId> 	 
	                <artifactId>maven-bundle-plugin</artifactId> 	 
	                <version>1.0.2</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-->
                <defaultGoal>org.apache.tuscany.maven.plugins:maven-bundle-plugin:eclipse</defaultGoal>

            </build>
        </profile>
    </profiles>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.5</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>
    </build>
    
</project>
