<?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</groupId>
      <artifactId>google</artifactId>
      <version>1</version>
    </parent>

    <groupId>com.google.protobuf.jruby</groupId>
    <artifactId>protobuf-jruby</artifactId>
    <version>3.21.10</version>
    <name>Protocol Buffer JRuby native extension</name>
    <description>
      Protocol Buffers are a way of encoding structured data in an efficient yet
      extensible format.
    </description>
    <inceptionYear>2014</inceptionYear>
    <url>https://developers.google.com/protocol-buffers/</url>
    <licenses>
      <license>
        <name>BSD-3-Clause</name>
        <url>https://opensource.org/licenses/BSD-3-Clause</url>
        <distribution>repo</distribution>
      </license>
    </licenses>
    <scm>
      <url>https://github.com/protocolbuffers/protobuf</url>
      <connection>
        scm:git:https://github.com/protocolbuffers/protobuf.git
      </connection>
    </scm>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <ruby.sources>lib/google</ruby.sources>
        <jar.finalName>protobuf_java</jar.finalName>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.3.0</version>
                <configuration>
                    <finalName>${jar.finalName}</finalName>
                    <outputDirectory>${ruby.sources}</outputDirectory>
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.8.1</version>
              <configuration>
                <source>1.8</source>
                <target>1.8</target>
              </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <!-- Ordering of dependencies matters to update_version.py -->
        <dependency>
          <groupId>com.google.protobuf</groupId>
          <artifactId>protobuf-java-util</artifactId>
          <version>3.21.10</version>
        </dependency>
        <dependency>
            <groupId>org.jruby</groupId>
            <artifactId>jruby-complete</artifactId>
            <version>9.2.20.1</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>
