<?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>dotnet-repository-builder</artifactId>
  <name>NPanday :: .NET Repository Builder</name>
  <packaging>pom</packaging>
  <scm> 
    <connection>scm:svn:https://svn.apache.org/repos/asf/incubator/npanday/tags/npanday-1.3-incubating-RC1/misc/dotnet-repository-builder</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/npanday/tags/npanday-1.3-incubating-RC1/misc/dotnet-repository-builder</developerConnection>
    <url>https://svn.apache.org/repos/asf/incubator/npanday/tags/npanday-1.3-incubating-RC1/misc/dotnet-repository-builder</url>
  </scm>  
  <dependencies>
    <!--assemblies-->
    <dependency>
      <groupId>npanday.artifact</groupId>
      <artifactId>NPanday.Artifact</artifactId>
      <version>${project.version}</version>
      <type>library</type>
    </dependency>
    <dependency>
      <groupId>npanday.logging</groupId>
      <artifactId>NPanday.Logging</artifactId>
      <version>${project.version}</version>
      <type>library</type>
    </dependency>
    <dependency>
      <groupId>npanday.model</groupId>
      <artifactId>NPanday.Model.Pom</artifactId>
      <version>${project.version}</version>
      <type>library</type>
    </dependency>
    <dependency>
      <groupId>npanday.model</groupId>
      <artifactId>NPanday.Model.Pom</artifactId>
      <version>${project.version}</version>
      <type>library</type>
      <classifier>4b435f4d76e2f0e6</classifier>
    </dependency>
    <dependency>
      <groupId>npanday.model</groupId>
      <artifactId>NPanday.Model.AutomationExtensibility</artifactId>
      <version>${project.version}</version>
      <type>library</type>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>NPanday.Plugin</artifactId>
      <version>${project.version}</version>
      <type>library</type>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>NPanday.Plugin</artifactId>
      <version>${project.version}</version>
      <type>library</type>
      <classifier>4b435f4d76e2f0e6</classifier>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>NPanday.Plugin.Loader</artifactId>
      <version>${project.version}</version>
      <type>exe</type>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>NPanday.Plugin.MojoGenerator</artifactId>
      <version>${project.version}</version>
      <type>exe</type>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>NPanday.Plugin.Runner</artifactId>
      <version>${project.version}</version>
      <type>exe</type>
    </dependency>
    <dependency>
      <groupId>npanday.visualstudio</groupId>
      <artifactId>NPanday.VisualStudio</artifactId>
      <version>${project.version}</version>
      <type>library</type>
    </dependency>
    <dependency>
      <groupId>npanday.visualstudio</groupId>
      <artifactId>NPanday.VisualStudio.Addin</artifactId>
      <version>${project.version}</version>
	  <exclusions>
	    <exclusion>
		  <groupId>Microsoft.VisualStudio.CommandBars</groupId>  
		  <artifactId>Microsoft.VisualStudio.CommandBars</artifactId>  
		</exclusion>
	    <exclusion>
		  <groupId>EnvDTE</groupId>  
		  <artifactId>EnvDTE</artifactId>  
 		</exclusion>
	    <exclusion>
		  <groupId>EnvDTE80</groupId>  
		  <artifactId>EnvDTE80</artifactId>  
		</exclusion>
	    <exclusion>
		  <groupId>Extensibility</groupId>  
		  <artifactId>Extensibility</artifactId>  
		</exclusion>
	    <exclusion>
		  <groupId>VSLangProj</groupId>  
		  <artifactId>VSLangProj</artifactId>  
		</exclusion>
	    <exclusion>
		  <groupId>VSLangProj80</groupId>  
		  <artifactId>VSLangProj80</artifactId>  
		</exclusion>
	    <exclusion>
		  <groupId>VsWebSite.Interop</groupId>  
		  <artifactId>VsWebSite.Interop</artifactId>  
		</exclusion>
	    <exclusion>
		  <groupId>Microsoft.Build.Engine</groupId>  
		  <artifactId>Microsoft.Build.Engine</artifactId>  
		</exclusion>		
	  </exclusions>  
      <type>visual-studio-addin</type>
    </dependency>

    <!--netplugins-->
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>NPanday.Plugin.Msbuild</artifactId>
      <version>${project.version}</version>
      <type>netplugin</type>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>NPanday.Plugin.SysRef</artifactId>
      <version>${project.version}</version>
      <type>netplugin</type>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>NPanday.Plugin.Addin</artifactId>
      <version>${project.version}</version>
      <type>netplugin</type>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>NPanday.Plugin.Devenv</artifactId>
      <version>${project.version}</version>
      <type>netplugin</type>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>NPanday.Plugin.Resx</artifactId>
      <version>${project.version}</version>
      <type>exe</type>
    </dependency>
    <dependency>
      <groupId>npanday.plugin</groupId>
      <artifactId>NPanday.Plugin.Settings</artifactId>
      <version>${project.version}</version>
      <type>netplugin</type>
    </dependency>
    <dependency>
      <groupId>NUnit</groupId>
      <artifactId>NUnit.Framework</artifactId>
      <version>2.2.8.0</version>
      <type>library</type>
    </dependency>
<!--
    <dependency> 
      <groupId>Castle</groupId>  
      <artifactId>Castle.Windsor</artifactId>  
      <type>library</type>  
      <version>2.0-rc2</version> 
    </dependency>  
    <dependency> 
      <groupId>Castle</groupId>  
      <artifactId>Castle.Core</artifactId>  
      <type>library</type>  
      <version>2.0-rc2</version> 
    </dependency>  
    <dependency> 
      <groupId>Castle</groupId>  
      <artifactId>Castle.MicroKernel</artifactId>  
      <type>library</type>  
      <version>2.0-rc2</version> 
    </dependency>  
    <dependency> 
      <groupId>Castle</groupId>  
      <artifactId>Castle.DynamicProxy</artifactId>  
      <type>library</type>  
      <version>2.0-rc2</version> 
    </dependency> 
-->
    <dependency> 
      <groupId>npanday.visualstudio</groupId>  
      <artifactId>NPanday.VisualStudio</artifactId>  
      <version>${project.version}</version>  
      <type>library</type> 
    </dependency>  
    <dependency> 
      <groupId>npanday.visualstudio</groupId>  
      <artifactId>NPanday.VisualStudio.Addin</artifactId>  
      <version>${project.version}</version>  
      <type>visual-studio-addin</type> 
    </dependency>  
  </dependencies>
  <build>
    <plugins>
      <!-- for types -->
      <plugin>
        <groupId>npanday.plugin</groupId>
        <artifactId>maven-compile-plugin</artifactId>
        <version>${stable.npanday.version}</version>
        <extensions>true</extensions>
      </plugin>
      <plugin>
        <groupId>npanday.plugin</groupId>
        <artifactId>maven-repository-plugin</artifactId>
        <version>${project.version}</version>
        <configuration>
          <outputDirectory>npanday-repository</outputDirectory>
        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>package</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.4</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>attach-artifact</goal>
            </goals>
            <configuration>
              <artifacts>
                <artifact>
                  <file>${project.build.directory}/dotnet-repository-builder.tar.gz</file>
                  <type>tar.gz</type>
                  <classifier>bin</classifier>
                </artifact>
              </artifacts>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
