<?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">  
  <parent> 
    <groupId>npanday</groupId>  
    <artifactId>npanday-project</artifactId>  
    <version>1.3-incubating-RC1</version> 
    <relativePath>../../pom.xml</relativePath>
  </parent>  
  <modelVersion>4.0.0</modelVersion>  
  <artifactId>npanday-repository-builder</artifactId>  
  <packaging>pom</packaging>
  <name>NPanday :: Repository Builder</name>  
  <scm> 
    <connection>scm:svn:https://svn.apache.org/repos/asf/incubator/npanday/tags/npanday-1.3-incubating-RC1/misc/npanday-repository-builder</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/npanday/tags/npanday-1.3-incubating-RC1/misc/npanday-repository-builder</developerConnection>
    <url>https://svn.apache.org/repos/asf/incubator/npanday/tags/npanday-1.3-incubating-RC1/misc/npanday-repository-builder</url>
  </scm>  
  <dependencies> 

    <!--
    NPANDAY PLUGINS
    -->
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-compile-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-aspx-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-fxcop-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-install-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-link-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-mojo-generator-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-repository-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-resgen-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-resolver-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-test-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-vsinstaller-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-webapp-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-wsdl-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-xsd-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>maven-xsp-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
	<dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>wix-maven-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>custom-lifecycle-maven-plugin</artifactId>
      <version>1.3-incubating-RC1</version>
    </dependency>

    <!--
    NPANDAY NETPLUGINS
     -->  
    <dependency> 
      <groupId>npanday.plugin</groupId>  
      <artifactId>NPanday.Plugin.Addin.JavaBinding</artifactId>  
      <version>1.3-incubating-RC1</version> 
    </dependency>  
    <dependency> 
      <groupId>npanday.plugin</groupId>  
      <artifactId>NPanday.Plugin.Devenv.JavaBinding</artifactId>  
      <version>1.3-incubating-RC1</version> 
    </dependency>  
    <dependency> 
      <groupId>npanday.plugin</groupId>  
      <artifactId>NPanday.Plugin.Settings.JavaBinding</artifactId>  
      <version>1.3-incubating-RC1</version> 
    </dependency>
	<dependency> 
      <groupId>npanday.plugin</groupId>  
      <artifactId>NPanday.Plugin.SysRef.JavaBinding</artifactId>  
      <version>1.3-incubating-RC1</version> 
    </dependency>
	<dependency> 
      <groupId>npanday.plugin</groupId>  
      <artifactId>NPanday.Plugin.Msbuild.JavaBinding</artifactId>  
      <version>1.3-incubating-RC1</version> 
    </dependency>

    <!--
    NPANDAY ARCHETYPES
    -->
    <dependency> 
      <groupId>npanday</groupId>  
      <artifactId>maven-archetype-dotnet-simple</artifactId>  
      <version>1.3-incubating-RC1</version> 
    </dependency>  
    <dependency> 
      <groupId>npanday</groupId>  
      <artifactId>maven-archetype-netexecutable</artifactId>  
      <version>1.3-incubating-RC1</version> 
    </dependency>
    <dependency> 
      <groupId>npanday</groupId>  
      <artifactId>maven-archetype-vb-simple</artifactId>  
      <version>1.3-incubating-RC1</version> 
    </dependency>
  </dependencies>  
  <build>
    <plugins>   
      <!-- Incorporate the .NET repository just built -->
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.0</version>
        <executions>
          <execution>
            <id>dotnet</id>
            <phase>process-resources</phase>
            <configuration>
              <outputDirectory>${project.build.directory}/dotnet</outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>npanday</groupId>
                  <artifactId>dotnet-repository-builder</artifactId>
                  <version>${project.version}</version>
                  <type>tar.gz</type>
                  <classifier>bin</classifier>
                </artifactItem>
              </artifactItems>
            </configuration>
            <goals>
              <goal>unpack</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <descriptor>src/main/assembly/repo.xml</descriptor>
          <finalName>repository</finalName>
        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
