<?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</groupId>
        <artifactId>apache</artifactId>
        <version>8</version>
    </parent>

    <!-- ====================================================================== -->
    <!-- Project description and basic configuration                            -->
    <!-- ====================================================================== -->
    <groupId>org.apache.tuscany.sca</groupId>
    <artifactId>tuscany-sca</artifactId>
    <packaging>pom</packaging>
    <name>Apache Tuscany SCA Implementation Project (2.x)</name>
    <url>http://tuscany.apache.org</url>
    <version>2.0-Beta2</version>

    <scm>
        <connection>scm:svn:http://svn.apache.org/repos/asf/tuscany/sca-java-2.x/trunk</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/tuscany/sca-java-2.x/trunk</developerConnection>
        <url>http://svn.apache.org/repos/asf/tuscany/sca-java-2.x/trunk</url>
    </scm>

    <prerequisites>
        <maven>2.0.6</maven>
    </prerequisites>

    <properties>
        <notice.dir>.</notice.dir>
        <tools.jar>${java.home}/../lib/tools.jar</tools.jar>
        <dojo.version>1.5.0</dojo.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>        
    </properties>

    <issueManagement>
        <system>jira</system>
        <url>http://issues.apache.org/jira/browse/TUSCANY</url>
    </issueManagement>

    <!-- ====================================================================== -->
    <!-- Maven Repositories                                                     -->
    <!-- ====================================================================== -->
    <repositories>
        <!-- Tuscany repository to hold artifacts that are not published in the public maven repos -->
        <repository>
            <id>tuscany.repo</id>
            <name>Tuscany Maven 2.x Repository</name>
            <url>http://svn.apache.org/repos/asf/tuscany/maven</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

    <!-- ====================================================================== -->
    <!-- Distribution Management configuration                                  -->
    <!-- ====================================================================== -->
    <distributionManagement>
       <repository>
          <id>apache.releases.https</id>
          <name>Apache Release Distribution Repository</name>
          <url>https://repository.apache.org/service/local/staging/deploy/maven2</url>
       </repository>
       <snapshotRepository>
          <id>apache.snapshots.https</id>
          <name>Apache Development Snapshot Repository</name>
          <url>https://repository.apache.org/content/repositories/snapshots</url>
          <uniqueVersion>false</uniqueVersion>
       </snapshotRepository>
    </distributionManagement>

    <profiles>
        <!-- ====================================================================== -->
        <!-- Default profile                                                        -->
        <!-- ====================================================================== -->
        <profile>
            <id>default</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>maven/maven-tuscany-plugin</module>
                <module>modules</module>
                <module>samples</module>
                <module>testing/itest</module>
                <module>features</module>
                <module>distribution</module>
                <module>maven/archetypes</module>
                <module>testing/compliance-tests</module>
            </modules>
        </profile>
        <!-- ====================================================================== -->
        <!-- Default profile to be used in Mac OS environment                       -->
        <!--   Note that this set tools.jar property based on the JDK used in Mac   -->
        <!-- ====================================================================== -->
        <profile>
            <id>default-mac</id>
            <activation>
                <os>
                    <family>mac</family>
                </os>
            </activation>
            <properties>
                <tools.jar>${java.home}/../Classes/classes.jar</tools.jar>
            </properties>
            <modules>
                <module>maven/maven-tuscany-plugin</module>
                <module>modules</module>
                <module>samples</module>
                <module>testing/itest</module>
                <module>features</module>
                <module>distribution</module>
                <module>maven/archetypes</module>
                <module>testing/compliance-tests</module>
            </modules>
        </profile>

        <!-- ====================================================================== -->
        <!-- Profile used to generate OSGi based Eclipse IDE project artifacts      -->
        <!-- ====================================================================== -->
        <profile>
            <id>eclipse</id>
            <modules>
                <module>modules</module>
                <module>samples</module>
                <module>testing/itest</module>
                <module>features</module>
                <module>features/eclipse-pde</module>
            </modules>
           <build>
                <defaultGoal>org.apache.tuscany.maven.plugins:maven-bundle-plugin:eclipse</defaultGoal>
                <pluginManagement>
                <plugins>
                   <plugin> 
                       <groupId>org.apache.tuscany.maven.plugins</groupId> 
                       <artifactId>maven-bundle-plugin</artifactId> 
                       <version>1.0.5</version> 
                       <extensions>true</extensions> 
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-eclipse-plugin</artifactId>
                        <configuration>
                            <skip>true</skip>
                        </configuration>
                     </plugin>
                 </plugins>
                 </pluginManagement>
            </build>
        </profile>

        <!-- ====================================================================== -->
        <!-- Profile used to generate OSGi based Eclipse IDE project artifacts      -->
        <!--   Note that this set tools.jar property based on the JDK used in Mac   -->
        <!-- ====================================================================== -->
        <profile>
            <id>eclipse-mac</id>
            <properties>
                <tools.jar>${java.home}/../Classes/classes.jar</tools.jar>
            </properties>
            <modules>
                <module>modules</module>
                <module>samples</module>
                <module>testing/itest</module>
                <module>features</module>
                <module>distribution</module>
            </modules>
           <build>
                <defaultGoal>org.apache.tuscany.maven.plugins:maven-bundle-plugin:eclipse</defaultGoal>
                <pluginManagement>
                <plugins>
                   <plugin> 
                       <groupId>org.apache.tuscany.maven.plugins</groupId> 
                       <artifactId>maven-bundle-plugin</artifactId> 
                       <version>1.0.5</version> 
                       <extensions>true</extensions> 
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-eclipse-plugin</artifactId>
                        <configuration>
                            <skip>true</skip>
                        </configuration>
                     </plugin>
                 </plugins>
                 </pluginManagement>
            </build>
        </profile>

        <!-- ====================================================================== -->
        <!-- Profile to build release distribution                                  -->
        <!-- ====================================================================== -->
        <profile>
            <id>distribution</id>
            <modules>
                <module>maven/maven-tuscany-plugin</module>
                <module>modules</module>
                <module>samples</module>
                <module>testing/itest</module>
                <module>features</module>
                <module>distribution</module>
                <module>maven/archetypes</module>
                <module>testing/compliance-tests</module>
            </modules>
           <build>
              <plugins>
              </plugins>
           </build>
        </profile>

        <profile>
            <id>compliance</id>
            <modules>
                <module>testing/compliance-tests</module>
            </modules>
        </profile>

