<?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/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <parent>
      <groupId>org.sonatype.oss</groupId>
      <artifactId>oss-parent</artifactId>
      <version>7</version>
   </parent>

   <name>spring-restful-exception-handler</name>
   <description>Custom exception handler annotation for Spring to unify the error handling.</description>
   <url>https://github.com/raychatter/spring-restful-exception-handler</url>
   <organization>
      <name>ThoughtWorks</name>
      <url>http://www.thoughtworks.com/</url>
   </organization>
   <inceptionYear>2012</inceptionYear>
   <groupId>com.github.raychatter</groupId>
   <artifactId>spring-restful-exception-handler</artifactId>
   <version>2.0.1</version>
   <packaging>jar</packaging>

   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
      <siteProjectVersion>${project.version}</siteProjectVersion>
      <manifest.builtBy>Rachel Walker</manifest.builtBy>
      <manifest.addDefaultImplementationEntries>true</manifest.addDefaultImplementationEntries>
      <manifest.addClasspath>true</manifest.addClasspath>
      <manifest.packageName>${project.groupId}</manifest.packageName>
      <manifest.mainClass>${project.groupId}.Main</manifest.mainClass>
      <manifest.compress>true</manifest.compress>
      <compileSource>1.6</compileSource>
   </properties>

   <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>
         <comments>A business-friendly OSS license</comments>
      </license>
   </licenses>

  <dependencies> 
        <dependency> 
           <groupId>javax.servlet</groupId> 
           <artifactId>servlet-api</artifactId> 
           <version>2.5</version> 
           <scope>provided</scope> 
        </dependency> 
        <dependency> 
           <groupId>org.springframework</groupId> 
           <artifactId>spring-webmvc</artifactId> 
           <version>3.1.1.RELEASE</version> 
        </dependency> 
        <dependency> 
           <groupId>junit</groupId> 
           <artifactId>junit</artifactId> 
           <version>4.10</version> 
           <scope>test</scope> 
        </dependency> 
        <dependency> 
           <groupId>org.mockito</groupId> 
           <artifactId>mockito-all</artifactId> 
           <version>1.9.0</version> 
           <scope>test</scope> 
        </dependency>
     </dependencies>

       <build>
      <finalName>${project.artifactId}-${project.version}</finalName>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.5.1</version>
            <configuration>
               <source>${compileSource}</source>
               <target>${compileSource}</target>
               <compilerArgument>-Xlint:all</compilerArgument>
               <showWarnings>true</showWarnings>
               <showDeprecation>true</showDeprecation>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <executions>
               <execution>
                  <phase>package</phase>
                  <goals>
                     <goal>jar</goal>
                  </goals>
               </execution>
            </executions>
            <configuration>
               <archive>
                  <compress>${manifest.compress}</compress>
                  <manifest>
                     <addDefaultImplementationEntries>
                        ${manifest.addDefaultImplementationEntries}
                     </addDefaultImplementationEntries>
                     <addClasspath>${manifest.addClasspath}</addClasspath>
                     <mainClass>${manifest.mainClass}</mainClass>
                     <packageName>${manifest.packageName}</packageName>
                  </manifest>
                  <manifestEntries>
                     <Built-By>${manifest.builtBy}</Built-By>
                     <Implementation-Version>${project.version}</Implementation-Version>
                  </manifestEntries>
               </archive>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.2.1</version>
            <executions>
               <execution>
                  <id>generate-sources-jar</id>
                  <phase>package</phase>
                  <goals>
                     <goal>jar</goal>
                  </goals>
                  <configuration>
                     <useDefaultManifestFile>false</useDefaultManifestFile>
                     <archive>
                        <compress>${manifest.compress}</compress>
                        <manifest>
                           <addDefaultImplementationEntries>
                              ${manifest.addDefaultImplementationEntries}
                           </addDefaultImplementationEntries>
                           <addClasspath>${manifest.addClasspath}</addClasspath>
                           <mainClass>${manifest.mainClass}</mainClass>
                           <packageName>${manifest.packageName}</packageName>
                        </manifest>
                        <manifestEntries>
                           <Built-By>${manifest.builtBy}</Built-By>
                           <Implementation-Version>${project.version}</Implementation-Version>
                        </manifestEntries>
                     </archive>
                  </configuration>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.9</version>
            <executions>
               <execution>
                  <id>generate-javadocs-jar</id>
                  <phase>package</phase>
                  <goals>
                     <goal>jar</goal>
                  </goals>
                  <configuration>
                     <quiet>true</quiet>
                     <javadocVersion>${compileSource}</javadocVersion>
                     <archive>
                        <compress>${manifest.compress}</compress>
                        <manifest>
                           <addDefaultImplementationEntries>
                              ${manifest.addDefaultImplementationEntries}
                           </addDefaultImplementationEntries>
                           <addClasspath>${manifest.addClasspath}</addClasspath>
                           <mainClass>${manifest.mainClass}</mainClass>
                           <packageName>${manifest.packageName}</packageName>
                        </manifest>
                        <manifestEntries>
                           <Built-By>${manifest.builtBy}</Built-By>
                           <Implementation-Version>${project.version}</Implementation-Version>
                        </manifestEntries>
                     </archive>
                  </configuration>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
               <arguments>-Dgpg.passphrase=${gpg.passphrase}</arguments>
            </configuration>
         </plugin>
      </plugins>
   </build>
   <profiles>
      <profile>
         <id>sign</id>
         <activation>
            <property>
               <name>performRelease</name>
               <value>true</value>
            </property>
         </activation>
         <build>
            <plugins>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-gpg-plugin</artifactId>
                  <version>1.4</version>
                  <executions>
                     <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                           <goal>sign</goal>
                        </goals>
                     </execution>
                  </executions>
               </plugin>
               <plugin>
                  <groupId>org.sonatype.plugins</groupId>
                  <artifactId>nexus-maven-plugin</artifactId>
                  <version>1.7</version>
                  <configuration>
                     <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                     <serverAuthId>oss-sonatype-org</serverAuthId>
                  </configuration>
               </plugin>
            </plugins>
         </build>
      </profile>
   </profiles>

   <scm>
    <connection>scm:git:git@github.com:raychatter/spring-restful-exception-handler.git</connection>
    <developerConnection>scm:git:git@github.com:raychatter/spring-restful-exception-handler.git</developerConnection>
    <url>git@github.com:raychatter/spring-restful-exception-handler.git</url>
    <tag>spring-restful-exception-handler-2.0.1</tag>
  </scm>

   <issueManagement>
      <system>GitHub</system>
      <url>https://github.com/raychatter/spring-restful-exception-handler/issues/</url>
   </issueManagement>

   <developers>
      <developer>
         <id>raychatter</id>
         <name>Rachel Walker</name>
         <email>rachel.e.walker@gmail.com</email>
         <roles>
            <role>author</role>
         </roles>
         <organization>ThoughtWorks</organization>
         <organizationUrl>http://www.ThoughtWorks.com</organizationUrl>
      </developer>
   </developers>

</project>
