<?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>
  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>14</version>
  </parent>
  <groupId>org.apache.jclouds.chef</groupId>
  <artifactId>chef-project</artifactId>
  <version>1.7.3</version>
  <packaging>pom</packaging>
  <name>Apache jclouds Chef :: Project</name>
  <description>jclouds Chef parent POM for Maven configuration</description>
  <inceptionYear>2009</inceptionYear>

  <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>

  <properties>
    <jclouds.version>1.7.3</jclouds.version>
    <maven.compile.source>1.6</maven.compile.source>
    <maven.compile.target>1.6</maven.compile.target>
    <sourceReleaseAssemblyDescriptor>source-release-zip-tar</sourceReleaseAssemblyDescriptor>
  </properties>
  <issueManagement>
    <system>JIRA</system>
    <url>https://issues.apache.org/jira/browse/JCLOUDS</url>
  </issueManagement>
  <scm>
    <connection>scm:git:https://git-wip-us.apache.org/repos/asf/jclouds-chef.git</connection>
    <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/jclouds-chef.git</developerConnection>
    <url>https://git-wip-us.apache.org/repos/asf?p=jclouds-chef.git</url>
    <tag>jclouds-chef-1.7.3-rc1</tag>
  </scm>
  <repositories>
    <repository>
      <id>apache-snapshots</id>
      <url>https://repository.apache.org/content/repositories/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>sonatype-nexus-snapshots</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>clojars</id>
      <url>http://clojars.org/repo/</url>
    </repository>
  </repositories>
  <dependencies>
    <dependency>
      <groupId>org.easymock</groupId>
      <artifactId>easymockclassextension</artifactId>
      <version>3.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>6.5.2</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>xmlunit</groupId>
      <artifactId>xmlunit</artifactId>
      <version>1.3</version>
    </dependency>
  </dependencies>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.4</version>
          <configuration>
            <useReleaseProfile>false</useReleaseProfile>
            <goals>deploy</goals>
            <arguments>-Pdoc -Papache-release ${arguments}</arguments>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.5</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.12</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <excludes>
            <!-- expectation files for unit tests -->
            <exclude>**/src/test/resources/**/*.sh</exclude>
            <exclude>**/src/test/resources/**/*.bat</exclude>
            <exclude>**/src/test/resources/**/*.cmd</exclude>
            <exclude>**/src/test/resources/**/*.txt</exclude>
            <exclude>**/src/test/resources/**/*.gz</exclude>
            <exclude>**/src/test/resources/**/*.xml</exclude>
            <exclude>**/src/test/resources/**/*.json</exclude>

            <!-- prevent duplicating license -->
            <exclude>**/LICENSE.txt</exclude>
            <exclude>**/header.txt</exclude>

            <!-- high-level project metadata -->
            <exclude>**/NOTICE.txt</exclude>
            <exclude>**/DISCLAIMER</exclude>
            <exclude>**/BUILD.txt</exclude>
            <exclude>**/CHANGES.txt</exclude>
            <exclude>**/README.md</exclude>
            <exclude>**/README.txt</exclude>
            <exclude>**/DEPENDENCIES</exclude>

            <!-- one-line service registry files -->
            <exclude>**/*ProviderMetadata</exclude>
            <exclude>**/*ApiMetadata</exclude>

            <!-- temporary files or those generated by IDE or SCM -->
            <exclude>**/target/**</exclude>
            <exclude>**/test-output/**</exclude>
            <exclude>**/bin/**</exclude>
            <exclude>**/.settings/**</exclude>
            <exclude>**/.classpath</exclude>
            <exclude>**/.dir-locals.el</exclude>
            <exclude>**/.project</exclude>
            <exclude>**/.idea/**</exclude>
            <exclude>**/*.iml</exclude>
            <exclude>**/*.eml</exclude>
            <exclude>**/*.ipr</exclude>
            <exclude>**/*.iws</exclude>
            <exclude>**/*.DS_STORE</exclude>
            <exclude>**/TAGS</exclude>
            <exclude>**/.metadata/**</exclude>
            <exclude>**/atlassian-ide-plugin.xml</exclude>
            <exclude>**/.DS_Store</exclude>
            <exclude>.mailmap</exclude>
            <exclude>.git/**</exclude>
            <exclude>**/.gitignore</exclude>
            <exclude>**/.gitattributes</exclude>

            <!-- Temporary files generated on CloudBees slaves -->
            <exclude>.repository/**</exclude>
            <exclude>gc.log</exclude>
            <!-- binary -->
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <encoding>${project.build.sourceEncoding}</encoding>
          <source>${maven.compile.source}</source>
          <target>${maven.compile.target}</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.4</version>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <archive>
            <manifestEntries>
              <Specification-Title>jclouds ${project.name}</Specification-Title>
              <Specification-Vendor>jclouds</Specification-Vendor>
              <Implementation-Vendor>jclouds</Implementation-Vendor>
              <Implementation-Vendor-Id>org.jclouds</Implementation-Vendor-Id>
              <Implementation-Version>${project.version}</Implementation-Version>
              <X-Compile-Source-JDK>${maven.compile.source}</X-Compile-Source-JDK>
              <X-Compile-Target-JDK>${maven.compile.target}</X-Compile-Target-JDK>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>2.3.7</version>
        <extensions>true</extensions>
        <configuration>
          <obrRepository>NONE</obrRepository>
          <instructions>
            <Bundle-Activator>${jclouds.osgi.activator}</Bundle-Activator>
            <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
            <Export-Package>${jclouds.osgi.export}</Export-Package>
            <Import-Package>${jclouds.osgi.import}</Import-Package>
            <DynamicImport-Package>${jclouds.osgi.dynamic}</DynamicImport-Package>
            <Fragment-Host>${jclouds.osgi.fragment}</Fragment-Host>
          </instructions>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <executions>
          <execution>
            <id>integration</id>
            <phase>integration-test</phase>
            <goals>
              <goal>test</goal>
            </goals>
            <configuration>
              <argLine>-Xmx512m -Xms256m -Djava.awt.headless=true -XX:MaxPermSize=256m -Xss256k</argLine>
              <groups>integration</groups>
              <excludedGroups>unit,performance,live</excludedGroups>
              <properties>
                <property>
                  <name>suitename</name>
                  <value>Integration Tests</value>
                </property>
                <property>
                  <name>listener</name>
                  <value>org.jclouds.test.testng.UnitTestStatusListener</value>
                </property>
              </properties>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <parallel>methods</parallel>
          <threadCount>5</threadCount>
          <groups>unit,performance</groups>
          <excludedGroups>integration,live</excludedGroups>
          <properties>
            <property>
              <name>suitename</name>
              <value>Unit and Performance Tests</value>
            </property>
            <property>
              <name>listener</name>
              <value>org.jclouds.test.testng.UnitTestStatusListener</value>
            </property>
          </properties>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.9.1</version>
          <dependencies>
            <dependency>
              <groupId>org.apache.jclouds</groupId>
              <artifactId>jclouds-resources</artifactId>
              <version>${jclouds.version}</version>
            </dependency>
          </dependencies>
        <configuration>
          <configLocation>resources/checkstyle.xml</configLocation>
          <violationSeverity>warning</violationSeverity>
          <includeTestSourceDirectory>true</includeTestSourceDirectory>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <!-- modifies the plugin config inherited from oss-parent -->
    <profile> 
      <id>sonatype-release-profile-extension</id>
      <activation>
        <property> 
          <name>performRelease</name> 
          <value>true</value> 
        </property>
      </activation>            
      <build> 
        <plugins>
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId> 
            <configuration>
              <executable>${gpg.command}</executable>
              <passphrase>${gpg.passphrase}</passphrase>
            </configuration>
          </plugin> 
        </plugins>
      </build> 
    </profile>   
    <profile>
      <id>live</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <executions>
              <execution>
                <id>integration</id>
                <phase>integration-test</phase>
                <goals>
                  <goal>test</goal>
                </goals>
                <configuration>
                  <groups>live,integration</groups>
                  <excludedGroups>unit,performance</excludedGroups>
                  <properties>
                    <property>
                      <name>suitename</name>
                      <value>Live Integration Tests</value>
                    </property>
                    <property>
                      <name>listener</name>
                      <value>org.jclouds.test.testng.UnitTestStatusListener</value>
                    </property>
                  </properties>
                  <systemProperties>
                    <!--
                        If you're behind a proxy, set this here
                        http://java.sun.com/javase/6/docs/technotes/guides/net/proxies.html

<property>
<name>https.proxyHost</name>
<value>proxy</value>
</property>
<property>
<name>https.proxyPort</name>
<value>port</value>
</property>
<property>
<name>https.noProxyHosts</name>
<value>localhost|10.150.4.49</value>
</property>
                    -->
                    <property>
                      <name>file.encoding</name>
                      <value>${project.build.sourceEncoding}</value>
                    </property>
                  </systemProperties>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>chef-project</id>
      <activation>
        <file>
          <!-- only in the jclouds-project module -->
          <exists>src/etc/header.txt</exists>
        </file>
      </activation>
      <!-- Maven generates incorrect links without the <site> declaration here -->
      <distributionManagement>
        <site>
          <id>jclouds-github-pages-site</id>
          <url>${maven.site.url.base}/${project.version}/${project.artifactId}</url>
        </site>
      </distributionManagement>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-remote-resources-plugin</artifactId>
            <version>1.3</version>
            <executions>
              <execution>
                <goals>
                  <goal>process</goal>
                </goals>
                <configuration>
                  <skip>true</skip>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>doc</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.8.1</version>
            <executions>
              <execution>
                <id>javadoc</id>
                <phase>package</phase>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
