| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. See accompanying LICENSE file. |
| --> |
| <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> |
| <artifactId>tajo-project</artifactId> |
| <groupId>org.apache.tajo</groupId> |
| <version>0.12.0-SNAPSHOT</version> |
| <relativePath>../tajo-project</relativePath> |
| </parent> |
| |
| <artifactId>tajo-common</artifactId> |
| <name>Tajo Common</name> |
| <description>Tajo Common Package</description> |
| <packaging>jar</packaging> |
| |
| <properties> |
| <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| </properties> |
| |
| <repositories> |
| <repository> |
| <id>apache.snapshots</id> |
| <url>http://repository.apache.org/snapshots</url> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </repository> |
| </repositories> |
| |
| <build> |
| <!-- |
| Include all files in src/main/resources. By default, do not apply property |
| substitution (filtering=false), but do apply property substitution to |
| tajo-version-info.properties (filtering=true). This will substitute the |
| version information correctly, but prevent Maven from altering other files |
| like tajo-default.xml. |
| --> |
| <resources> |
| <resource> |
| <directory>${basedir}/src/main/resources</directory> |
| <excludes> |
| <exclude>tajo-version-info.properties</exclude> |
| </excludes> |
| <filtering>false</filtering> |
| </resource> |
| <resource> |
| <directory>${basedir}/src/main/resources</directory> |
| <includes> |
| <include>tajo-version-info.properties</include> |
| </includes> |
| <filtering>true</filtering> |
| </resource> |
| </resources> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.tajo</groupId> |
| <artifactId>tajo-maven-plugins</artifactId> |
| <executions> |
| <execution> |
| <id>version-info</id> |
| <phase>generate-resources</phase> |
| <goals> |
| <goal>version-info</goal> |
| </goals> |
| <configuration> |
| <source> |
| <directory>${basedir}/src/main</directory> |
| <includes> |
| <include>java/**/*.java</include> |
| <include>proto/**/*.proto</include> |
| </includes> |
| </source> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <source>1.7</source> <!-- for keeping tajo-client and tajo-jdbc available in 1.7--> |
| <target>1.7</target> <!-- for keeping tajo-client and tajo-jdbc available in 1.7--> |
| <encoding>${project.build.sourceEncoding}</encoding> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>verify</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <excludes> |
| <exclude>src/main/resources/META-INF/services/*</exclude> |
| <exclude>src/test/resources/org/apache/tajo/conf/**</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>create-protobuf-generated-sources-directory</id> |
| <phase>initialize</phase> |
| <configuration> |
| <target> |
| <mkdir dir="target/generated-sources/proto" /> |
| </target> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>1.2</version> |
| <executions> |
| <execution> |
| <id>generate-sources</id> |
| <phase>generate-sources</phase> |
| <configuration> |
| <executable>protoc</executable> |
| <arguments> |
| <argument>-Isrc/main/proto/</argument> |
| <argument>--java_out=target/generated-sources/proto</argument> |
| <argument>src/main/proto/TestProtos.proto</argument> |
| <argument>src/main/proto/TajoIdProtos.proto</argument> |
| <argument>src/main/proto/DataTypes.proto</argument> |
| <argument>src/main/proto/PrimitiveProtos.proto</argument> |
| <argument>src/main/proto/tajo_protos.proto</argument> |
| <argument>src/main/proto/stacktrace.proto</argument> |
| <argument>src/main/proto/errors.proto</argument> |
| </arguments> |
| </configuration> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>1.5</version> |
| <executions> |
| <execution> |
| <id>add-source</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>add-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>target/generated-sources/proto</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-report-plugin</artifactId> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-common</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>commons-lang</groupId> |
| <artifactId>commons-lang</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-buffer</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.iq80.snappy</groupId> |
| <artifactId>snappy</artifactId> |
| </dependency> |
| <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>org.powermock</groupId> |
| <artifactId>powermock-module-junit4</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.powermock</groupId> |
| <artifactId>powermock-api-mockito</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <profiles> |
| <profile> |
| <id>docs</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <executions> |
| <execution> |
| <!-- build javadoc jars per jar for publishing to maven --> |
| <id>module-javadocs</id> |
| <phase>package</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| <configuration> |
| <destDir>${project.build.directory}</destDir> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>dist</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <property> |
| <name>tar|rpm|deb</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>dist</id> |
| <phase>package</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <target> |
| <echo file="${project.build.directory}/dist-layout-stitching.sh"> |
| run() { |
| echo "\$ ${@}" |
| "${@}" |
| res=$? |
| if [ $res != 0 ]; then |
| echo |
| echo "Failed!" |
| echo |
| exit $res |
| fi |
| } |
| |
| ROOT=`cd ${basedir}/..;pwd` |
| echo |
| echo "Current directory `pwd`" |
| echo |
| run rm -rf ${project.artifactId}-${project.version} |
| run mkdir ${project.artifactId}-${project.version} |
| run cd ${project.artifactId}-${project.version} |
| run cp -r ${basedir}/target/${project.artifactId}-${project.version}*.jar . |
| echo |
| echo "Tajo Common dist layout available at: ${project.build.directory}/${project.artifactId}-${project.version}" |
| echo |
| </echo> |
| <exec executable="sh" dir="${project.build.directory}" failonerror="true"> |
| <arg line="./dist-layout-stitching.sh" /> |
| </exec> |
| </target> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-report-plugin</artifactId> |
| </plugin> |
| </plugins> |
| </reporting> |
| </project> |