<?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 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>13</version>
    </parent>

    <groupId>org.apache.stratos</groupId>
    <artifactId>stratos-parent</artifactId>
    <packaging>pom</packaging>
    <version>4.0.0</version>
    <name>Apache Stratos (incubating) Project</name>
    <description>Apache Stratos (Incubating) is an open source polyglot Platform as a Service (PaaS) framework</description>
    <url>http://stratos.incubator.apache.org</url>
    <inceptionYear>2012</inceptionYear>

    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    
    <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
    </organization>

    <issueManagement>
        <system>JIRA</system>
        <url>https://issues.apache.org/jira/browse/STRATOS</url>
    </issueManagement>

    <mailingLists>
        <mailingList>
            <name>Developer List</name>
            <subscribe>dev-subscribe@stratos.incubator.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@stratos.incubator.apache.org</unsubscribe>
            <post>dev@stratos.incubator.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/incubator-stratos-dev/</archive>
        </mailingList>
        <mailingList>
            <name>Commits List</name>
            <subscribe>commits-subscribe@stratos.incubator.apache.org</subscribe>
            <unsubscribe>commits-unsubscribe@stratos.incubator.apache.org</unsubscribe>
            <archive>http://mail-archives.apache.org/mod_mbox/incubator-stratos-commits/</archive>
        </mailingList>
    </mailingLists>

    <scm>
        <connection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-stratos.git</connection>
        <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-stratos.git</developerConnection>
        <url>https://git-wip-us.apache.org/repos/asf?p=incubator-stratos.git</url>
        <tag>4.0.0-rc4</tag>
    </scm>

    <modules>
        <module>dependencies</module>
        <module>service-stubs</module>
        <module>components</module>
        <module>extensions</module>
        <module>features</module>
        <module>products</module>
    </modules>

    <repositories>
        <repository>
            <id>wso2-nexus</id>
            <name>WSO2 internal Repository</name>
            <url>http://maven.wso2.org/nexus/content/groups/wso2-public/</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>daily</updatePolicy>
                <checksumPolicy>ignore</checksumPolicy>
            </releases>
        </repository>
    </repositories>

    <profiles>
        <profile>
            <id>pedantic</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <source>1.6</source>
                            <target>1.6</target>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.rat</groupId>
                        <artifactId>apache-rat-plugin</artifactId>
                        <configuration>
                            <excludes>
                                <exclude>**/target/**/*</exclude>
                                <exclude>**/.settings/**/*</exclude>
                                <exclude>**/.project</exclude>
                                <exclude>**/.classpath</exclude>
                                <exclude>**/.git/**/*</exclude>
                                <exclude>**/README.md</exclude>
                                <exclude>**/MANIFEST.MF</exclude>
                                <exclude>**/edit_area/**/*</exclude>
                                <exclude>**/editarea/**/*</exclude>
                                <exclude>**/jquery/**/*</exclude>
                                <exclude>**/jquery*</exclude>
                                <exclude>**/*.iml</exclude>
                                <exclude>**/*.iws</exclude>
                                <exclude>**/*.ipr</exclude>
                                <exclude>**/.gitignore</exclude>
                                <exclude>**/payload/launch-params</exclude>
                                <exclude>**/*.key</exclude>
                                <exclude>**/bootstrap*.css</exclude>
                                <exclude>**/animation.css</exclude>
                                <exclude>**/fontello*</exclude>
                                <exclude>**/jaggery.conf</exclude>
                                <exclude>**/zoo.cfg</exclude>
                                <exclude>**/scripts/*/customization</exclude>
                                <exclude>**/siddhi.extension</exclude>
                                <exclude>**/templates/*.cfg.template</exclude>
                                <exclude>**/instrumentation.txt</exclude>
                                <exclude>**/*json</exclude>
				<exclude>**/.idea/**/*</exclude>
				<exclude>**/tlds/**/*</exclude>
				<exclude>**/highlighter/**/*</exclude>
				<exclude>**/yui/**/*</exclude>
				<exclude>**/jqueryui/**/*</exclude>
				<exclude>**/scriptaculous/**/*</exclude>
				<exclude>**/prototype-1.6.js</exclude>
				<exclude>**/prototype.js</exclude>

                                <!-- Added following based on jclouds -->
                                <exclude>**/src/test/resources/**/*.xml</exclude>
                                <!-- META-INF/services files -->
                                <exclude>**/services/*LoggingModule</exclude>
                                <exclude>**/services/*ApiMetadata</exclude>
                                <exclude>**/services/*ProviderMetadata</exclude>
				<exclude>**/dhtmlHistory.js</exclude>
                            </excludes>
			    <excludeSubProjects>false</excludeSubProjects>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>verify</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

	<profile>
            <id>addLicense</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <source>1.6</source>
                            <target>1.6</target>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.rat</groupId>
                        <artifactId>apache-rat-plugin</artifactId>
			<version>0.10</version>
                        <configuration>
                            <excludes>
                                <exclude>**/target/**/*</exclude>
                                <exclude>**/.settings/**/*</exclude>
                                <exclude>**/.project</exclude>
                                <exclude>**/.classpath</exclude>
                                <exclude>**/.git/**/*</exclude>
                                <exclude>**/README.md</exclude>
                                <exclude>**/MANIFEST.MF</exclude>
                                <exclude>**/edit_area/**/*</exclude>
                                <exclude>**/editarea/**/*</exclude>
                                <exclude>**/jquery/**/*</exclude>
                                <exclude>**/jquery*</exclude>
                                <exclude>**/*.iml</exclude>
                                <exclude>**/*.iws</exclude>
                                <exclude>**/*.ipr</exclude>
                                <exclude>**/.gitignore</exclude>
                                <exclude>**/payload/launch-params</exclude>
                                <exclude>**/*.key</exclude>
                                <exclude>**/bootstrap*.css</exclude>
                                <exclude>**/animation.css</exclude>
                                <exclude>**/fontello*</exclude>
                                <exclude>**/jaggery.conf</exclude>
                                <exclude>**/zoo.cfg</exclude>
                                <exclude>**/scripts/*/customization</exclude>
                                <exclude>**/siddhi.extension</exclude>
                                <exclude>**/templates/*.cfg.template</exclude>
                                <exclude>**/instrumentation.txt</exclude>
                                <exclude>**/*json</exclude>


                                <!-- Added following based on jclouds -->
                                <exclude>**/src/test/resources/**/*.xml</exclude>
                                <!-- META-INF/services files -->
                                <exclude>**/services/*LoggingModule</exclude>
                                <exclude>**/services/*ApiMetadata</exclude>
                                <exclude>**/services/*ProviderMetadata</exclude>
                            </excludes>
			    <licenses>
            			<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
              			<licenseFamilyCategory>BSD</licenseFamilyCategory>
              			<licenseFamilyName>The BSD License</licenseFamilyName>
              			<patterns>
                			<pattern>The BSD License</pattern>
              			</patterns>
            			</license>
				<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                                <licenseFamilyCategory>CDDL</licenseFamilyCategory>
                                <licenseFamilyName>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE Version 1.0</licenseFamilyName>
                                <patterns>
                                        <pattern>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE</pattern>
                                </patterns>
                                </license>
				<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                                <licenseFamilyCategory>EPL</licenseFamilyCategory>
                                <licenseFamilyName>Eclipse Public License - v 1.0</licenseFamilyName>
                                <patterns>
                                        <pattern>Eclipse Public License</pattern>
                                </patterns>
                                </license>
				<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                                <licenseFamilyCategory>MIT</licenseFamilyCategory>
                                <licenseFamilyName>The MIT License (MIT)</licenseFamilyName>
                                <patterns>
                                        <pattern>MIT License</pattern>
                                </patterns>
                                </license>
				<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                                <licenseFamilyCategory>JSMON</licenseFamilyCategory>
                                <licenseFamilyName>JSMON</licenseFamilyName>
                                <patterns>
                                        <pattern>JSMON</pattern>
                                </patterns>
                                </license>
				<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                                <licenseFamilyCategory>JDOM</licenseFamilyCategory>
                                <licenseFamilyName>JDOM</licenseFamilyName>
                                <patterns>
                                        <pattern>JDOM</pattern>
                                </patterns>
                                </license>
				<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                                <licenseFamilyCategory>JSON</licenseFamilyCategory>
                                <licenseFamilyName>The JSON License</licenseFamilyName>
                                <patterns>
                                        <pattern>JSON License</pattern>
                                </patterns>
                                </license>
				<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                                <licenseFamilyCategory>MPL10</licenseFamilyCategory>
                                <licenseFamilyName>MOZILLA PUBLIC LICENSE Version 1.0</licenseFamilyName>
                                <patterns>
                                        <pattern>MOZILLA PUBLIC LICENSE</pattern>
                                </patterns>
                                </license>
				<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                                <licenseFamilyCategory>SNAPTREE</licenseFamilyCategory>
                                <licenseFamilyName>SNAPTREE LICENSE</licenseFamilyName>
                                <patterns>
                                        <pattern>SNAPTREE LICENSE</pattern>
                                </patterns>
                                </license>
				<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                                <licenseFamilyCategory>CPL1</licenseFamilyCategory>
                                <licenseFamilyName>Common Public License 1.0</licenseFamilyName>
                                <patterns>
                                        <pattern>CPL</pattern>
                                </patterns>
                                </license>
          		    </licenses>
			    <licenseFamilies>
            			<licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
              			<familyName>The BSD LicenseThe BSD License</familyName>
            			</licenseFamily>
                                <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                                <familyName>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE Version 1.0</familyName>
                                </licenseFamily>				
                                <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                                <familyName>Eclipse Public License - v 1.0</familyName>
                                </licenseFamily>
                                <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                                <familyName>The MIT License (MIT)</familyName>
                                </licenseFamily>
                                <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                                <familyName>JSMON</familyName>
                                </licenseFamily>
                                <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                                <familyName>JDOM</familyName>
                                </licenseFamily>
                                <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                                <familyName>The JSON License</familyName>
                                </licenseFamily>
                                <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                                <familyName>MOZILLA PUBLIC LICENSE Version 1.0</familyName>
                                </licenseFamily>
                                <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                                <familyName>SNAPTREE LICENSE</familyName>
                                </licenseFamily>
                                <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                                <familyName>Common Public License 1.0</familyName>
                                </licenseFamily>
          		    </licenseFamilies>
			    <addLicenseHeaders>forced</addLicenseHeaders>
                            <ignoreErrors>false</ignoreErrors>
			    <excludeSubProjects>false</excludeSubProjects>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>verify</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <pluginRepositories>
        <pluginRepository>
            <id>wso2-maven2-repository-1</id>
            <url>http://dist.wso2.org/maven2</url>
        </pluginRepository>
        <pluginRepository>
            <id>wso2-maven2-repository-2</id>
            <url>http://dist.wso2.org/snapshots/maven2</url>
        </pluginRepository>
    </pluginRepositories>

    <build>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ssh</artifactId>
                <version>2.1</version>
            </extension>
        </extensions>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>1.3.1</version>
                <executions>
                    <execution>
                        <id>enforce</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <rules>
                        <requireMavenVersion>
                            <version>[3.0,)</version>
                        </requireMavenVersion>
                        <requireJavaVersion>
                            <version>[1.6,1.8)</version>
                        </requireJavaVersion>
                    </rules>
                    <fail>true</fail>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.jvnet.maven.incrementalbuild</groupId>
                <artifactId>incremental-build-plugin</artifactId>
                <version>1.3</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>incremental-build</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-remote-resources-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>**/target/**/*</exclude>
                        <exclude>**/.gitignore</exclude>
                        <exclude>**/.git/**/*</exclude>
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <configuration>
                            <resourceBundles>
                                <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
                            </resourceBundles>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                        <configuration>
                            <excludes>
                                <exclude>${project.build.directory}/**/*</exclude>
                                <exclude>**/.gitignore</exclude>
                                <exclude>**/.git/**/*</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-scr-plugin</artifactId>
                    <version>1.7.2</version>
                    <executions>
                        <execution>
                            <id>generate-scr-scrdescriptor</id>
                            <goals>
                                <goal>scr</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>2.3.5</version>
                    <extensions>true</extensions>
                    <configuration>
                        <obrRepository>NONE</obrRepository>
                        <!--<instructions>
                          <_include>-osgi.bnd</_include>
                        </instructions>-->
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>jar-no-fork</goal>
                            </goals>
                            <configuration>
                                <excludes>
                                    <exclude>${project.build.directory}/**/*</exclude>
                                    <exclude>**/.gitignore</exclude>
                                    <exclude>**/.git/**/*</exclude>
                                </excludes>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.2.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-project-info-reports-plugin</artifactId>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <properties>
        <!-- Carbon related versions -->
        <wso2carbon.version>4.2.0</wso2carbon.version>
        <carbon.platform.package.import.version.range>[4.2.0, 5.0.0)</carbon.platform.package.import.version.range>
        <carbon.platform.package.export.version>4.2.0</carbon.platform.package.export.version>
        <axis2.osgi.version>1.6.1.wso2v10</axis2.osgi.version>
        <jclouds.version>1.7.1</jclouds.version>
        <jclouds.stratos.version>1.7.1-stratos</jclouds.stratos.version>
    </properties>
</project>
