<?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>com.google.protobuf</groupId>
    <artifactId>protobuf-parent</artifactId>
    <version>3.0.0</version>
  </parent>

  <artifactId>protobuf-lite</artifactId>
  <packaging>bundle</packaging>

  <name>Protocol Buffers [Lite]</name>
  <description>A trimmed-down version of the Protocol Buffers library.</description>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>
    <dependency>
      <groupId>org.easymock</groupId>
      <artifactId>easymock</artifactId>
    </dependency>
    <dependency>
      <groupId>org.easymock</groupId>
      <artifactId>easymockclassextension</artifactId>
    </dependency>
  </dependencies>

  <properties>
    <core.root>../core</core.root>
    <test.proto.dir>${core.root}/src/test/proto</test.proto.dir>
  </properties>

  <build>
    <sourceDirectory>${core.root}/src/main/java</sourceDirectory>
    <testSourceDirectory>${core.root}/src/test/java</testSourceDirectory>

    <plugins>
      <!-- Use Antrun plugin to generate sources with protoc -->
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <!-- Generate core protos -->
          <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <configuration>
              <target>
                <ant antfile="generate-sources-build.xml"/>
              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>

          <!-- Generate the test protos -->
          <execution>
            <id>generate-test-sources</id>
            <phase>generate-test-sources</phase>
            <configuration>
              <target>
                <ant antfile="generate-test-sources-build.xml"/>
              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <!-- Only compile a subset of the files -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-generated-sources</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${generated.sources.lite.dir}</source>
              </sources>
            </configuration>
          </execution>
          <execution>
            <id>add-generated-test-sources</id>
            <phase>generate-test-sources</phase>
            <goals>
              <goal>add-test-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${generated.testsources.lite.dir}</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <includes>
            <include>**/AbstractMessageLite.java</include>
            <include>**/AbstractParser.java</include>
            <include>**/AbstractProtobufList.java</include>
            <include>**/BooleanArrayList.java</include>
            <include>**/ByteString.java</include>
            <include>**/CodedInputStream.java</include>
            <include>**/CodedOutputStream.java</include>
            <include>**/DoubleArrayList.java</include>
            <include>**/ExtensionLite.java</include>
            <include>**/ExtensionRegistryLite.java</include>
            <include>**/FieldSet.java</include>
            <include>**/FloatArrayList.java</include>
            <include>**/GeneratedMessageLite.java</include>
            <include>**/IntArrayList.java</include>
            <include>**/Internal.java</include>
            <include>**/InvalidProtocolBufferException.java</include>
            <include>**/LazyFieldLite.java</include>
            <include>**/LazyStringArrayList.java</include>
            <include>**/LazyStringList.java</include>
            <include>**/LongArrayList.java</include>
            <include>**/MapEntryLite.java</include>
            <include>**/MapFieldLite.java</include>
            <include>**/MessageLite.java</include>
            <include>**/MessageLiteOrBuilder.java</include>
            <include>**/MessageLiteToString.java</include>
            <include>**/MutabilityOracle.java</include>
            <include>**/NioByteString.java</include>
            <include>**/Parser.java</include>
            <include>**/ProtobufArrayList.java</include>
            <include>**/ProtocolStringList.java</include>
            <include>**/RopeByteString.java</include>
            <include>**/SmallSortedMap.java</include>
            <include>**/TextFormatEscaper.java</include>
            <include>**/UninitializedMessageException.java</include>
            <include>**/UnknownFieldSetLite.java</include>
            <include>**/UnmodifiableLazyStringList.java</include>
            <include>**/UnsafeByteOperations.java</include>
            <include>**/Utf8.java</include>
            <include>**/WireFormat.java</include>
          </includes>
          <testIncludes>
            <testInclude>**/*Lite.java</testInclude>
            <testInclude>**/BooleanArrayListTest.java</testInclude>
            <testInclude>**/DoubleArrayListTest.java</testInclude>
            <testInclude>**/FloatArrayListTest.java</testInclude>
            <testInclude>**/IntArrayListTest.java</testInclude>
            <testInclude>**/LazyMessageLiteTest.java</testInclude>
            <testInclude>**/LiteTest.java</testInclude>
            <testInclude>**/LongArrayListTest.java</testInclude>
            <testInclude>**/NioByteStringTest.java</testInclude>
            <testInclude>**/ProtobufArrayListTest.java</testInclude>
            <testInclude>**/UnknownFieldSetLiteTest.java</testInclude>
          </testIncludes>
        </configuration>
      </plugin>

      <!-- OSGI bundle configuration -->
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-DocURL>https://developers.google.com/protocol-buffers/</Bundle-DocURL>
            <Bundle-SymbolicName>com.google.protobuf</Bundle-SymbolicName>
            <Export-Package>com.google.${project.artifactId};version=${project.version}</Export-Package>
          </instructions>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>