<!-- START - WHAT ARE THE FOLLOWING PROFILES FOR? -->
        <!-- ====================================================================== -->
        <!-- Profile to generate source jars for modules                            -->
        <!-- ====================================================================== -->

        <profile>
            <id>source</id>
            <modules>
                <module>modules</module>
            </modules>
            <build>
                <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>
        </profile>

        <profile>
            <id>osgi</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <modules>
               <module>samples</module>
            </modules>
            <build>
                <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <skip>true</skip>
                        </configuration>
                     </plugin>
                 </plugins>
                 </pluginManagement>
                <plugins>
                <plugin>
                    <groupId>org.apache.tuscany.sca</groupId>
                    <artifactId>tuscany-maven-osgi-junit</artifactId>
                    <version>1.0</version>
                    <executions>
                        <execution>
                            <id>osgi-test</id>
                            <phase>test</phase>
                            <goals>
                                <goal>test</goal>
                            </goals>
                        </execution>
                    </executions>
                 </plugin>            
                 </plugins>       
            </build> 
        </profile>  

        <profile>
            <id>dependencies</id>
            <modules>
                <module>modules</module>
                <module>samples</module>
                <module>tutorials</module>
                <module>demos</module>
            </modules>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.tuscany.sca</groupId>
                        <artifactId>tuscany-maven-dependency-lister</artifactId>
                        <version>2.0-Beta2</version>
                        <executions>
                            <execution>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>execute</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>           
                </plugins>         
            </build>
        </profile>
        
        <profile>
            <id>security</id>
            <modules>
                <module>testing/itest</module>
            </modules>
            <activation>
                <property>
                    <name>tuscany.policy.file</name>
                </property>
            </activation>
            <properties>
                <tuscany.policy.file>file:///${java.home}/lib/security/tuscany.policy</tuscany.policy.file>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <version>2.4.3</version>
                        <configuration>
                            <includes>
                                <include>**/*TestCase.java</include>
                            </includes>
                            <reportFormat>brief</reportFormat>
                            <useFile>false</useFile>
                            <forkMode>once</forkMode>
                            <!-- Place tuscany.policy in your Java home security directory. Alternatively, hardcode the file location here. -->
                            <argLine>-Djava.security.manager -Djava.security.policy=${tuscany.policy.file} -Dpolicy.allowSystemProperty=true -Djava.security.debug=policy</argLine>
                        </configuration>
                    </plugin>
                </plugins>         
            </build>
        </profile>

        <!-- profile for verifying source code correctness -->
        <profile>
            <id>sourcecheck</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-checkstyle-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-pmd-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <source>1.6</source>
                            <target>1.6</target>
                            <showDeprecation>true</showDeprecation>
                            <compilerArgument>-Xlint:unchecked,deprecation,fallthrough,finally</compilerArgument>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!--
          to test this profile you may like to run mvn with arguments ...
          -DaltDeploymentRepository=id::default::file:target/deploy -Prelease -Dgpg.skip
          then look in the target/deploy directory for a locally deployed repository of artifacts 
        -->
        <profile>
            <id>release</id>
            <properties>
                <skipTests>true</skipTests>
                <buildZips>true</buildZips>
            </properties>
            <modules>
                <module>maven/maven-tuscany-plugin</module>
                <module>modules</module>
                <module>features</module>
                <module>distribution</module>
                <module>maven/archetypes</module>
            </modules>
           <build>
              <defaultGoal>deploy</defaultGoal>
              <plugins>
                    <plugin>
                        <artifactId>maven-deploy-plugin</artifactId>
                        <version>2.4</version>
                        <configuration>
                            <updateReleaseInfo>true</updateReleaseInfo>
                        </configuration>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>deploy</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.1</version>
                        <executions>
                            <execution>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <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>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>2.6.1</version>
                        <configuration>
                            <maxmemory>1024m</maxmemory>
                            <tags>
                                <tag>
                                    <name>tuscany.spi.extension.inheritfrom</name>
                                    <!-- extension spi by inheritance tag for placing in classes /interfaces -->
                                    <placement>t</placement>
                                    <head>Provides part of the Tuscany SPI for Extension Developers by specialization of this class/interface
                                    </head>
                                </tag>
                                <tag>
                                    <name>tuscany.spi.extension.asclient</name>
                                    <!-- extension spi by client access tag for placing in classes / interfaces. The term client here is used
                                    in the OO design sense of any class that calls the methods of another is a client of the latter -->
                                    <placement>t</placement>
                                    <head>Provides part of the Tuscany SPI for Extension Developers by calling methods on this interface/class.</head>
                                </tag>
                                <tag>
                                    <name>tuscany.spi.extension</name>
                                    <!-- extension spi indicator for overviews, packages -->
                                    <placement>a</placement>
                                    <head>Elements of the Tuscany SPI for Extension developers are provided.</head>
                                </tag>
                            </tags>

 

                            <groups>
                                <!-- beware: this group stanza results in a grouping of pages that contains a superset of the spi, until we complete identification and then refactor out non spi code from listed packages-->
                                <group>
                                    <title>Extension Developer's SPIs (Work in Progress)</title>
                                    <packages>
org.apache.tuscany.sca.assembly:org.apache.tuscany.sca.assembly.builder:org.apache.tuscany.sca.assembly.impl:org.apache.tuscany.sca.assembly.xml:org.apache.tuscany.sca.common.http:org.apache.tuscany.sca.common.xml:org.apache.tuscany.sca.common.xml.dom:org.apache.tuscany.sca.common.xml.stax:org.apache.tuscany.sca.context:org.apache.tuscany.sca.contribution:org.apache.tuscany.sca.contribution.namespace:org.apache.tuscany.sca.contribution.processor:org.apache.tuscany.sca.contribution.resolver:org.apache.tuscany.sca.core:org.apache.tuscany.sca.core.assembly:org.apache.tuscany.sca.core.factory:org.apache.tuscany.sca.core.invocation:org.apache.tuscany.sca.core.scope:org.apache.tuscany.sca.data.collection:org.apache.tuscany.sca.databinding:org.apache.tuscany.sca.databinding.impl:org.apache.tuscany.sca.databinding.javabeans:org.apache.tuscany.sca.databinding.xml:org.apache.tuscany.sca.extensibility:org.apache.tuscany.sca.host.http:org.apache.tuscany.sca.interfacedef:org.apache.tuscany.sca.interfacedef.impl:org.apache.tuscany.sca.interfacedef.util:org.apache.tuscany.sca.interfacedef.wsdl:org.apache.tuscany.sca.invocation:org.apache.tuscany.sca.monitor:org.apache.tuscany.sca.policy:org.apache.tuscany.sca.policy.authentication.token:org.apache.tuscany.sca.policy.security:org.apache.tuscany.sca.policy.util:org.apache.tuscany.sca.provider:org.apache.tuscany.sca.runtime:org.apache.tuscany.sca.web.javascript:org.apache.tuscany.sca.work:org.apache.tuscany.sca.xsd</packages>
                                </group>
                            </groups>  <!-- -->
                        </configuration>
                    </plugin>
              </plugins>
           </build>
        </profile>

        <profile>
            <id>hudson-deploy</id>
            <properties>
                <skipTests>true</skipTests>
                <buildZips>true</buildZips>
            </properties>
            <modules>
                <module>modules</module>
                <!-- samples need to be included so that the bin distro includes the prebuilt contributions -->
                <module>samples</module>
                <module>distribution/all</module>
            </modules>
           <build>
              <defaultGoal>install</defaultGoal>
           </build>
        </profile>

        <profile>
            <id>base</id>
            <modules>
                <module>modules/assembly</module>
                <module>modules/assembly-xml</module>
                <module>modules/assembly-xsd</module>
                <module>modules/binding-hazelcast-runtime</module>
                <module>modules/binding-sca-runtime</module>
                <module>modules/binding-ws</module>
                <module>modules/binding-ws-wsdlgen</module>
                <module>modules/binding-ws-runtime-jaxws</module>
                <module>modules/binding-ws-runtime-jaxws-ri</module>
                <module>modules/binding-jms</module>
                <module>modules/binding-jms-runtime</module>
                <module>modules/builder</module>
                <module>modules/common-java</module>
                <module>modules/common-xml</module>
                <module>modules/contribution</module>
                <module>modules/core</module>
                <module>modules/core-databinding</module>
                <module>modules/core-spi</module>
                <module>modules/databinding</module>
                <module>modules/databinding-jaxb</module>
                <module>modules/deployment</module>
                <module>modules/domain-node</module>
                <module>modules/domain-hazelcast</module>
                <module>modules/extensibility</module>
                <module>modules/host-http</module>
                <module>modules/host-jetty</module>
                <module>modules/host-webapp</module>
                <module>modules/implementation-java</module>
                <module>modules/implementation-java-runtime</module>
                <module>modules/implementation-web</module>
                <module>modules/implementation-web-runtime</module>
                <module>modules/interface-java</module>
                <module>modules/interface-java-jaxws</module>
                <module>modules/interface-wsdl</module>
                <module>modules/launcher</module>
                <module>modules/monitor</module>
                <module>modules/interface-wsdl</module>
                <module>modules/node-api</module>
                <module>modules/node-impl</module>
                <module>modules/policy-security</module>
                <module>modules/sca-api</module>
                <module>modules/sca-client-impl</module>
                <module>modules/wink</module>
                <module>modules/xsd</module>
                <module>testing/compliance-tests</module>
            </modules>
        </profile>
        <profile>
            <id>jms</id>
            <modules>
                <module>modules/binding-jms</module>
                <module>modules/binding-jms-runtime</module>
                <module>samples/webapps/helloworld-jms</module>
                <module>testing/itest/jms</module>
            </modules>
        </profile>

<!-- END - WHAT ARE THE FOLLOWING PROFILES FOR? -->

        <profile>
           <id>fast</id>
            <modules>
                <module>modules</module>
                <module>samples</module>
                <module>testing/itest</module>
                <module>features</module>
                <module>distribution</module>
                <module>maven/archetypes</module>
                <!-- module>testing/compliance-tests</module -->
            </modules>
           <build>
              <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.5</version>
                    <configuration>
                        <includes>
                            <include>**/*TestCase.java</include>
                        </includes>
                        <reportFormat>brief</reportFormat>
                        <useFile>false</useFile>
                        <forkMode>once</forkMode>
                        <argLine>-ea -Xmx256m</argLine>
                        <parallel>classes</parallel>
                    </configuration>
                </plugin>
              </plugins>
           </build>
        </profile>
    </profiles>
 

    <build>
        <defaultGoal>install</defaultGoal>

        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
