<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <groupId>org.cloudhoist</groupId>
    <artifactId>pallet-pom</artifactId>
    <version>0.4.6</version>
    <relativePath>../pallet-pom/pom.xml</relativePath>
  </parent>
  <groupId>org.cloudhoist</groupId>
  <artifactId>pallet</artifactId>
  <version>0.6.7</version>
  <packaging>jar</packaging>
  <name>pallet</name>
  <description>
    Pallet - agile provisioning and configuration of compute nodes. A devops tool.
  </description>
  <url>http://palletops.com</url>
  <inceptionYear>2010</inceptionYear>

  <scm>
    <connection>scm:git:git://github.com/pallet/pallet.git</connection>
    <developerConnection>scm:git:ssh://git@github.com/pallet/pallet.git</developerConnection>
    <url>http://github.com/pallet/pallet</url>
  </scm>

  <build>
    <sourceDirectory>src</sourceDirectory>
    <testSourceDirectory>test</testSourceDirectory>
    <resources>
      <resource>
        <directory>src</directory>
      </resource>
      <resource>
        <directory>resources</directory>
        <excludes>
          <exclude>filtered/*</exclude>
        </excludes>
      </resource>
      <resource>
        <directory>resources/filtered</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>test</directory>
      </testResource>
      <testResource>
        <directory>test-resources</directory>
      </testResource>
    </testResources>
    <plugins>
      <plugin>
        <groupId>org.cloudhoist.plugin</groupId>
        <artifactId>zi</artifactId>
        <configuration>
          <codoxTargetDirectory>autodoc/api/${pallet.doc.version}</codoxTargetDirectory>
          <codoxApiVersion>${pallet.doc.version}</codoxApiVersion>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <id>test-jar</id>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <excludes>
            <exclude>log4j.xml</exclude>
            <exclude>logback.xml</exclude>
            <exclude>logback-test.xml</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.theoryinpractise</groupId>
        <artifactId>clojure-maven-plugin</artifactId>
        <configuration>
          <autodocTargetDirectory>autodoc/autodoc</autodocTargetDirectory>
          <marginaliaTargetDirectory>autodoc/marginalia</marginaliaTargetDirectory>
        </configuration>
        <executions>
          <execution>
            <id>compile-clojure</id>
            <phase>compile</phase>
            <goals>
              <goal>compile</goal>
            </goals>
          </execution>
          <execution>
            <id>test-clojure</id>
            <phase>test</phase>
            <goals>
              <goal>test</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.clojure</groupId>
      <artifactId>clojure</artifactId>
    </dependency>
    <dependency>
      <groupId>org.clojure</groupId>
      <artifactId>clojure-contrib</artifactId>
    </dependency>
    <dependency>
      <groupId>org.clojure</groupId>
      <artifactId>core.incubator</artifactId>
      <version>0.1.0</version>
    </dependency>
    <dependency>
      <groupId>org.clojure</groupId>
      <artifactId>tools.logging</artifactId>
      <version>0.1.2</version>
    </dependency>
    <dependency>
      <groupId>org.clojure</groupId>
      <artifactId>tools.namespace</artifactId>
      <version>0.1.0</version>
    </dependency>
    <dependency>
      <groupId>org.cloudhoist</groupId>
      <artifactId>thread-expr</artifactId>
      <version>1.0.0</version>
    </dependency>
    <dependency>
      <groupId>org.cloudhoist</groupId>
      <artifactId>pallet-common</artifactId>
      <version>0.2.1</version>
    </dependency>
    <dependency>
      <groupId>org.cloudhoist</groupId>
      <artifactId>stevedore</artifactId>
      <version>0.7.0</version>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.4</version>
    </dependency>
    <dependency>
      <groupId>clj-ssh</groupId>
      <artifactId>clj-ssh</artifactId>
      <version>0.3.0</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.6.1</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-core</artifactId>
      <version>0.9.29</version>
      <optional>true</optional>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>0.9.29</version>
      <optional>true</optional>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>jline</groupId>
      <artifactId>jline</artifactId>
      <version>0.9.94</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>enlive</groupId>
      <artifactId>enlive</artifactId>
      <version>1.0.0</version>
      <exclusions>
        <exclusion>
          <groupId>org.clojure</groupId>
          <artifactId>clojure</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-settings</artifactId>
      <version>2.0.10</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>vmfest</groupId>
      <artifactId>vmfest</artifactId>
      <version>0.2.3</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>swank-clojure</groupId>
      <artifactId>swank-clojure</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>autodoc</groupId>
      <artifactId>autodoc</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>marginalia</groupId>
      <artifactId>marginalia</artifactId>
      <optional>true</optional>
    </dependency>
  </dependencies>

  <profiles>
    <profile>
      <id>testuser</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.theoryinpractise</groupId>
            <artifactId>clojure-maven-plugin</artifactId>
            <configuration>
              <clojureOptions>-Xmx512m -Djava.awt.headless=true -XX:MaxPermSize=256m -Dssh.username=testuser</clojureOptions>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>jclouds</id>
      <activation>
	<activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <jclouds.version>1.0.0</jclouds.version>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.jclouds</groupId>
          <artifactId>jclouds-compute</artifactId>
          <version>${jclouds.version}</version>
        </dependency>
        <dependency>
          <groupId>org.jclouds</groupId>
          <artifactId>jclouds-blobstore</artifactId>
          <version>${jclouds.version}</version>
        </dependency>

        <!-- You will need the jclouds provider specific jars for your project -->
        <!-- The simplest is to pull in everything, but you can use individual -->
        <!-- provider dependencies. -->
        <dependency>
            <groupId>org.jclouds</groupId>
            <artifactId>jclouds-all</artifactId>
            <version>${jclouds.version}</version>
            <optional>true</optional>
        </dependency>

        <dependency>
          <groupId>org.jclouds.driver</groupId>
          <artifactId>jclouds-jsch</artifactId>
          <version>${jclouds.version}</version>
        </dependency>
        <dependency>
          <groupId>org.jclouds.driver</groupId>
          <artifactId>jclouds-slf4j</artifactId>
          <version>${jclouds.version}</version>
          <optional>true</optional>
        </dependency>
      </dependencies>
    </profile>

    <profile>
      <id>jclouds-snapshot</id>
      <activation>
	<activeByDefault>false</activeByDefault>
      </activation>
      <properties>
        <jclouds.version>1.2.0-SNAPSHOT</jclouds.version>
      </properties>
    </profile>

    <profile>
      <id>no-jclouds</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.theoryinpractise</groupId>
            <artifactId>clojure-maven-plugin</artifactId>
            <configuration>
              <testDeclaredNamespaceOnly>true</testDeclaredNamespaceOnly>
              <testNamespaces>
                <namespace>pallet\..*</namespace>
                <namespace>!pallet.compute.jclouds.*</namespace>
                <namespace>!pallet.blobstore.jclouds</namespace>
                <namespace>!pallet.core.jclouds.*</namespace>
                <namespace>!pallet.live-test.jclouds.*</namespace>
              </testNamespaces>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>distribution</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <!-- override the default execution inherited from project -->
              <execution>
                <id>jar-with-dependencies</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <descriptors>
                    <descriptor>core-jar-with-dependencies-descriptor.xml</descriptor>
                  </descriptors>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
              <excludes>
                <exclude>log4j.xml</exclude>
                <exclude>logback.xml</exclude>
                <exclude>logback_test.xml</exclude>
              </excludes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <developers>
    <developer>
      <name>Hugo Duncan</name>
      <id>hugoduncan</id>
      <email>hugo -at- hugoduncan -dot- org</email>
      <roles>
        <role>PMC</role>
        <role>Developer</role>
      </roles>
      <timezone>-5</timezone>
    </developer>
  </developers>

  <contributors>
    <contributor>
      <name>Chas Emerick</name>
      <email>cemerick -at- snowtide -dot- com</email>
      <organization>Snowtide Informatics</organization>
      <organizationUrl>http://snowtide.com</organizationUrl>
      <timezone>-5</timezone>
      <url>http://cemerick.com</url>
    </contributor>
  </contributors>

  <!-- make sure we can find the parent pom -->
  <repositories>
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>sonatype-nexus-releases</id>
      <name>Sonatype Nexus Releases</name>
      <url>http://oss.sonatype.org/content/repositories/releases</url>
    </repository>
    <repository>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <id>sonatype-nexus-snapshots</id>
      <name>Sonatype Nexus Snapshots</name>
      <url>http://oss.sonatype.org/content/repositories/snapshots</url>
    </repository>
  </repositories>

  <properties>
    <pallet.doc.version>0.6</pallet.doc.version>
  </properties>

</project>
