<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</artifactId>
  <packaging>jar</packaging>
  <version>2.2.4</version>
  <inceptionYear>2008</inceptionYear>
  <name>Gson</name>
  <parent>
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>7</version>
  </parent>
  <url>http://code.google.com/p/google-gson/</url>
  <description>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/gson</connection>
    <developerConnection>scm:svn:https://google-gson.googlecode.com/svn/trunk/gson</developerConnection>
    <url>http://google-gson.googlecode.com/svn/trunk/gson</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>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.2</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <profiles>
    <!-- Activate PGP signing only when performing a release -->
    <profile>
      <id>release-sign-artifacts</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>
        </plugins>
      </build>
    </profile>
  </profiles>
  <build>
    <defaultGoal>package</defaultGoal>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </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>
            <addMavenDescriptor>false</addMavenDescriptor>
            <manifestEntries>
              <Bundle-RequiredExecutionEnvironment>J2SE-1.5</Bundle-RequiredExecutionEnvironment>
              <Export-Package><![CDATA[com.google.gson;version=${project.version}, com.google.gson.annotations;version=${project.version}, com.google.gson.reflect;version=${project.version}, com.google.gson.stream;version=${project.version}, com.google.gson.internal;version=${project.version}, com.google.gson.internal.bind;version=${project.version}]]></Export-Package>
              <Bundle-Version>${project.version}</Bundle-Version>
              <Bundle-ContactAddress>http://code.google.com/p/google-gson/</Bundle-ContactAddress>
              <Bundle-Vendor>Google Gson Project</Bundle-Vendor>
              <Bundle-Name>${project.name}</Bundle-Name>
              <Bundle-Description>${project.description}</Bundle-Description>
              <Bundle-ClassPath>.</Bundle-ClassPath>
              <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
              <Bundle-SymbolicName>com.google.gson</Bundle-SymbolicName>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
      <plugin>
       <!-- TODO(inder): add manifest entry for maven group, artifact, and classifier ids -->
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-source-plugin</artifactId>
         <version>2.2.1</version>
         <executions>
           <execution>
             <id>attach-sources</id>
             <phase>verify</phase>
             <goals>
               <goal>jar</goal>
             </goals>
           </execution>
         </executions>
         <configuration>
           <archive>
             <manifestEntries>
               <Eclipse-SourceBundle>com.google.gson;version="${project.version}"</Eclipse-SourceBundle>
               <Bundle-SymbolicName>com.google.gson.source</Bundle-SymbolicName>
               <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
               <Bundle-Version>${project.version}</Bundle-Version>
             </manifestEntries>
           </archive>
         </configuration>
       </plugin>
       <plugin>
         <!-- TODO(inder): add manifest entry for maven group, artifact, and classifier ids -->
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-javadoc-plugin</artifactId>
         <version>2.9</version>
         <executions>
           <execution>
             <id>attach-javadocs</id>
             <goals>
               <goal>jar</goal>
             </goals>
           </execution>
         </executions>
         <configuration>
           <includePackageNames>com.google.gson</includePackageNames>
           <excludePackageNames>com.google.gson.internal:com.google.gson.internal.bind</excludePackageNames>
            <links>
             <link>http://docs.oracle.com/javase/1.5.0/docs/api/</link>
           </links>
           <version>true</version>
           <show>protected</show>
         </configuration>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-eclipse-plugin</artifactId>
         <version>2.9</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.4.1</version -->
        <configuration>
          <arguments>-DenableCiProfile=true</arguments>
          <tagBase>https://google-gson.googlecode.com/svn/tags</tagBase>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <descriptor>assembly-descriptor.xml</descriptor>
          <finalName>google-gson-${project.version}</finalName>
          <outputDirectory>target/dist</outputDirectory>
          <workDirectory>target/assembly/work</workDirectory>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <developers>
    <developer>
      <name>Inderjeet Singh</name>
      <organization>Trymph Inc.</organization>
    </developer>
    <developer>
      <name>Joel Leitch</name>
      <organization>Google Inc.</organization>
    </developer>
    <developer>
      <name>Jesse Wilson</name>
      <organization>Square Inc.</organization>
    </developer>
  </developers>
</project>

