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

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

  <name>Protocol Buffers [Lite]</name>
  <description>
    Lite version of Protocol Buffers library. This version is optimized for code size, but does
    not guarantee API/ABI stability.
  </description>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.google.truth</groupId>
      <artifactId>truth</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
     <!-- Include core protos in the bundle as resources -->
     <resources>
      <resource>
        <directory>${protobuf.source.dir}</directory>
        <includes>
          <include>google/protobuf/any.proto</include>
          <include>google/protobuf/api.proto</include>
          <include>google/protobuf/duration.proto</include>
          <include>google/protobuf/empty.proto</include>
          <include>google/protobuf/field_mask.proto</include>
          <include>google/protobuf/source_context.proto</include>
          <include>google/protobuf/struct.proto</include>
          <include>google/protobuf/timestamp.proto</include>
          <include>google/protobuf/type.proto</include>
          <include>google/protobuf/wrappers.proto</include>
        </includes>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>${protobuf.source.dir}</directory>
        <includes>
          <include>google/protobuf/testdata/golden_message_oneof_implemented</include>
          <include>google/protobuf/testdata/golden_packed_fields_message</include>
        </includes>
      </testResource>
    </testResources>

    <plugins>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
          <execution>
            <id>copy-source-files</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${generated.sources.dir}/com/google/protobuf</outputDirectory>
              <resources>
                <resource>
                  <directory>${basedir}/../core/src/main/java/com/google/protobuf</directory>
                  <includes>
                    <!-- Keep in sync with //java/core:BUILD  -->
                    <include>AbstractMessageLite.java</include>
                    <include>AbstractParser.java</include>
                    <include>AbstractProtobufList.java</include>
                    <include>AllocatedBuffer.java</include>
                    <include>Android.java</include>
                    <include>ArrayDecoders.java</include>
                    <include>BinaryReader.java</include>
                    <include>BinaryWriter.java</include>
                    <include>BooleanArrayList.java</include>
                    <include>BufferAllocator.java</include>
                    <include>ByteBufferWriter.java</include>
                    <include>ByteOutput.java</include>
                    <include>ByteString.java</include>
                    <include>CanIgnoreReturnValue.java</include>
                    <include>CheckReturnValue.java</include>
                    <include>CodedInputStream.java</include>
                    <include>CodedInputStreamReader.java</include>
                    <include>CodedOutputStream.java</include>
                    <include>CodedOutputStreamWriter.java</include>
                    <include>CompileTimeConstant.java</include>
                    <include>DoubleArrayList.java</include>
                    <include>ExperimentalApi.java</include>
                    <include>ExtensionLite.java</include>
                    <include>ExtensionRegistryFactory.java</include>
                    <include>ExtensionRegistryLite.java</include>
                    <include>ExtensionSchema.java</include>
                    <include>ExtensionSchemaLite.java</include>
                    <include>ExtensionSchemas.java</include>
                    <include>FieldInfo.java</include>
                    <include>FieldSet.java</include>
                    <include>FieldType.java</include>
                    <include>FloatArrayList.java</include>
                    <include>GeneratedMessageInfoFactory.java</include>
                    <include>GeneratedMessageLite.java</include>
                    <include>InlineMe.java</include>
                    <include>IntArrayList.java</include>
                    <include>Internal.java</include>
                    <include>InvalidProtocolBufferException.java</include>
                    <include>IterableByteBufferInputStream.java</include>
                    <include>JavaType.java</include>
                    <include>LazyField.java</include>
                    <include>LazyFieldLite.java</include>
                    <include>LazyStringArrayList.java</include>
                    <include>LazyStringList.java</include>
                    <include>ListFieldSchema.java</include>
                    <include>LongArrayList.java</include>
                    <include>ManifestSchemaFactory.java</include>
                    <include>MapEntryLite.java</include>
                    <include>MapFieldLite.java</include>
                    <include>MapFieldSchema.java</include>
                    <include>MapFieldSchemaLite.java</include>
                    <include>MapFieldSchemas.java</include>
                    <include>MessageInfo.java</include>
                    <include>MessageInfoFactory.java</include>
                    <include>MessageLite.java</include>
                    <include>MessageLiteOrBuilder.java</include>
                    <include>MessageLiteToString.java</include>
                    <include>MessageSchema.java</include>
                    <include>MessageSetSchema.java</include>
                    <include>MutabilityOracle.java</include>
                    <include>NewInstanceSchema.java</include>
                    <include>NewInstanceSchemaLite.java</include>
                    <include>NewInstanceSchemas.java</include>
                    <include>NioByteString.java</include>
                    <include>OneofInfo.java</include>
                    <include>Parser.java</include>
                    <include>PrimitiveNonBoxingCollection.java</include>
                    <include>ProtoSyntax.java</include>
                    <include>Protobuf.java</include>
                    <include>ProtobufArrayList.java</include>
                    <include>ProtobufLists.java</include>
                    <include>ProtocolStringList.java</include>
                    <include>RawMessageInfo.java</include>
                    <include>Reader.java</include>
                    <include>RopeByteString.java</include>
                    <include>Schema.java</include>
                    <include>SchemaFactory.java</include>
                    <include>SchemaUtil.java</include>
                    <include>SmallSortedMap.java</include>
                    <include>StructuralMessageInfo.java</include>
                    <include>TextFormatEscaper.java</include>
                    <include>UninitializedMessageException.java</include>
                    <include>UnknownFieldSchema.java</include>
                    <include>UnknownFieldSetLite.java</include>
                    <include>UnknownFieldSetLiteSchema.java</include>
                    <include>UnmodifiableLazyStringList.java</include>
                    <include>UnsafeByteOperations.java</include>
                    <include>UnsafeUtil.java</include>
                    <include>Utf8.java</include>
                    <include>WireFormat.java</include>
                    <include>Writer.java</include>
                  </includes>
                </resource>
              </resources>
            </configuration>
          </execution>
          <execution>
            <id>copy-test-source-files</id>
            <phase>generate-test-sources</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${generated.testsources.dir}/com/google/protobuf</outputDirectory>
              <resources>
                <resource>
                  <directory>${basedir}/../core/src/test/java/com/google/protobuf</directory>
                  <!-- For sources, we want to be explicit about what we add so we don't accidentally
                  increase the size of the lite runtime library. For tests, we want to be defensive
                  and exclude only the full runtime exclusive tests so we don't accidentally miss
                  any test. -->
                  <excludes>
                    <!-- Keep in sync with //java/core:lite_tests BUILD rule. -->
                    <exclude>AbstractMessageTest.java</exclude>
                    <exclude>AbstractProto2SchemaTest.java</exclude>
                    <exclude>AnyTest.java</exclude>
                    <exclude>CodedInputStreamTest.java</exclude>
                    <exclude>DeprecatedFieldTest.java</exclude>
                    <exclude>DescriptorsTest.java</exclude>
                    <exclude>DiscardUnknownFieldsTest.java</exclude>
                    <exclude>DynamicMessageTest.java</exclude>
                    <exclude>ExtensionRegistryFactoryTest.java</exclude>
                    <exclude>FieldPresenceTest.java</exclude>
                    <exclude>ForceFieldBuildersPreRun.java</exclude>
                    <exclude>GeneratedMessageTest.java</exclude>
                    <exclude>LazyFieldTest.java</exclude>
                    <exclude>LazyStringEndToEndTest.java</exclude>
                    <exclude>MapForProto2Test.java</exclude>
                    <exclude>MapTest.java</exclude>
                    <exclude>MessageTest.java</exclude>
                    <exclude>NestedBuildersTest.java</exclude>
                    <exclude>PackedFieldTest.java</exclude>
                    <exclude>ParserTest.java</exclude>
                    <exclude>ParseExceptionsTest.java</exclude>
                    <exclude>Proto2ExtensionLookupSchemaTest.java</exclude>
                    <exclude>Proto2SchemaTest.java</exclude>
                    <exclude>Proto2UnknownEnumValueTest.java</exclude>
                    <exclude>RepeatedFieldBuilderV3Test.java</exclude>
                    <exclude>ServiceTest.java</exclude>
                    <exclude>SingleFieldBuilderV3Test.java</exclude>
                    <exclude>TestBadIdentifiers.java</exclude>
                    <exclude>TextFormatParseInfoTreeTest.java</exclude>
                    <exclude>TextFormatParseLocationTest.java</exclude>
                    <exclude>TextFormatPerformanceTest.java</exclude>
                    <exclude>TextFormatTest.java</exclude>
                    <exclude>TestUtil.java</exclude>
                    <exclude>TypeRegistryTest.java</exclude>
                    <exclude>UnknownEnumValueTest.java</exclude>
                    <exclude>UnknownFieldSetLiteTest.java</exclude>
                    <exclude>UnknownFieldSetPerformanceTest.java</exclude>
                    <exclude>UnknownFieldSetTest.java</exclude>
                    <exclude>WellKnownTypesTest.java</exclude>
                    <exclude>WireFormatTest.java</exclude>
                  </excludes>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>

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

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

      <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.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.dir}</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!-- OSGI bundle configuration -->
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Automatic-Module-Name>com.google.protobuf</Automatic-Module-Name> <!-- Java9+ Jigsaw module name -->
            <Bundle-DocURL>https://developers.google.com/protocol-buffers/</Bundle-DocURL>
            <Bundle-SymbolicName>com.google.protobuf</Bundle-SymbolicName>
            <Export-Package>com.google.protobuf;version=${project.version}</Export-Package>
            <Import-Package>sun.misc;resolution:=optional,*</Import-Package>
          </instructions>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>
