<?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>4</version>
    </parent>

    <groupId>org.apache.tuscany.sca</groupId>
    <artifactId>tuscany-sca</artifactId>
    <packaging>pom</packaging>
    <name>Apache Tuscany SCA Implementation Project (1.x)</name>
    <url>http://tuscany.apache.org</url>
    <version>1.6-SNAPSHOT</version>

    <scm>
        <connection>scm:svn:http://svn.eu.apache.org/repos/asf/tuscany/sca-java-1.x/branches/sca-java-1.6</connection>
        <developerConnection>scm:svn:https://svn.eu.apache.org/repos/asf/tuscany/sca-java-1.x/branches/sca-java-1.6</developerConnection>
        <url>http://svn.eu.apache.org/repos/asf/tuscany/sca-java-1.x/branches/sca-java-1.6</url>
    </scm>

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

    <properties>
        <notice.dir>.</notice.dir>
    </properties>

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

    <repositories>
       <repository>
          <id>apache.incubator</id>
          <url>http://people.apache.org/repo/m2-incubating-repository</url>
           <releases>
               <enabled>true</enabled>
           </releases>
           <snapshots>
               <enabled>false</enabled>
           </snapshots>
       </repository>
       <!-- Apache SNAPSHOT repository for unreleased artifacts -->
       <repository>
            <id>apache.snapshots</id>
            <name>Apache SNAPSHOT Repository</name>
            <url>http://people.apache.org/repo/m2-snapshot-repository</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>apache.ws.zone</id>
            <name>Apache WS Zone Repository</name>
            <url>http://ws.zones.apache.org/repository2</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>apache.repository</id>
            <name>Apache Repository</name>
            <url>https://repository.apache.org/content/groups/snapshots</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>indiana</id>
            <url>http://ftp.ussg.iu.edu/eclipse/modeling/emf/emf/maven2/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>osuosl.org</id>
            <url>http://ftp.osuosl.org/pub/eclipse/tools/emf/maven2</url>
           <releases>
               <enabled>true</enabled>
           </releases>
           <snapshots>
               <enabled>false</enabled>
           </snapshots>
        </repository>  
        <repository>
            <id>ibiblio</id>
            <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
           <releases>
               <enabled>true</enabled>
           </releases>
           <snapshots>
               <enabled>false</enabled>
           </snapshots>
        </repository>     
        <repository>
            <id>maven2.repo</id>
            <url>http://repo1.maven.org/maven2/</url>
           <releases>
               <enabled>true</enabled>
           </releases>
           <snapshots>
               <enabled>false</enabled>
           </snapshots>
        </repository> 
    </repositories>

    <pluginRepositories>
        <!-- Apache repository for artifacts released by Apache TLP projects -->
        <pluginRepository>
            <id>apache</id>
            <name>Apache Repository</name>
            <url>http://people.apache.org/repo/m2-ibiblio-rsync-repository</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>

        <!-- Apache Incubator repository for artifacts released by Incubator projects -->
        <pluginRepository>
            <id>apache.incubator</id>
            <name>Apache Incubator Repository</name>
            <url>http://people.apache.org/repo/m2-incubating-repository</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>

        <!-- Apache SNAPSHOT repository for unreleased artifacts -->
        <pluginRepository>
            <id>apache.snapshots</id>
            <name>Apache SNAPSHOT Repository</name>
            <url>http://people.apache.org/repo/m2-snapshot-repository</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>

        <!-- Codehaus SNAPSHOT repository -->
        <pluginRepository>
            <id>codehaus-snapshot</id>
            <name>Codehaus Snapshot Repository</name>
            <url>http://snapshots.repository.codehaus.org</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>

        <!-- Java download repository -->
        <pluginRepository>
            <id>java download</id>
            <name>Java Download Repository</name>
            <url>http://download.java.net/maven/2</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

    <distributionManagement>
        <repository>
            <id>apache.releases</id>
            <name>Apache Release Distribution Repository</name>
            <url>scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository</url>
        </repository>
        <snapshotRepository>
            <id>apache.snapshots</id>
            <name>Apache Development Snapshot Repository</name>
            <url>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
        </snapshotRepository>
    </distributionManagement>

    <profiles>
        <profile>
            <id>default</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>modules</module>
                <module>tools</module>
                <module>samples</module>
                <module>itest</module>
                <module>vtest</module>
                <module>tutorials</module>
            </modules>
        </profile>

        <profile>
            <id>distribution</id>
            <modules>
                <module>modules</module>
                <module>tools</module>
                <module>samples</module>
                <module>itest</module>
                <module>vtest</module>
                <module>tutorials</module>
                <module>demos</module>
                <module>distribution</module>
            </modules>
        </profile>

        <profile>
            <id>sources</id>
            <modules>
                <module>modules</module>
                <module>tools</module>
                <module>samples</module>
                <module>itest</module>
                <module>vtest</module>
                <module>tutorials</module>
            </modules>
            <properties>
                <maven.test.skip>true</maven.test.skip>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <configuration>
                            <attach>true</attach>
                        </configuration>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>         
            </build>
        </profile>

        <profile>
            <id>eclipse</id>
            <properties>
                <notice.dir>src/main/resources</notice.dir>
            </properties>
            <modules>
                <module>modules</module>
                <module>tools</module>
                <module>samples</module>
                <module>itest</module>
                <module>vtest</module>
                <module>tutorials</module>
                <module>demos</module>
                <module>distribution</module>
            </modules>
            <build>
                <plugins>
                   <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-eclipse-plugin</artifactId>
                      <version>2.6</version>
                   </plugin>            
                </plugins>       
            </build> 
        </profile>

        <profile>
            <id>osgi</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <modules>
                <module>calculator</module>
            </modules>
            <properties>
                <maven.test.skip.exec>true</maven.test.skip.exec>
            </properties>
            <build>
                <plugins>
                <plugin>
                    <groupId>org.apache.tuscany.sca</groupId>
                    <artifactId>tuscany-maven-osgi-junit</artifactId>
                    <version>1.6-SNAPSHOT</version>
                    <executions>
                        <execution>
                            <id>osgi-test</id>
                            <phase>integration-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>1.6-SNAPSHOT</version>
                        <executions>
                            <execution>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>execute</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>           
                </plugins>         
            </build>
        </profile>
        
        <profile>
            <id>security</id>
            <modules>
                <!-- <module>demos</module> -->
                <module>itest</module>
                <module>vtest</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.3.1</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.5</source>
                            <target>1.5</target>
                            <showDeprecation>true</showDeprecation>
                            <compilerArgument>-Xlint:unchecked,deprecation,fallthrough,finally</compilerArgument>
                        </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>
                </includes>
            </resource>
        </resources>

        <pluginManagement>
            <plugins>

                <!-- compiler plugin configuration -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.0.2</version>
                    <configuration>
