<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <artifactId>tools</artifactId>
    <groupId>com.google.i18n.phonenumbers</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>

  <groupId>com.google.i18n.phonenumbers.tools</groupId>
  <artifactId>cpp-build</artifactId>
  <version>1.0-SNAPSHOT</version>
  <name>Libphonenumber C++ build tools</name>
  <description>
    C++ build tools that download dependencies under base/ from the Chromium source repository, and
    generate the C++ metadata code needed to build the libphonenumber library.
  </description>

  <build>
    <sourceDirectory>src</sourceDirectory>
    <testSourceDirectory>test</testSourceDirectory>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <source>1.7</source>
	  <target>1.8</target>
	  <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
      <!-- Create a directory called 'generated'. -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.3</version>
        <executions>
          <execution>
            <id>create-generated-directory</id>
            <phase>generate-sources</phase>
            <configuration>
              <tasks>
                <mkdir dir="generated"/>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.9.1</version>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <!-- Make BuildMetadataFromXml.java available to the source directories. -->
                <source>../common/src/</source>
                <!-- Make Phonemetadata.java available to the source directories.
                     BuildMetadataFromXml.java has to work with both
                     tools/java/cpp-build/generated/com/google/i18n/phonenumbers/Phonemetadata.java
                     and java/libphonenumber/src/com/google/i18n/phonenumbers/Phonemetadata.java.
                     TODO: This Phonemetadata.java is generated via a protoc dependency that is not
                     hermetic and may get out of sync with the other one. Make this file hermetic or
                     find another way to enable Travis CI on this build. -->
                <source>generated/</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <!-- Invoke Protocol Buffers compiler to generate Phonemetadata.java. -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.5.0</version>
        <executions>
          <execution>
            <phase>generate-sources</phase>
            <goals>
              <goal>exec</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <executable>protoc</executable>
          <arguments>
            <argument>--java_out=generated</argument>
            <argument>../../../resources/phonemetadata.proto</argument>
            <argument>--proto_path=../../../resources</argument>
          </arguments>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <mainClass>com.google.i18n.phonenumbers.EntryPoint</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>
      <!-- Build a JAR with its dependencies (protocol buffers and common library). This JAR
           contains the C++ build tools invoked by CMake during the libphonenumber C++ build. -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <mainClass>com.google.i18n.phonenumbers.EntryPoint</mainClass>
            </manifest>
          </archive>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.google.protobuf</groupId>
      <artifactId>protobuf-java</artifactId>
      <version>3.16.1</version>
    </dependency>
  </dependencies>

</project>
