<?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.2-incubating-SNAPSHOT</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 Developers List</name>  
      <post>npanday-dev@incubator.apache.org</post>
      <subscribe>npanday-dev-subscribe@incubator.apache.org</subscribe>
      <unsubscribe>npanday-dev-unsubscribe@incubator.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/incubator-npanday-dev/</archive>
      <otherArchives> 
        <otherArchive>http://incubator.markmail.org/search/?q=list:org.apache.incubator.npanday-dev</otherArchive>
      </otherArchives> 
    </mailingList>  
    <mailingList> 
      <name>NPanday Commits List</name>  
      <post>npanday-commits@incubator.apache.org</post>
      <subscribe>npanday-commits-subscribe@incubator.apache.org</subscribe>
      <unsubscribe>npanday-commits-unsubscribe@incubator.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/incubator-npanday-commits/</archive>
      <otherArchives> 
        <otherArchive>http://incubator.markmail.org/search/?q=list:org.apache.incubator.npanday-commits</otherArchive>
      </otherArchives> 
    </mailingList>  
    <mailingList> 
      <name>NPanday Users List</name>  
      <post>npanday-users@incubator.apache.org</post>
      <subscribe>npanday-users-subscribe@incubator.apache.org</subscribe>
      <unsubscribe>npanday-users-unsubscribe@incubator.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/incubator-npanday-users/</archive>
      <otherArchives> 
        <otherArchive>http://incubator.markmail.org/search/?q=list:org.apache.incubator.npanday-users</otherArchive>
      </otherArchives> 
    </mailingList>  
  </mailingLists>
  <scm> 
    <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/npanday/trunk/</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/npanday/trunk/</developerConnection>
    <url>http://svn.apache.org/viewvc/incubator/npanday/trunk</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>Lars Corneliussen</name>
      <id>lcorneliussen</id>
    </developer>
    <developer> 
      <name>Joe Ocaba</name>  
      <id>jocaba</id>  
      <email>jocaba@exist.com</email>  
    </developer>     
    <developer> 
      <name>Adelita Padilla</name>  
      <id>apadilla</id>  
      <email>apadilla@maestrodev.com</email>
    </developer>     
    <developer> 
      <name>Brett Porter</name>  
      <id>brett</id>  
    </developer>  
    <developer> 
      <name>Marecor Baclay</name>  
      <id>mbaclay</id>  
      <email>mbaclay@exist.com</email>  
    </developer>  
    <developer>
      <name>Wendy Smoak</name>
      <id>wsmoak</id>
      <email>wsmoak@gmail.com</email>
    </developer> 
    <!--Emeritus Committers-->
    <developer> 
      <name>C�dric</name>  
      <id>mimil</id>  
    </developer>  
    <developer> 
      <name>Melvin Sembrano</name>  
      <id>melvinsembrano</id>  
      <email>melvinsembrano@gmail.com</email>  
      <roles> 
        <role>coordinator</role>  
      </roles> 
    </developer>
    <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>Thorsten Kamann</name>
    </contributor>
    <contributor>
      <name>John Fallows</name>
    </contributor>
    <contributor>
      <name>supkitchen (codeplex)</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</version>  
        <configuration>  
          <tagBase>https://svn.apache.org/repos/asf/incubator/npanday/tags</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.2-incubating-SNAPSHOT</version> 
      </dependency>  
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-dao-project</artifactId>  
        <version>1.2.2-incubating-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-executable</artifactId>  
        <version>1.2.2-incubating-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-artifact</artifactId>  
        <version>1.2.2-incubating-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-plugin</artifactId>  
        <version>1.2.2-incubating-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-registry</artifactId>  
        <version>1.2.2-incubating-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-repository</artifactId>  
        <version>1.2.2-incubating-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-core</artifactId>  
        <version>1.2.2-incubating-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-vendor</artifactId>  
        <version>1.2.2-incubating-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-model-netdependency</artifactId>  
        <version>1.2.2-incubating-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-model-assembly-plugins</artifactId>  
        <version>1.2.2-incubating-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-model-compiler-plugins</artifactId>  
        <version>1.2.2-incubating-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-model-executable-plugins</artifactId>  
        <version>1.2.2-incubating-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-model-configuration-appenders</artifactId>  
        <version>1.2.2-incubating-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
        <groupId>npanday</groupId>  
        <artifactId>dotnet-model-settings</artifactId>  
        <version>1.2.2-incubating-SNAPSHOT</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>
    <!--<stable.npanday.version>1.2</stable.npanday.version>-->
     <stable.npanday.version>1.2.2-incubating-SNAPSHOT</stable.npanday.version>
  </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>
