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