<!--
            <resource>
                <directory>${notice.dir}</directory>
                <targetPath>META-INF</targetPath>
                <filtering>true</filtering>
                <includes>
                    <include>LICENSE</include>
                    <include>NOTICE</include>
                    <include>README</include>
                </includes>
            </resource>
            <resource>
                <directory>${basedir}/META-INF</directory>
                <targetPath>META-INF</targetPath>
                <includes>
                    <include>MANIFEST.MF</include>
                </includes>
            </resource>
            <resource>
                <directory>${basedir}/OSGI-INF</directory>
                <targetPath>OSGI-INF</targetPath>
                <includes>
                    <include>**/*</include>
                </includes>
            </resource>
-->
            <resource>
                <directory>${basedir}</directory>
                <includes>
                    <include>LICENSE</include>
                    <include>NOTICE</include>
                    <include>README</include>
                    <include>META-INF/**/*</include>
                    <include>OSGI-INF/**/*</include>
                </includes>
            </resource>



        </resources>
   <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.0-beta-1</version>
        <executions>
          <execution>
            <id>enforce-plugin-versions</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requirePluginVersions>
                   <unCheckedPluginList>org.apache.tuscany.maven.plugins:maven-tuscany-plugin</unCheckedPluginList>
                   <message>Best Practice is to always define released plugin versions!</message>
                   <banLatest>true</banLatest>
                   <banRelease>true</banRelease>
                   <banSnapshots>true</banSnapshots>
                   <phases>clean,deploy,site</phases>
                   <additionalPlugins>
                   </additionalPlugins>
                </requirePluginVersions>
              </rules>
              <fail>false</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>
   </plugins>

        <pluginManagement>
            <plugins>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>2.4</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.3</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>2.0-beta-7</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.4.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>2.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.1-beta-1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>2.8</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-archetype-plugin</artifactId>
                    <version>2.0-alpha-5</version>
                </plugin>

                <!-- compiler plugin configuration -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <source>1.6</source>
                        <target>1.6</target>
                        <fork>true</fork>
                        <meminitial>512m</meminitial>
                        <maxmem>1024m</maxmem>
                    </configuration>
                </plugin>

                <!-- surefire plugin configuration -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.4.3</version>
                    <configuration>
                        <includes>
                            <include>**/*TestCase.java</include>
                        </includes>
                        <reportFormat>brief</reportFormat>
<!--
                        <useFile>false</useFile>
                        <forkMode>once</forkMode>
                        <argLine>-ea -Xmx756m -Xms756m -XX:MaxPermSize=512m</argLine>
-->
                    </configuration>
                </plugin>

                <!-- jar plugin configuration -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.1</version>
                    <configuration>
                        <archive>
                            <manifestEntries>
                                <Extension-Name>${project.artifactId}</Extension-Name>
                                <Specification-Title>${project.name}</Specification-Title>
                                <Specification-Vendor>The Apache Software Foundation</Specification-Vendor>
                                <Specification-Version>${project.version}</Specification-Version>
                                <Implementation-Title>${project.name}</Implementation-Title>
                                <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
                                <Implementation-Vendor>The Apache Software Foundation</Implementation-Vendor>
                                <Implementation-Version>${project.version}</Implementation-Version>
                            </manifestEntries>
                         </archive>
                    </configuration>
                </plugin>

                <!-- code coverage check plugin configuration -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clover-plugin</artifactId>
                    <configuration>
                        <jdk>1.6</jdk>
                    </configuration>
                </plugin>

                <!-- ant plugin global configuration -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.3</version>

                    <dependencies>
                        <dependency>
                            <groupId>org.apache.ant</groupId>
                            <artifactId>ant-trax</artifactId>
                            <version>1.7.1</version>
                        </dependency>
                        <!-- this JDk dependency is a workaround for Maven bug - http://jira.codehaus.org/browse/MNG-1323  -->
                        <dependency>
                            <groupId>sun.jdk</groupId>
                            <artifactId>tools</artifactId>
                            <version>1.6</version>
                            <scope>system</scope>
                            <systemPath>${tools.jar}</systemPath>
                            <optional>true</optional>
                        </dependency>
                    </dependencies>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.0-beta-8</version>
                    <configuration>
                        <tagBase>https://svn.apache.org/repos/asf/tuscany/sca-java-2.x/tags</tagBase>
                        <useReleaseProfile>false</useReleaseProfile>
                        <preparationGoals>clean install</preparationGoals>
                        <goals>deploy</goals>
                        <arguments>-Prelease,deploy</arguments>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                    </configuration>
                </plugin>

            </plugins>
        </pluginManagement>
    </build>

    <reporting>
        <plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.6.1</version>
				<configuration>
					<maxmemory>1024m</maxmemory>
					<tags>
						<tag>
							<name>tuscany.spi.extension.inheritfrom</name>
							<!-- extension spi by inheritance tag for placing in classes /interfaces -->
							<placement>t</placement>
							<head>Provides part of the Tuscany SPI for Extension Developers by specialization of this class/interface
							</head>
						</tag>
						<tag>
							<name>tuscany.spi.extension.asclient</name>
							<!-- extension spi by client access tag for placing in classes / interfaces. The term client here is used
							in the OO design sense of any class that calls the methods of another is a client of the latter -->
							<placement>t</placement>
							<head>Provides part of the Tuscany SPI for Extension Developers by calling methods on this interface/class.</head>
						</tag>
						<tag>
							<name>tuscany.spi.extension</name>
							<!-- extension spi indicator for overviews, packages -->
							<placement>a</placement>
							<head>Elements of the Tuscany SPI for Extension developers are provided.</head>
						</tag>
					</tags>

 
					<groups>
                                                <!-- beware: this group stanza results in a grouping of pages that contains a superset of the spi, until we complete identification and then refactor out non spi code from listed packages-->
						<group>
						  <title>Extension Developer's SPIs (Work in Progress)</title>
                            <packages>
org.apache.tuscany.sca.assembly:org.apache.tuscany.sca.assembly.builder:org.apache.tuscany.sca.assembly.impl:org.apache.tuscany.sca.assembly.xml:org.apache.tuscany.sca.common.http:org.apache.tuscany.sca.common.xml:org.apache.tuscany.sca.common.xml.dom:org.apache.tuscany.sca.common.xml.stax:org.apache.tuscany.sca.context:org.apache.tuscany.sca.contribution:org.apache.tuscany.sca.contribution.namespace:org.apache.tuscany.sca.contribution.processor:org.apache.tuscany.sca.contribution.resolver:org.apache.tuscany.sca.core:org.apache.tuscany.sca.core.assembly:org.apache.tuscany.sca.core.factory:org.apache.tuscany.sca.core.invocation:org.apache.tuscany.sca.core.scope:org.apache.tuscany.sca.data.collection:org.apache.tuscany.sca.databinding:org.apache.tuscany.sca.databinding.impl:org.apache.tuscany.sca.databinding.javabeans:org.apache.tuscany.sca.databinding.xml:org.apache.tuscany.sca.extensibility:org.apache.tuscany.sca.host.http:org.apache.tuscany.sca.interfacedef:org.apache.tuscany.sca.interfacedef.impl:org.apache.tuscany.sca.interfacedef.util:org.apache.tuscany.sca.interfacedef.wsdl:org.apache.tuscany.sca.invocation:org.apache.tuscany.sca.monitor:org.apache.tuscany.sca.policy:org.apache.tuscany.sca.policy.authentication.token:org.apache.tuscany.sca.policy.security:org.apache.tuscany.sca.policy.util:org.apache.tuscany.sca.provider:org.apache.tuscany.sca.runtime:org.apache.tuscany.sca.web.javascript:org.apache.tuscany.sca.work:org.apache.tuscany.sca.xsd</packages> 
						</group>
					</groups>  <!-- -->
				</configuration>
			</plugin>
		</plugins>
    </reporting>

</project>
