<?xml version="1.0" encoding="UTF-8"?>
<!--
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.

 Copyright © 2011-2012 ForgeRock AS. All rights reserved.

 The contents of this file are subject to the terms
 of the Common Development and Distribution License
 (the License). You may not use this file except in
 compliance with the License.

 You can obtain a copy of the License at
 http://forgerock.org/license/CDDLv1.0.html
 See the License for the specific language governing
 permission and limitations under the License.

 When distributing Covered Code, include this CDDL
 Header Notice in each file and include the License file
 at http://forgerock.org/license/CDDLv1.0.html
 If applicable, add the following below the CDDL Header,
 with the fields enclosed by brackets [] replaced by
 your own identifying information:
 "Portions Copyrighted [year] [name of copyright owner]"
-->
<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.forgerock</groupId>
        <artifactId>forgerock-parent</artifactId>
        <version>1.1.0-SNAPSHOT</version>
    </parent>
    <groupId>org.forgerock.openicf.framework</groupId>
    <artifactId>framework</artifactId>
    <version>1.1.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>OpenICF Project</name>
    <description>
     The Open Identity Connectors Framework and Toolkit (OpenICF) is built to help drive development of Connectors.
     Connectors provide a consistent generic layer between applications and target resources.
    </description>
    <inceptionYear>2011</inceptionYear>
    <url>http://openicf.forgerock.org</url>
    <licenses>
        <license>
            <name>CDDL-1.0</name>
            <url>http://www.opensource.org/licenses/cddl1.php</url>
            <comments>Common Development and Distribution License (CDDL) 1.0.
            This license applies to OpenICF source code as indicated in the
            sources.
            </comments>
            <distribution>repo</distribution>
        </license>
        <license>
            <name>CC BY-NC-ND 3.0</name>
            <url>http://creativecommons.org/licenses/by-nc-nd/3.0/</url>
            <comments>Creative Commons Attribution-NonCommercial-NoDerivs 3.0
            Unported. This license applies to the site content, and to the
            documentation as indicated in the documentation source code.
            </comments>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <scm>
        <connection>scm:svn:https://svn.forgerock.org/openicf/trunk/framework/java</connection>
        <developerConnection>scm:svn:https://svn.forgerock.org/openicf/trunk/framework/java</developerConnection>
        <url>http://sources.forgerock.org/browse/openicf/trunk/framework/java</url>
    </scm>
    <distributionManagement>
        <site>
            <id>forgerock.org</id>
            <name>ForgeRock Community Server</name>
            <url>${siteDistributionURL}</url>
        </site>
    </distributionManagement>

    <!-- (see FAQ at http://maven.apache.org/guides/mini/guide-central-repository-upload.html ) -->
    <repositories>
        <repository>
            <id>forgerock-staging-repository</id>
            <name>ForgeRock Release Repository</name>
            <url>http://maven.forgerock.org/repo/releases</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>forgerock-snapshots-repository</id>
            <name>ForgeRock Snapshot Repository</name>
            <url>http://maven.forgerock.org/repo/snapshots</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>forgerock-plugins-repository</id>
            <name>ForgeRock Plugin Repository</name>
            <url>http://maven.forgerock.org/repo/repo</url>
        </pluginRepository>
    </pluginRepositories>
    
    <mailingLists>
        <mailingList>
            <name>OpenICF: Technical communications</name>
            <post>openicf@forgerock.org</post>
            <subscribe>https://lists.forgerock.org/mailman/listinfo/openicf</subscribe>
            <unsubscribe>https://lists.forgerock.org/mailman/listinfo/openicf</unsubscribe>
            <archive>https://lists.forgerock.org/pipermail/openicf/</archive>
        </mailingList>
        <mailingList>
            <name>OpenICF: Commit Notificatons</name>
            <post>commitopenicf@forgerock.org</post>
            <subscribe>https://lists.forgerock.org/mailman/listinfo/commitopenicf</subscribe>
            <unsubscribe>https://lists.forgerock.org/mailman/listinfo/commitopenicf</unsubscribe>
            <archive>https://lists.forgerock.org/pipermail/commitopenicf/</archive>
        </mailingList>
        <mailingList>
            <name>OpenICF: Developers</name>
            <post>openicf-dev@forgerock.org</post>
            <subscribe>https://lists.forgerock.org/mailman/listinfo/openicf-dev</subscribe>
            <unsubscribe>https://lists.forgerock.org/mailman/listinfo/openicf-dev</unsubscribe>
            <archive>https://lists.forgerock.org/pipermail/openicf-dev/</archive>
        </mailingList>
        <!--mailingList>
            <name>OpenICF: Issue Notifications</name>
            <post>openicf-issues@forgerock.org</post>
            <subscribe>https://lists.forgerock.org/mailman/listinfo/openicf-issues</subscribe>
            <unsubscribe>https://lists.forgerock.org/mailman/listinfo/openicf-issues</unsubscribe>
            <archive>https://lists.forgerock.org/pipermail/openicf-issues/</archive>
        </mailingList-->
    </mailingLists>

    <issueManagement>
        <system>jira</system>
        <url>https://bugster.forgerock.org/jira/browse/OPENICF/component/10192</url>
    </issueManagement>

    <ciManagement>
        <system>hudson</system>
        <url>http://builds.forgerock.org/job/OpenICF</url>
        <notifiers>
            <notifier>
                <type>mail</type>
                <sendOnError>true</sendOnError>
                <sendOnFailure>true</sendOnFailure>
                <sendOnSuccess>false</sendOnSuccess>
                <sendOnWarning>false</sendOnWarning>
                <!--address>openicf-issues@forgerock.org</address-->
            </notifier>
        </notifiers>
    </ciManagement>

    <developers>
        <developer>
            <id>forgerock</id>
            <name>OpenICF Community</name>
            <email>openicf@forgerock.org</email>
            <organization>ForgeRock</organization>
            <roles>
                <role>Architect</role>
                <role>Release Manager</role>
                <role>Java Developer</role>
            </roles>
            <timezone>+1</timezone>
        </developer>
    </developers>

    <properties>
        <framework.compatibilityVersion>1.1</framework.compatibilityVersion>
        <licenseResourceBundle>org.forgerock.openicf:openicf-license:1.0.0</licenseResourceBundle>
        <siteDistributionURL>scp://forgerock.org/var/www/vhosts/openicf.forgerock.org/httpdocs</siteDistributionURL>
        <jira.componentIds>10192</jira.componentIds>
		<jira.fixVersionIds/>
        <jira.versionPrefix>framework</jira.versionPrefix>
    </properties>

    <modules>
        <module>connector-framework</module>
        <module>connector-test-common</module>
        <module>connector-framework-internal</module>
        <module>connector-framework-osgi</module>
        <module>connector-framework-contract</module>
        <module>testcommonv1</module>
        <module>testcommonv2</module>
        <module>testbundlev1</module>
        <module>testbundlev2</module>
        <!--module>compatibility-tests-parent</module-->
        <module>bundles-parent</module>
        <module>icfl-over-slf4j</module>
        <module>openicf-zip</module>
    </modules>

    <profiles>
        <profile>
            <id>forgerock-release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-release-plugin</artifactId>
                        <configuration>
                            <!--
                                To fix the circular dependencies the actual
                                artifacts should be available for the other
                                modules. The default clean verify preparation
                                goal leads to a missing artifact error.
                             -->
                            <preparationGoals>clean,install</preparationGoals>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>maven-3</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-site-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-descriptor</id>
                                <goals>
                                    <goal>attach-descriptor</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <outputEncoding>${project.build.sourceEncoding}</outputEncoding>
                            <reportPlugins>
                                <plugin>
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-checkstyle-plugin</artifactId>
                                    <version>2.8</version>
                                </plugin>
                                <plugin>
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-javadoc-plugin</artifactId>
                                </plugin>
                            </reportPlugins>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.forgerock.openicf.framework</groupId>
                <artifactId>connector-framework</artifactId>
                <version>1.1.0.1-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.forgerock.openicf.framework</groupId>
                <artifactId>connector-test-common</artifactId>
                <version>1.1.0.1-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.forgerock.openicf.framework</groupId>
                <artifactId>connector-framework-internal</artifactId>
                <version>1.1.0.1-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.forgerock.openicf.framework</groupId>
                <artifactId>connector-framework-contract</artifactId>
                <version>1.1.0.1-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.forgerock.openicf.framework</groupId>
                <artifactId>connector-framework</artifactId>
                <version>1.1.0.1-SNAPSHOT</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>org.forgerock.openicf.framework</groupId>
                <artifactId>testcommonv1</artifactId>
                <version>1.1.0.1-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.forgerock.openicf.framework</groupId>
                <artifactId>testcommonv2</artifactId>
                <version>1.1.0.1-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.forgerock.openicf.framework</groupId>
                <artifactId>testbundlev1</artifactId>
                <version>1.1.0.1-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.forgerock.openicf.framework</groupId>
                <artifactId>testbundlev2</artifactId>
                <version>1.1.0.1-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.forgerock.openicf</groupId>
                <artifactId>openicf-license</artifactId>
                <version>1.0.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-all</artifactId>
                <!--version>1.8.5</version-->
                <version>[1.8.5,1.8.9]</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.10</version>
            </dependency>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>6.3.1</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.forgerock.openicf</groupId>
            <artifactId>openicf-license</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <includes>
                            <include>**/*Test.java</include>
                            <include>**/*Tests.java</include>
                        </includes>
                        <excludedGroups>broken</excludedGroups>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.forgerock.openicf</groupId>
                    <artifactId>maven-surefire-execs-plugin</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <includes>
                            <include>**/*Test.java</include>
                            <include>**/*Tests.java</include>
                        </includes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <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>
                    <configuration>
                        <charset>${project.build.sourceEncoding}</charset>
                        <docencoding>${project.build.sourceEncoding}</docencoding>
                        <docfilessubdirs>true</docfilessubdirs>
                        <source>${maven.compiler.source}</source>
                        <show>public</show>
                        <links>
                            <link>http://download.oracle.com/javase/6/docs/api/</link>
                            <link>http://groovy.codehaus.org/api/</link>
                        </links>
                    </configuration>
                    <executions>
                        <execution>
                            <id>aggregate</id>
                            <goals>
                                <goal>aggregate</goal>
                            </goals>
                            <phase>site</phase>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>cobertura-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <!-- We want to package up license resources in the JARs produced -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-remote-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <configuration>
                            <resourceBundles>
                                <resourceBundle>${licenseResourceBundle}</resourceBundle>
                            </resourceBundles>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>2.4</version>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>cim</report>
                            <report>dependencies</report>
                            <report>dependency-convergence</report>
                            <report>dependency-management</report>
                            <report>distribution-management</report>
                            <report>index</report>
                            <report>issue-tracking</report>
                            <report>license</report>
                            <report>mailing-list</report>
                            <report>modules</report>
                            <report>plugin-management</report>
                            <report>plugins</report>
                            <!--report>project-team</report-->
                            <report>scm</report>
                            <report>summary</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>2.8</version>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.8</version>
                <reportSets>
                    <reportSet>
                        <id>html</id>
                        <configuration>
                            <header><![CDATA[<b>${project.name} ${project.version}</b>]]>
                            </header>
                            <footer><![CDATA[<b>${project.name} ${project.version}</b>]]>
                            </footer>
                        </configuration>
                        <reports>
                            <report>javadoc</report>
                        </reports>
                    </reportSet>
                    <reportSet>
                        <id>test-html</id>
                        <configuration>
                        </configuration>
                        <reports>
                            <report>test-javadoc</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <aggregate>${openicf.parent.reports.aggregate}</aggregate>
                    <windowTitle>OpenICF ${project.version} Reference</windowTitle>
                    <linkJavadoc>true</linkJavadoc>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.11</version>
                <configuration>
                    <showSuccess>false</showSuccess>
                    <!--reportsDirectory>${project.build.directory}/test-reports</reportsDirectory-->
                </configuration>
                <reportSets>
                    <reportSet>
                        <id>${project.artifactId}-test-report-only</id>
                        <inherited>true</inherited>
                        <reports>
                            <report>report-only</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-changes-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <columnNames>Type,Key,Summary,Assignee,Status,Resolution,Fix Version</columnNames>
                    <sortColumnNames>Type,Key DESC</sortColumnNames>
                    <resolutionIds>Unresolved, Closed</resolutionIds>
                    <statusIds>Open, Resolved, Closed</statusIds>
                    <typeIds>Bug, New Feature, Improvement, Wish</typeIds>
                    <component>${jira.componentIds}</component>
					<fixVersionIds>${jira.fixVersionIds}</fixVersionIds>
                    <versionPrefix>${jira.versionPrefix}</versionPrefix>
                </configuration>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>changes-report</report>
                            <report>jira-report</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-changelog-plugin</artifactId>
                <version>2.2</version>
                <reportSets>
                    <reportSet>
                        <id>dual-report</id>
                        <configuration>
                            <type>range</type>
                            <range>30</range>
                        </configuration>
                        <reports>
                            <report>changelog</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <aggregate>${openicf.parent.reports.aggregate}</aggregate>
                    <rulesets>
                        <ruleset>/rulesets/basic.xml</ruleset>
                        <ruleset>/rulesets/controversial.xml</ruleset>
                    </rulesets>
                    <format>xml</format>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>taglist-maven-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <aggregate>${openicf.parent.reports.aggregate}</aggregate>
                    <tags>
                        <tag>@FIXME</tag>
                        <tag>@fixme</tag>
                        <tag>FIXME</tag>
                        <tag>fixme</tag>
                        <tag>@TODO</tag>
                        <tag>@todo</tag>
                        <tag>TODO</tag>
                        <tag>todo</tag>
                        <tag>HACK</tag>
                        <tag>hack</tag>
                    </tags>
                </configuration>
            </plugin>
            <plugin>
		<!-- Note: aggregate-able, may cause problems if we aggregate jxr and
					not this because of the xref links -->
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>javancss-maven-plugin</artifactId>
                <version>2.0</version>
            </plugin>
            <plugin>
		<!-- http://mojo.codehaus.org/findbugs-maven-plugin/usage.html -->
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>2.3.3</version>
                <configuration>
                    <effort>Max</effort>
                    <threshold>Low</threshold>
                    <onlyAnalyze>org.identityconnectors.*,org.forgerock.openicf.*</onlyAnalyze>
                </configuration>
            </plugin>
            <plugin>
		<!-- http://mojo.codehaus.org/cobertura-maven-plugin/
                     http://jira.codehaus.org/browse/MCOBERTURA-145 -->
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
                <version>2.5.1</version>
                <!--version>2.6</version-->
            </plugin>
        </plugins>
    </reporting>
</project>
