<!--
  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>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf</artifactId>
    <version>2.1.3.1-fuse</version>
    <name>FUSE Services Framework</name>
    <url>http://open.iona.com/products/fuse-services-framework/</url>

    <packaging>pom</packaging>

    <scm>
        <connection>scm:svn:http://projects.open.iona.com/projects/svn/iona/cxf/trunk</connection>
        <developerConnection>scm:svn:https://projects.open.iona.com/projects/svn/iona/cxf/trunk</developerConnection>
        <url>http://projects.open.iona.com/projects/trac/iona/browser/cxf/trunk</url>
    </scm>
    <issueManagement>
        <system>jira</system>
        <url>http://open.iona.com/issues/browse/SF</url>
    </issueManagement>

    <prerequisites>
        <maven>2.0.5</maven>
    </prerequisites>

    <properties>
         <release-repo-url>scpexe://repo.open.iona.com/www/repo.open.iona.com/maven2</release-repo-url>
         <snapshot-repo-url>scpexe://repo.open.iona.com/www/repo.open.iona.com/maven2-snapshot</snapshot-repo-url>
         <m1-repo-url>scpexe://repo.open.iona.com/www/repo.open.iona.com/maven1</m1-repo-url>
         <compiler.fork>false</compiler.fork>
     </properties>

     <distributionManagement>
       <repository>
         <id>open.iona.m2</id>
         <name>IONA Open Source Community Release Repository</name>
         <url>${release-repo-url}</url>
         <uniqueVersion>false</uniqueVersion>
       </repository>
       <snapshotRepository>
         <id>open.iona.m2-snapshot</id>
         <name>IONA Open Source Community Snapshot Repository</name>
         <url>${snapshot-repo-url}</url>
         <uniqueVersion>false</uniqueVersion>
       </snapshotRepository>
     </distributionManagement>

    <inceptionYear>2006</inceptionYear>
    <mailingLists>
        <mailingList>
            <name>Apache CXF User List</name>
            <subscribe>users-subscribe@cxf.apache.org</subscribe>
            <unsubscribe>users-unsubscribe@cxf.apache.org</unsubscribe>
            <post>users@cxf.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/cxf-users</archive>
        </mailingList>
        <mailingList>
            <name>Apache CXF Developer List</name>
            <subscribe>dev-subscribe@cxf.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@cxf.apache.org</unsubscribe>
            <post>dev@cxf.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/cxf-dev</archive>
        </mailingList>
        <mailingList>
            <name>Apache CXF Commits List</name>
            <subscribe>commits-subscribe@cxf.apache.org</subscribe>
            <unsubscribe>commits-unsubscribe@cxf.apache.org</unsubscribe>
            <post>commits@cxf.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/cxf-commits</archive>
        </mailingList>
        <mailingList>
            <name>Apache CXF Issues List</name>
            <subscribe>issues-subscribe@cxf.apache.org</subscribe>
            <unsubscribe>issues-unsubscribe@cxf.apache.org</unsubscribe>
            <post>issues@cxf.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/cxf-issues</archive>
        </mailingList>
        <mailingList>
            <name>Apache CXF Build Notifications List</name>
            <subscribe>notifications-subscribe@cxf.apache.org</subscribe>
            <unsubscribe>notifications-unsubscribe@cxf.apache.org</unsubscribe>
            <post>notifications@cxf.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/cxf-notifications</archive>
        </mailingList>
    </mailingLists>
    <ciManagement>
        <system>CruiseControl</system>
        <url>http://pdceltix.boston.amer.iona.com:8080/cruisecontrol</url>
        <!-- HC: We are not really going to notify an apache email list are we???
        <notifiers>
            <notifier>
                <type>mail</type>
                <configuration>
                    <address>notifications@cxf.apache.org</address>
                </configuration>
            </notifier>
        </notifiers>
      -->
    </ciManagement>
    <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>

    <modules>
        <module>buildtools</module>
        <module>maven-plugins/xml2fastinfoset-plugin</module>
        <module>parent</module>
        <module>common</module>
        <module>api</module>
        <module>tools</module>
        <module>testutils</module>
        <module>rt</module>
        <module>extras</module>
        <module>integration</module>
        <module>maven-plugins</module>
        <module>systests</module>
    </modules>


    <profiles>
        <profile>
            <id>unique.version</id>
            <distributionManagement>
                <snapshotRepository>
                    <uniqueVersion>true</uniqueVersion>
                    <id>iona-snapshot</id>
                    <name>IONA Maven Snapshot Repository</name>
                    <url>${snapshot-repo-url}</url>
                </snapshotRepository>
            </distributionManagement>
        </profile>
        <profile>
            <!-- default profile enables checkstyle and Xlint stuff -->
            <id>everything</id>
            <modules>
                <module>distribution</module>
                <module>tools/eclipse-plugin</module>
                <!--module>iona_samples</module-->
            </modules>
        </profile>
        <profile>
            <id>setup.eclipse</id>
            <modules>
                <!--module>distribution</module-->
                <module>tools/eclipse-plugin</module>
            </modules>
            <properties>
                <eclipse.workspace.dir>${basedir}/../workspace</eclipse.workspace.dir>
            </properties>
            <build>
                <defaultGoal>process-test-sources</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-eclipse-plugin</artifactId>
                        <inherited>false</inherited>
                        <executions>
                            <execution>
                                <id>setup.eclipse.workspace</id>
                                <phase>process-test-sources</phase>
                                <goals>
                                    <goal>configure-workspace</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <workspace>${eclipse.workspace.dir}</workspace>
                            <workspaceCodeStylesURL>file:etc/eclipse/CXFCodeFormatter.xml</workspaceCodeStylesURL>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <inherited>false</inherited>
                        <dependencies>
                            <dependency>
                                <groupId>ant</groupId>
                                <artifactId>ant-nodeps</artifactId>
                                <version>1.6.5</version>
                            </dependency>
                            <dependency>
                                <groupId>ant</groupId>
                                <artifactId>ant-trax</artifactId>
                                <version>1.6.5</version>
                            </dependency>
                            <dependency>
                                <groupId>org.apache.cxf</groupId>
                                <artifactId>cxf-buildtools</artifactId>
                                <version>${project.version}</version>
                            </dependency>
                        </dependencies>
                        <executions>
                            <execution>
                                <id>setup.workspace</id>
                                <phase>validate</phase>
                                <configuration>
                                    <tasks>
                                        <path id="ecp.ws.path" location="${eclipse.workspace.dir}" />
                                        <property name="full.eclipse.workspace" refid="ecp.ws.path" />

                                        <whichresource resource="/cxf-eclipse-pmd" property="pmd.url" />
                                        <whichresource resource="/cxf-pmd-ruleset.xml" property="pmdruleset.url" />
                                        <whichresource resource="/cxf-eclipse-checkstyle" property="eclipse.checkstyle.url" />
                                        <whichresource resource="/cxf-checkstyle.xml" property="checkstyle.url" />
                                        <whichresource resource="/cxf-checkstyle-iona.xml" property="checkstyle.iona.url" />
                                        <whichresource resource="/cxf-checkstyle-corba.xml" property="corba.checkstyle.url" />

                                        <mkdir dir="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings" />
                                        <mkdir dir="${full.eclipse.workspace}/.metadata/.plugins/com.atlassw.tools.eclipse.checkstyle" />
                                        <mkdir dir="${full.eclipse.workspace}/.metadata/.plugins/net.sourceforge.pmd.eclipse" />

                                        <get src="${checkstyle.url}" dest="${full.eclipse.workspace}/cxf-checkstyle.xml" />
                                        <get src="${checkstyle.iona.url}" dest="${full.eclipse.workspace}/cxf-checkstyle-iona.xml" />
                                        <get src="${corba.checkstyle.url}" dest="${full.eclipse.workspace}/cxf-checkstyle-corba.xml" />

                                        <!-- Add checkstyle config -->
                                        <copy file="${basedir}/etc/eclipse/template.checkstyle-config.xml" tofile="${full.eclipse.workspace}/.metadata/.plugins/com.atlassw.tools.eclipse.checkstyle/checkstyle-config.xml" overwrite="no">
                                            <filterset>
                                                <filter token="CHECKSTYLE_CONFIG_FILE" value="${full.eclipse.workspace}/cxf-checkstyle.xml" />
                                                <filter token="CHECKSTYLE_IONA_CONFIG_FILE" value="${full.eclipse.workspace}/cxf-checkstyle-iona.xml" />
                                                <filter token="CHECKSTYLE_CORBA_CONFIG_FILE" value="${full.eclipse.workspace}/cxf-checkstyle-corba.xml" />
                                                <filter token="APACHE_HEADER_FILE" value="${full.eclipse.workspace}/apache-header.txt" />
                                            </filterset>
                                        </copy>

                                        <xslt style="${basedir}/etc/eclipse/addcheckstyle.xsl" in="${full.eclipse.workspace}/.metadata/.plugins/com.atlassw.tools.eclipse.checkstyle/checkstyle-config.xml" out="${full.eclipse.workspace}/.metadata/.plugins/com.atlassw.tools.eclipse.checkstyle/checkstyle-config.xml.new">
                                            <param name="checkstyleconfig" expression="${full.eclipse.workspace}/cxf-checkstyle.xml" />
                                            <param name="checkstyleconfigcorba" expression="${full.eclipse.workspace}/cxf-checkstyle-corba.xml" />
                                        </xslt>
                                        <copy file="${full.eclipse.workspace}/.metadata/.plugins/com.atlassw.tools.eclipse.checkstyle/checkstyle-config.xml.new" tofile="${full.eclipse.workspace}/.metadata/.plugins/com.atlassw.tools.eclipse.checkstyle/checkstyle-config.xml" overwrite="yes" />


                                        <!-- Add warning flags that we want -->
                                        <propertyfile file="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs">
                                            <entry key="org.eclipse.jdt.core.compiler.problem.missingSerialVersion" value="ignore" />
                                            <entry key="org.eclipse.jdt.core.compiler.problem.unusedImport" value="ignore" />
                                            <entry key="org.eclipse.jdt.core.compiler.problem.annotationSuperInterface" value="ignore" />
                                            <entry key="org.eclipse.jdt.core.compiler.problem.rawTypeReference" value="ignore" />
                                        </propertyfile>


                                        <!-- Add code format rules -->
                                        <loadfile property="eclipse.code.cleanup" srcFile="${basedir}/etc/eclipse/CXFCleanUp.xml" />
                                        <loadfile property="eclipse.code.templates" srcFile="${basedir}/etc/eclipse/codetemplates.xml" />
                                        <loadfile property="eclipse.xml.templates" srcFile="${basedir}/etc/eclipse/xmltemplates.xml" />
                                        <propertyfile file="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs">
                                            <entry key="cleanup_profile" value="_CXF" />
                                            <entry key="org.eclipse.jdt.ui.cleanupprofiles" value="${eclipse.code.cleanup}" />
                                            <entry key="org.eclipse.jdt.ui.text.custom_code_templates" value="${eclipse.code.templates}" />

                                            <!-- Add import order -->
                                            <entry key="org.eclipse.jdt.ui.importorder" value="java;javax;org.w3c;org.xml;junit" />
                                            <!-- Sort order -->
                                            <entry key="org.eclipse.jdt.ui.visibility.order" value="B,R,D,V," />
                                            <entry key="outlinesortoption" value="T,SF,F,SI,I,C,SM,M," />
                                            <entry key="org.eclipse.jdt.ui.enable.visibility.order" value="true" />
                                        </propertyfile>
                                        <propertyfile file="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.xml.ui.prefs">
                                            <entry key="eclipse.preferences.version" value="1" />
                                            <entry key="org.eclipse.wst.sse.ui.custom_templates" value="${eclipse.xml.templates}" />
                                        </propertyfile>
                                    </tasks>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <!-- We want to deploy the artifact to a staging location for perusal -->
        <!--
                    <plugin>
                        <inherited>true</inherited>
                        <artifactId>maven-deploy-plugin</artifactId>
                        <version>2.3</version>
                        <configuration>
                            <altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
                            <updateReleaseInfo>true</updateReleaseInfo>
                        </configuration>
                    </plugin>
        -->
                    <!-- We want to sign the artifact, the POM, and all attached artifacts -->
        <!--
                    <plugin>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.0-alpha-4</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
        -->
                </plugins>
            </build>
        </profile>
        <profile>
            <id>deploy</id>
            <modules>
                <module>distribution</module>
                <module>tools/eclipse-plugin</module>
                <!-- Not yet included.
                <module>iona_samples</module>
                -->
            </modules>
            <build>
                <defaultGoal>deploy</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>2.0.4</version>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>


    <build>
        <defaultGoal>install</defaultGoal>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <configuration>
                        <tagBase>https://projects.open.iona.com/projects/svn/iona/cxf/tags/</tagBase>
                        <useReleaseProfile>false</useReleaseProfile>
                        <preparationGoals>clean install</preparationGoals>
                        <goals>deploy</goals>
                        <arguments>-Prelease,deploy</arguments>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <attach>true</attach>
                        <source>1.5</source>
                        <quiet>true</quiet>
                        <bottom>Apache CXF</bottom>
                        <javadocVersion>1.5</javadocVersion>
                        <encoding>UTF-8</encoding>
                        <!--subpackages>org.apache.cxf</subpackages-->
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.4.3</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.0.2</version>
                    <configuration>
                        <source>1.5</source>
                        <target>1.5</target>
                        <maxmem>256M</maxmem>
                        <fork>${compiler.fork}</fork>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <archive>
                            <manifestEntries>
                                <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>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.2-beta-2</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>2.5.1</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.cxf</groupId>
                            <artifactId>cxf-buildtools</artifactId>
                            <version>${project.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
            </plugin>
        </plugins>
    </reporting>

</project>