<!--                        <compilerId>eclipse</compilerId> -->
                        <source>1.5</source>
                        <target>1.5</target>
                    </configuration>
<!--
                    <dependencies>
                        <dependency>
                            <groupId>org.codehaus.plexus</groupId>
                            <artifactId>plexus-compiler-eclipse</artifactId>
                        </dependency>
                    </dependencies>
-->
                </plugin>

                <!-- surefire plugin configuration -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.3.1</version>
                    <configuration>
                        <includes>
                            <include>**/*TestCase.java</include>
                        </includes>
                        <reportFormat>brief</reportFormat>
                        <useFile>false</useFile>
                        <forkMode>once</forkMode>
                        <argLine>-ea -Xmx256m</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>${name}</Specification-Title>
                                <Specification-Vendor>The Apache Software Foundation</Specification-Vendor>
                                <Specification-Version>${version}</Specification-Version>
                                <Implementation-Title>${name}</Implementation-Title>
                                <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
                                <Implementation-Vendor>The Apache Software Foundation</Implementation-Vendor>
                                <Implementation-Version>${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.5</jdk>
                    </configuration>
                </plugin>

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

                    <dependencies>
                        <dependency>
                            <groupId>ant</groupId>
                            <artifactId>ant</artifactId>
                            <version>1.6.5</version>
                            <exclusions>
                              <exclusion>
                                <groupId>org.apache.ant</groupId>
                                <artifactId>ant</artifactId>
                              </exclusion>
                            </exclusions>
                        </dependency>
                        <dependency>
                            <groupId>ant</groupId>
                            <artifactId>ant-trax</artifactId>
                            <version>1.6.5</version>
                            <exclusions>
                              <exclusion>
                                <groupId>org.apache.ant</groupId>
                                <artifactId>ant-trax</artifactId>
                              </exclusion>
                            </exclusions>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>
