<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>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson-metrics</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <inceptionYear>2011</inceptionYear>
  <name>Gson Metrics</name>
  <parent>
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>5</version>
  </parent>
  <url>http://code.google.com/p/google-gson/</url>
  <description>Performance Metrics for Google Gson library</description>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </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>
    </license>
  </licenses>
  <scm>
    <connection>scm:svn:http://google-gson.googlecode.com/svn/trunk/metrics</connection>
    <developerConnection>scm:svn:https://google-gson.googlecode.com/svn/trunk/metrics</developerConnection>
    <url>http://google-gson.codegoogle.com/svn/trunk/metrics</url>
  </scm>
  <issueManagement>
    <system>Google Code Issue Tracking</system>
    <url>http://code.google.com/p/google-gson/issues/list</url>
  </issueManagement>
  <organization>
    <name>Google, Inc.</name>
    <url>http://www.google.com</url>
  </organization>
  <dependencies>
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>1.7.2-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>com.google.code.caliper</groupId>
      <artifactId>caliper</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.2</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <defaultGoal>package</defaultGoal>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <version>2.8</version>
        <configuration>
          <downloadSources>true</downloadSources>
          <downloadJavadocs>true</downloadJavadocs>
          <workspace>../eclipse-ws/</workspace>
          <workspaceCodeStylesURL>
            file:///${basedir}/../lib/gson-formatting-styles.xml
          </workspaceCodeStylesURL>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <arguments>-DenableCiProfile=true</arguments>
          <tagBase>https://google-gson.googlecode.com/svn/tags/</tagBase>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>2.1.2</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.7</version>
        <executions>
          <execution>
            <id>attach-javadocs</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <links>
            <link>http://download.oracle.com/javase/1.5.0/docs/api/</link>
          </links>
          <version>true</version>
          <show>public</show>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <developers>
    <developer>
      <name>Inderjeet Singh</name>
      <organization>Google Inc.</organization>
    </developer>
    <developer>
      <name>Joel Leitch</name>
      <organization>Google Inc.</organization>
    </developer>
    <developer>
      <name>Jesse Wilson</name>
      <organization>Google Inc.</organization>
    </developer>
  </developers>
</project>
