<?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>  
  <groupId>npanday</groupId>  
  <artifactId>npanday-project</artifactId>  
  <packaging>pom</packaging>  
  <version>1.2</version>  
  <name>NPanday</name>  
  <url>http://www.codeplex.com/npanday</url>  
  <description>NPanday provides Maven plugins to support building of .NET applications</description>  
  <mailingLists> 
    <mailingList> 
      <name>NPanday Discussion List</name>  
      <post>npanday@discussions.codeplex.com</post>
      <archive>http://npanday.codeplex.com/Thread/List.aspx</archive>
      <otherArchives> 
        <otherArchive>http://n2.nabble.com/NPanday-Discussions-f1657131.html</otherArchive> 
      </otherArchives> 
    </mailingList>  
  </mailingLists>
  <scm> 
    <connection>scm:svn:https://npanday.svn.codeplex.com/svn/releases/npanday-1.2</connection>
    <developerConnection>scm:svn:https://npanday.svn.codeplex.com/svn/releases/npanday-1.2</developerConnection>
    <url>https://npanday.svn.codeplex.com/svn/releases/npanday-1.2</url>
  </scm>  
  <organization> 
    <name>NPanday</name>  
    <url>http://www.codeplex.com/npanday</url> 
  </organization>  
  <issueManagement> 
    <system>Codeplex Issue Tracker</system>  
    <url>http://www.codeplex.com/npanday/WorkItem/List.aspx</url> 
  </issueManagement>
  <ciManagement>
    <system>continuum</system>
    <url>http://ci.npanday.org/continuum/</url>
  </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>
  <developers> 
    <developer> 
      <name>Brett Porter</name>  
      <id>brettporter</id>  
      <email>brett@apache.org</email>  
      <roles> 
        <role>coordinator</role>  
      </roles> 
    </developer>  
    <developer> 
      <name>Melvin Sembrano</name>  
      <id>melvinsembrano</id>  
      <email>melvinsembrano@gmail.com</email>  
      <roles> 
        <role>coordinator</role>  
      </roles> 
    </developer>
    <developer> 
      <name>Joe Ocaba</name>  
      <id>jocaba</id>  
      <email>jocaba@exist.com</email>  
      <roles> 
        <role>coordinator</role>  
      </roles> 
    </developer>     
    <developer> 
      <name>C�dric</name>  
      <id>mimil</id>  
      <roles> 
        <role>developer</role>  
      </roles> 
    </developer>  
    <developer> 
      <name>Maricor Baclay</name>  
      <id>mbaclay</id>  
      <email>mbaclay@exist.com</email>  
      <roles> 
        <role>QA</role>  
      </roles> 
    </developer>  
    <developer>
      <name>Wendy Smoak</name>
      <id>wsmoak</id>
      <email>wsmoak@gmail.com</email>
    </developer> 
    <!--Emeritus Committers-->
    <developer> 
      <name>Leopoldo Agdeppa</name>  
      <id>lagdeppa</id>  
      <email>lagdeppa@exist.com</email>  
    </developer>  
    <developer> 
      <name>Jan Ancajas</name>  
      <id>jancajas</id>  
      <email>jancajas@exist.com</email>  
    </developer>
    <developer> 
      <name>Shein Ernacio</name>  
      <id>sernacio</id>  
      <email>sernacio@exist.com</email>  
    </developer>  
    <developer> 
      <name>Shane Isbell</name>  
      <id>sisbell</id>  
      <email>sisbell@apache.org</email>  
      <url>http://jroller.com/page/random7</url>  
    </developer>      
    <developer> 
      <name>Evan Worley</name>  
      <id>eworley</id>  
      <email>eworley@apache.org</email>  
    </developer>        
  </developers>
  <contributors>
    <contributor>
      <name>Kurt Harriger</name>
    </contributor>
    <contributor>
      <name>Lars Corneliussen</name>
    </contributor>
    <contributor>
      <name>Thorsten Kamann</name>
    </contributor>
    <contributor>
      <name>John Fallows</name>
    </contributor>
  </contributors>
  <modules> 
    <module>components</module>  
    <module>archetypes</module>  
    <module>plugins</module>  
    <module>dotnet</module>
    <module>misc/dotnet-repository-builder</module>
    <module>misc/npanday-repository-builder</module>
    <module>misc/npanday-installer</module>	
  </modules>  
  <build> 
    <plugins> 
      <plugin> 
        <groupId>org.apache.maven.plugins</groupId>      
        <artifactId>maven-release-plugin</artifactId>  
        <version>2.0-beta-9</version>  
        <configuration>  
          <tagBase>https://npanday.svn.codeplex.com/svn/releases/</tagBase>  
          <useReleaseProfile>false</useReleaseProfile>
          <goals>deploy</goals>  
          <arguments>-Pnpanday-release</arguments>
          <preparationGoals>clean install</preparationGoals>  
          <autoVersionSubmodules>true</autoVersionSubmodules>
		  <mavenExecutorId>forked-path</mavenExecutorId>
        </configuration>  
      </plugin>
      <plugin> 
        <artifactId>maven-javadoc-plugin</artifactId>  
        <configuration> 
          <aggregate>true</aggregate> 
        </configuration> 
      </plugin>  
      <plugin> 
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-compiler-plugin</artifactId>  
        <configuration> 
          <source>1.5</source>  
          <target>1.5</target> 
        </configuration> 
      </plugin> 
    </plugins>  
    <pluginManagement> 
      <plugins> 
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-plugin-plugin</artifactId>
          <version>2.5</version>
          <dependencies>
            <dependency>
              <groupId>com.thoughtworks.qdox</groupId>
              <artifactId>qdox</artifactId>
              <version>1.9.2</version>
            </dependency>
          </dependencies>    
        </plugin>
        <plugin> 
          <groupId>org.codehaus.modello</groupId>  
          <artifactId>modello-maven-plugin</artifactId>  
          <version>1.0-alpha-13</version>  
          <executions> 
            <execution> 
              <goals> 
                <goal>xpp3-reader</goal>  
                <goal>java</goal> 
              </goals> 
            </execution>  
            <execution> 
              <id>site</id>  
              <phase>pre-site</phase>  
              <goals> 
                <goal>xdoc</goal> 
              </goals> 
            </execution> 
          </executions> 
        </plugin> 
      </plugins> 
    </pluginManagement> 
  </build>  
  <dependencies> 
    <dependency> 
      <groupId>org.easymock</groupId>  
      <artifactId>easymock</artifactId>  
      <version>2.0</version>  
      <scope>test</scope> 
    </dependency>  
    <dependency> 
      <groupId>junit</groupId>  
      <artifactId>junit</artifactId>  
      <version>3.8.1</version>  
      <scope>test</scope> 
    </dependency> 
  </dependencies>
  <dependencyManagement> 
    <dependencies> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-assembler</artifactId>  
        <version>1.2</version> 
      </dependency>  
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-dao-project</artifactId>  
        <version>1.2</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-executable</artifactId>  
        <version>1.2</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-artifact</artifactId>  
        <version>1.2</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-plugin</artifactId>  
        <version>1.2</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-registry</artifactId>  
        <version>1.2</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-repository</artifactId>  
        <version>1.2</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-core</artifactId>  
        <version>1.2</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-vendor</artifactId>  
        <version>1.2</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-model-netdependency</artifactId>  
        <version>1.2</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-model-assembly-plugins</artifactId>  
        <version>1.2</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-model-compiler-plugins</artifactId>  
        <version>1.2</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-model-executable-plugins</artifactId>  
        <version>1.2</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-model-configuration-appenders</artifactId>  
        <version>1.2</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-model-settings</artifactId>  
        <version>1.2</version> 
      </dependency> 

      <dependency> 
        <groupId>org.apache.maven</groupId>  
        <artifactId>maven-core</artifactId>  
        <version>${mavenVersion}</version> 
      </dependency>  
      <dependency> 
        <groupId>org.apache.maven</groupId>  
        <artifactId>maven-artifact</artifactId>  
        <version>${mavenVersion}</version> 
      </dependency>  
      <dependency> 
        <groupId>org.apache.maven</groupId>  
        <artifactId>maven-project</artifactId>  
        <version>${mavenVersion}</version> 
      </dependency>  
      <dependency> 
        <groupId>org.apache.maven</groupId>  
        <artifactId>maven-plugin-api</artifactId>  
        <version>${mavenVersion}</version> 
      </dependency>  
      <dependency> 
        <groupId>net.sf.kxml</groupId>  
        <artifactId>kxml2</artifactId>  
        <version>2.1.8</version> 
      </dependency>  
      <dependency> 
        <groupId>xmlpull</groupId>  
        <artifactId>xmlpull</artifactId>  
        <version>1.1.3.4a</version> 
      </dependency>  
      <dependency> 
        <groupId>org.codehaus.plexus</groupId>  
        <artifactId>plexus-archiver</artifactId>  
        <version>1.0-alpha-9</version> 
      </dependency>  
      <dependency> 
        <groupId>org.codehaus.plexus</groupId>  
        <artifactId>plexus-utils</artifactId>  
        <version>1.4.5</version> 
      </dependency>  
      <dependency> 
        <groupId>org.codehaus.plexus</groupId>  
        <artifactId>plexus-container-default</artifactId>  
        <version>1.0-alpha-32</version> 
      </dependency>  
      <dependency> 
        <groupId>org.codehaus.plexus</groupId>  
        <artifactId>plexus-component-api</artifactId>  
        <version>1.0-alpha-32</version> 
      </dependency>  
      <dependency> 
        <groupId>org.codehaus.plexus</groupId>  
        <artifactId>plexus-classworlds</artifactId>  
        <version>1.2-alpha-10</version> 
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk14</artifactId>
        <version>1.5.11</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.5.11</version>
      </dependency>
    </dependencies> 
  </dependencyManagement>  
  <profiles>
    <profile>
      <id>integrationTests</id>
      <modules>
        <module>npanday-it-runner</module>
      </modules>
    </profile>
    <profile>
      <id>npanday-release</id>
      <build>
        <plugins>
          <!-- Fail fast: the release build must run on Windows for the Add-in -->
          <!-- TODO: consider splitting it into a separate release -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-enforcer-plugin</artifactId>
            <version>1.0-beta-1</version>
            <executions>
              <execution>
                <id>enforce-os</id>
                <goals>
                  <goal>enforce</goal>
                </goals>
                <configuration>
                  <rules>
                    <requireOS>
                      <family>windows</family>
                    </requireOS>
                  </rules>
                  <fail>true</fail>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin> 
            <artifactId>maven-assembly-plugin</artifactId>  
            <inherited>false</inherited>  
            <configuration> 
              <descriptor>src/assembly/src.xml</descriptor>  
              <outputDirectory>target</outputDirectory> 
              <finalName>npanday-${project.version}</finalName>
            </configuration> 
            <executions> 
              <execution> 
                <id>make-assembly</id>  
                <phase>package</phase>  
                <goals> 
                  <goal>single</goal> 
                </goals> 
              </execution> 
            </executions> 
          </plugin>  
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <configuration>
              <passphrase>${gpg.passphrase}</passphrase>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins> 
      </build>
    </profile>
  </profiles>
  <properties> 
    <mavenVersion>2.0.9</mavenVersion>  
    <npanday.snapshots.url>http://repo.npanday.org/archiva/repository/npanday-snapshots</npanday.snapshots.url>
    <npanday.releases.url>http://repo.npanday.org/archiva/repository/npanday-releases</npanday.releases.url>
  </properties>  
  <distributionManagement>
    <snapshotRepository>
      <id>npanday.snapshots</id>
      <name>NPanday Snapshots Repository</name>
      <url>${npanday.snapshots.url}</url>
    </snapshotRepository>
    <repository>
      <id>npanday.releases</id>
      <name>NPanday Releases Repository</name>
      <url>${npanday.releases.url}</url>
    </repository>
  </distributionManagement>
  <!-- TODO: need to get these into central after 1.1 -->
  <pluginRepositories>
    <pluginRepository>
      <id>npanday.releases</id>
      <name>NPanday Releases Repository</name>
      <url>${npanday.releases.url}</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>
  <repositories>
    <repository>
      <id>npanday.releases</id>
      <name>NPanday Releases Repository</name>
      <url>${npanday.releases.url}</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <!-- Additional repositories needed on first build
    <repository>
      <id>npanday.3rdparty</id>
      <name>NPanday 3rd-Party Repository</name>
      <url>http://repo.npanday.org/archiva/repository/3rdparty</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository> 
      <id>aduna.org</id>  
      <url>http://repository.aduna-software.org/maven2</url> 
    </repository>
    -->
  </repositories>
</project>
