[TAJO-2185] Eliminate protoc binary dependency
Close #1052
diff --git a/.travis.yml b/.travis.yml
index 61f816c..05c0920 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,6 +13,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+sudo: required
+dist: trusty
language: java
git:
@@ -63,16 +65,14 @@
# http://docs.travis-ci.com/user/database-setup/#MySQL
- sudo /etc/init.d/mysql stop
- sudo /etc/init.d/postgresql stop
- - ulimit -t unlimited -u 10000 -n 64000
- - ulimit -a
+ - sudo sh -c "ulimit -p 10000 && ulimit -n 64000 && ulimit -t unlimited && ulimit -a"
- free -m
- df -h
install:
- - sh dev-support/travis-install-dependencies.sh
- mvn clean install -q -ff -Dsurefire.useFile=false $HADOOP_FLAG -Pdist -DskipTests -Dtar
script:
- - mvn $HADOOP_FLAG $TEST_FLAG
+ - travis_wait 30 mvn $HADOOP_FLAG $TEST_FLAG
- sh -c "dmesg | grep -i OOM || exit 0"
- free -m
diff --git a/BUILDING b/BUILDING
index 4ffe44e..8665ecb 100644
--- a/BUILDING
+++ b/BUILDING
@@ -6,7 +6,6 @@
* Unix System
* JDK 1.8 or higher
* Maven 3.0 or higher
-* Protocol Buffers 2.5.0
* Internet connection for first build (to fetch all Maven and Tajo dependencies)
--------------------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 32c33f4..df24ad9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -152,41 +152,7 @@
<artifactId>maven-deploy-plugin</artifactId>
<version>2.5</version>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>1.6</version>
- <executions>
- <execution>
- <phase>validate</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <target>
- <echo file="${project.build.directory}/verify-protocbuf.sh">
- PROTOC_VERSION=`protoc --version`
- if [ "${PROTOC_VERSION}" == "" ]; then
- echo
- echo "Protocol buffer is not installed or protocol buffer path did not add to your PATH variable."
- echo
- exit -1
- fi
- if [ "${PROTOC_VERSION}" != "libprotoc 2.5.0" ]; then
- echo
- echo "Tajo requires protocol buffer version 2.5.0, another versions is not supported."
- echo
- exit -1
- fi
- </echo>
- <exec executable="bash" dir="${project.build.directory}" failonerror="true">
- <arg line="./verify-protocbuf.sh" />
- </exec>
- </target>
- </configuration>
- </execution>
- </executions>
- </plugin>
+
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
diff --git a/tajo-catalog/tajo-catalog-client/pom.xml b/tajo-catalog/tajo-catalog-client/pom.xml
index 933ec82..e5c171d 100644
--- a/tajo-catalog/tajo-catalog-client/pom.xml
+++ b/tajo-catalog/tajo-catalog-client/pom.xml
@@ -70,26 +70,27 @@
</executions>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.5.0</version>
<executions>
<execution>
- <id>generate-sources</id>
<phase>generate-sources</phase>
- <configuration>
- <executable>protoc</executable>
- <arguments>
- <argument>-Isrc/main/proto/</argument>
- <argument>--proto_path=../../tajo-common/src/main/proto</argument>
- <argument>--proto_path=../../tajo-catalog/tajo-catalog-common/src/main/proto</argument>
- <argument>--java_out=target/generated-sources/proto</argument>
- <argument>src/main/proto/CatalogProtocol.proto</argument>
- </arguments>
- </configuration>
<goals>
- <goal>exec</goal>
+ <goal>run</goal>
</goals>
+ <configuration>
+ <protocVersion>2.5.0</protocVersion>
+ <includeStdTypes>true</includeStdTypes>
+ <inputDirectories>
+ <include>src/main/proto/</include>
+ </inputDirectories>
+ <includeDirectories>
+ <includeDirectory>../../tajo-common/src/main/proto</includeDirectory>
+ <includeDirectory>../../tajo-catalog/tajo-catalog-common/src/main/proto</includeDirectory>
+ </includeDirectories>
+ <outputDirectory>target/generated-sources/proto</outputDirectory>
+ </configuration>
</execution>
</executions>
</plugin>
diff --git a/tajo-catalog/tajo-catalog-common/pom.xml b/tajo-catalog/tajo-catalog-common/pom.xml
index 27e87b8..29cbacc 100644
--- a/tajo-catalog/tajo-catalog-common/pom.xml
+++ b/tajo-catalog/tajo-catalog-common/pom.xml
@@ -75,25 +75,26 @@
</executions>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.5.0</version>
<executions>
<execution>
- <id>generate-sources</id>
<phase>generate-sources</phase>
- <configuration>
- <executable>protoc</executable>
- <arguments>
- <argument>-Isrc/main/proto/</argument>
- <argument>--proto_path=../../tajo-common/src/main/proto</argument>
- <argument>--java_out=target/generated-sources/proto</argument>
- <argument>src/main/proto/CatalogProtos.proto</argument>
- </arguments>
- </configuration>
<goals>
- <goal>exec</goal>
+ <goal>run</goal>
</goals>
+ <configuration>
+ <protocVersion>2.5.0</protocVersion>
+ <includeStdTypes>true</includeStdTypes>
+ <inputDirectories>
+ <include>src/main/proto/</include>
+ </inputDirectories>
+ <includeDirectories>
+ <includeDirectory>../../tajo-common/src/main/proto</includeDirectory>
+ </includeDirectories>
+ <outputDirectory>target/generated-sources/proto</outputDirectory>
+ </configuration>
</execution>
</executions>
</plugin>
diff --git a/tajo-client/pom.xml b/tajo-client/pom.xml
index 90fcec6..b37a98b 100644
--- a/tajo-client/pom.xml
+++ b/tajo-client/pom.xml
@@ -110,29 +110,28 @@
</executions>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.5.0</version>
<executions>
<execution>
- <id>generate-sources</id>
<phase>generate-sources</phase>
- <configuration>
- <executable>protoc</executable>
- <arguments>
- <argument>-Isrc/main/proto/</argument>
- <argument>--proto_path=../tajo-common/src/main/proto</argument>
- <argument>--proto_path=../tajo-catalog/tajo-catalog-common/src/main/proto</argument>
- <argument>--proto_path=../tajo-core/src/main/proto</argument>
- <argument>--java_out=target/generated-sources/proto</argument>
- <argument>src/main/proto/ClientProtos.proto</argument>
- <argument>src/main/proto/TajoMasterClientProtocol.proto</argument>
- <argument>src/main/proto/QueryMasterClientProtocol.proto</argument>
- </arguments>
- </configuration>
<goals>
- <goal>exec</goal>
+ <goal>run</goal>
</goals>
+ <configuration>
+ <protocVersion>2.5.0</protocVersion>
+ <includeStdTypes>true</includeStdTypes>
+ <inputDirectories>
+ <include>src/main/proto/</include>
+ </inputDirectories>
+ <includeDirectories>
+ <includeDirectory>../tajo-common/src/main/proto</includeDirectory>
+ <includeDirectory>../tajo-catalog/tajo-catalog-common/src/main/proto</includeDirectory>
+ <includeDirectory>../tajo-core/src/main/proto</includeDirectory>
+ </includeDirectories>
+ <outputDirectory>target/generated-sources/proto</outputDirectory>
+ </configuration>
</execution>
</executions>
</plugin>
diff --git a/tajo-common/pom.xml b/tajo-common/pom.xml
index cf4eb36..67128e5 100644
--- a/tajo-common/pom.xml
+++ b/tajo-common/pom.xml
@@ -134,30 +134,23 @@
</executions>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.5.0</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>
+ <goal>run</goal>
</goals>
+ <configuration>
+ <protocVersion>2.5.0</protocVersion>
+ <includeStdTypes>true</includeStdTypes>
+ <inputDirectories>
+ <include>src/main/proto/</include>
+ </inputDirectories>
+ <outputDirectory>target/generated-sources/proto</outputDirectory>
+ </configuration>
</execution>
</executions>
</plugin>
diff --git a/tajo-core/pom.xml b/tajo-core/pom.xml
index 43464e3..0a99de6 100644
--- a/tajo-core/pom.xml
+++ b/tajo-core/pom.xml
@@ -93,33 +93,28 @@
</executions>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.5.0</version>
<executions>
<execution>
- <id>generate-sources</id>
<phase>generate-sources</phase>
- <configuration>
- <executable>protoc</executable>
- <arguments>
- <argument>-Isrc/main/proto/</argument>
- <argument>--proto_path=../tajo-common/src/main/proto</argument>
- <argument>--proto_path=../tajo-catalog/tajo-catalog-common/src/main/proto</argument>
- <argument>--proto_path=../tajo-client/src/main/proto</argument>
- <argument>--proto_path=../tajo-plan/src/main/proto</argument>
- <argument>--java_out=target/generated-sources/proto</argument>
- <argument>src/main/proto/ResourceTrackerProtocol.proto</argument>
- <argument>src/main/proto/QueryMasterProtocol.proto</argument>
- <argument>src/main/proto/QueryCoordinatorProtocol.proto</argument>
- <argument>src/main/proto/TajoWorkerProtocol.proto</argument>
- <argument>src/main/proto/InternalTypes.proto</argument>
- <argument>src/main/proto/ResourceProtos.proto</argument>
- </arguments>
- </configuration>
<goals>
- <goal>exec</goal>
+ <goal>run</goal>
</goals>
+ <configuration>
+ <protocVersion>2.5.0</protocVersion>
+ <includeStdTypes>true</includeStdTypes>
+ <inputDirectories>
+ <include>src/main/proto/</include>
+ </inputDirectories>
+ <includeDirectories>
+ <includeDirectory>../tajo-common/src/main/proto</includeDirectory>
+ <includeDirectory>../tajo-catalog/tajo-catalog-common/src/main/proto</includeDirectory>
+ <includeDirectory>../tajo-plan/src/main/proto</includeDirectory>
+ </includeDirectories>
+ <outputDirectory>target/generated-sources/proto</outputDirectory>
+ </configuration>
</execution>
</executions>
</plugin>
diff --git a/tajo-docs/src/main/sphinx/getting_started.rst b/tajo-docs/src/main/sphinx/getting_started.rst
index 9a20b68..0eee083 100644
--- a/tajo-docs/src/main/sphinx/getting_started.rst
+++ b/tajo-docs/src/main/sphinx/getting_started.rst
@@ -10,7 +10,6 @@
* Hadoop 2.3.0 or higher (up to 2.6.0)
* Java 1.8 or higher
- * Protocol buffer 2.5.0
===================================
Dowload and unpack the source code
diff --git a/tajo-jdbc/src/test/java/org/apache/tajo/jdbc/TestResultSet.java b/tajo-jdbc/src/test/java/org/apache/tajo/jdbc/TestResultSet.java
index af4011d..508b5a8 100644
--- a/tajo-jdbc/src/test/java/org/apache/tajo/jdbc/TestResultSet.java
+++ b/tajo-jdbc/src/test/java/org/apache/tajo/jdbc/TestResultSet.java
@@ -232,7 +232,7 @@
assertEquals(res.getTimestamp(3), res.getTimestamp("col3"));
// assert with timezone
- //Current timezone + 1 hour
+ // Current timezone + 1 hour
TimeZone tz = TimeZone.getDefault();
tz.setRawOffset(tz.getRawOffset() + (int) TimeUnit.HOURS.toMillis(1));
@@ -240,7 +240,8 @@
assertEquals(tz.getRawOffset(), cal.getTimeZone().getRawOffset());
assertEquals(Date.valueOf("2013-12-31"), res.getDate(1, cal));
- assertEquals(Time.valueOf("23:00:00"), res.getTime(1, cal));
+ // TODO - See https://issues.apache.org/jira/browse/TAJO-2186
+ assertEquals(Time.valueOf("23:00:00").toString(), res.getTime(1, cal).toString());
assertEquals(Timestamp.valueOf("2013-12-31 23:00:00.0"), res.getTimestamp(1, cal));
assertEquals(res.getDate(1, cal), res.getDate("col1", cal));
diff --git a/tajo-metrics/pom.xml b/tajo-metrics/pom.xml
index 1361694..f65b0fc 100644
--- a/tajo-metrics/pom.xml
+++ b/tajo-metrics/pom.xml
@@ -71,25 +71,23 @@
</executions>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.5.0</version>
<executions>
<execution>
- <id>generate-sources</id>
<phase>generate-sources</phase>
- <configuration>
- <executable>protoc</executable>
- <arguments>
- <argument>-Isrc/main/proto/</argument>
- <argument>src/main/proto/master_metrics.proto</argument>
- <argument>src/main/proto/node_metrics.proto</argument>
- <argument>--java_out=target/generated-sources/proto</argument>
- </arguments>
- </configuration>
<goals>
- <goal>exec</goal>
+ <goal>run</goal>
</goals>
+ <configuration>
+ <protocVersion>2.5.0</protocVersion>
+ <includeStdTypes>true</includeStdTypes>
+ <inputDirectories>
+ <include>src/main/proto/</include>
+ </inputDirectories>
+ <outputDirectory>target/generated-sources/proto</outputDirectory>
+ </configuration>
</execution>
</executions>
</plugin>
diff --git a/tajo-plan/pom.xml b/tajo-plan/pom.xml
index f115015..9dff797 100644
--- a/tajo-plan/pom.xml
+++ b/tajo-plan/pom.xml
@@ -71,27 +71,28 @@
</executions>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.5.0</version>
<executions>
<execution>
- <id>generate-sources</id>
<phase>generate-sources</phase>
- <configuration>
- <executable>protoc</executable>
- <arguments>
- <argument>-Isrc/main/proto/</argument>
- <argument>--proto_path=../tajo-common/src/main/proto</argument>
- <argument>--proto_path=../tajo-catalog/tajo-catalog-common/src/main/proto</argument>
- <argument>--proto_path=../tajo-client/src/main/proto</argument>
- <argument>--java_out=target/generated-sources/proto</argument>
- <argument>src/main/proto/Plan.proto</argument>
- </arguments>
- </configuration>
<goals>
- <goal>exec</goal>
+ <goal>run</goal>
</goals>
+ <configuration>
+ <protocVersion>2.5.0</protocVersion>
+ <includeStdTypes>true</includeStdTypes>
+ <inputDirectories>
+ <include>src/main/proto/</include>
+ </inputDirectories>
+ <includeDirectories>
+ <includeDirectory>../tajo-common/src/main/proto</includeDirectory>
+ <includeDirectory>../tajo-catalog/tajo-catalog-common/src/main/proto</includeDirectory>
+ <includeDirectory>../tajo-client/src/main/proto</includeDirectory>
+ </includeDirectories>
+ <outputDirectory>target/generated-sources/proto</outputDirectory>
+ </configuration>
</execution>
</executions>
</plugin>
diff --git a/tajo-rpc/tajo-rpc-protobuf/pom.xml b/tajo-rpc/tajo-rpc-protobuf/pom.xml
index 4d9a62b..128d2dc 100644
--- a/tajo-rpc/tajo-rpc-protobuf/pom.xml
+++ b/tajo-rpc/tajo-rpc-protobuf/pom.xml
@@ -84,27 +84,23 @@
</executions>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.5.0</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/DummyProtos.proto</argument>
- <argument>src/main/proto/RpcProtos.proto</argument>
- <argument>src/main/proto/TestProtos.proto</argument>
- <argument>src/main/proto/TestProtocol.proto</argument>
- </arguments>
- </configuration>
<goals>
- <goal>exec</goal>
+ <goal>run</goal>
</goals>
+ <configuration>
+ <protocVersion>2.5.0</protocVersion>
+ <includeStdTypes>true</includeStdTypes>
+ <inputDirectories>
+ <include>src/main/proto/</include>
+ </inputDirectories>
+ <outputDirectory>target/generated-sources/proto</outputDirectory>
+ </configuration>
</execution>
</executions>
</plugin>
diff --git a/tajo-storage/tajo-storage-common/pom.xml b/tajo-storage/tajo-storage-common/pom.xml
index c552ab5..3bc402d 100644
--- a/tajo-storage/tajo-storage-common/pom.xml
+++ b/tajo-storage/tajo-storage-common/pom.xml
@@ -109,26 +109,27 @@
</executions>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.5.0</version>
<executions>
<execution>
- <id>generate-sources</id>
<phase>generate-sources</phase>
- <configuration>
- <executable>protoc</executable>
- <arguments>
- <argument>-Isrc/main/proto/</argument>
- <argument>--proto_path=../../tajo-common/src/main/proto</argument>
- <argument>--proto_path=../../tajo-catalog/tajo-catalog-common/src/main/proto</argument>
- <argument>--java_out=target/generated-sources/proto</argument>
- <argument>src/main/proto/IndexProtos.proto</argument>
- </arguments>
- </configuration>
<goals>
- <goal>exec</goal>
+ <goal>run</goal>
</goals>
+ <configuration>
+ <protocVersion>2.5.0</protocVersion>
+ <includeStdTypes>true</includeStdTypes>
+ <inputDirectories>
+ <include>src/main/proto/</include>
+ </inputDirectories>
+ <includeDirectories>
+ <includeDirectory>../../tajo-common/src/main/proto</includeDirectory>
+ <includeDirectory>../../tajo-catalog/tajo-catalog-common/src/main/proto</includeDirectory>
+ </includeDirectories>
+ <outputDirectory>target/generated-sources/proto</outputDirectory>
+ </configuration>
</execution>
</executions>
</plugin>
diff --git a/tajo-storage/tajo-storage-hbase/pom.xml b/tajo-storage/tajo-storage-hbase/pom.xml
index ddb53ca..7d178cc 100644
--- a/tajo-storage/tajo-storage-hbase/pom.xml
+++ b/tajo-storage/tajo-storage-hbase/pom.xml
@@ -112,26 +112,27 @@
</executions>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.5.0</version>
<executions>
<execution>
- <id>generate-sources</id>
<phase>generate-sources</phase>
- <configuration>
- <executable>protoc</executable>
- <arguments>
- <argument>-Isrc/main/proto/</argument>
- <argument>--proto_path=../../tajo-common/src/main/proto</argument>
- <argument>--proto_path=../../tajo-catalog/tajo-catalog-common/src/main/proto</argument>
- <argument>--java_out=target/generated-sources/proto</argument>
- <argument>src/main/proto/StorageFragmentProtos.proto</argument>
- </arguments>
- </configuration>
<goals>
- <goal>exec</goal>
+ <goal>run</goal>
</goals>
+ <configuration>
+ <protocVersion>2.5.0</protocVersion>
+ <includeStdTypes>true</includeStdTypes>
+ <inputDirectories>
+ <include>src/main/proto/</include>
+ </inputDirectories>
+ <includeDirectories>
+ <includeDirectory>../../tajo-common/src/main/proto</includeDirectory>
+ <includeDirectory>../../tajo-catalog/tajo-catalog-common/src/main/proto</includeDirectory>
+ </includeDirectories>
+ <outputDirectory>target/generated-sources/proto</outputDirectory>
+ </configuration>
</execution>
</executions>
</plugin>
diff --git a/tajo-storage/tajo-storage-hdfs/pom.xml b/tajo-storage/tajo-storage-hdfs/pom.xml
index aa6e6a6..5542d9c 100644
--- a/tajo-storage/tajo-storage-hdfs/pom.xml
+++ b/tajo-storage/tajo-storage-hdfs/pom.xml
@@ -113,26 +113,27 @@
</executions>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.5.0</version>
<executions>
<execution>
- <id>generate-sources</id>
<phase>generate-sources</phase>
- <configuration>
- <executable>protoc</executable>
- <arguments>
- <argument>-Isrc/main/proto/</argument>
- <argument>--proto_path=../../tajo-common/src/main/proto</argument>
- <argument>--proto_path=../../tajo-catalog/tajo-catalog-common/src/main/proto</argument>
- <argument>--java_out=target/generated-sources/proto</argument>
- <argument>src/main/proto/StorageFragmentProtos.proto</argument>
- </arguments>
- </configuration>
<goals>
- <goal>exec</goal>
+ <goal>run</goal>
</goals>
+ <configuration>
+ <protocVersion>2.5.0</protocVersion>
+ <includeStdTypes>true</includeStdTypes>
+ <inputDirectories>
+ <include>src/main/proto/</include>
+ </inputDirectories>
+ <includeDirectories>
+ <includeDirectory>../../tajo-common/src/main/proto</includeDirectory>
+ <includeDirectory>../../tajo-catalog/tajo-catalog-common/src/main/proto</includeDirectory>
+ </includeDirectories>
+ <outputDirectory>target/generated-sources/proto</outputDirectory>
+ </configuration>
</execution>
</executions>
</plugin>
diff --git a/tajo-storage/tajo-storage-jdbc/pom.xml b/tajo-storage/tajo-storage-jdbc/pom.xml
index 804cad4..ecf71e3 100644
--- a/tajo-storage/tajo-storage-jdbc/pom.xml
+++ b/tajo-storage/tajo-storage-jdbc/pom.xml
@@ -111,26 +111,27 @@
</executions>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.5.0</version>
<executions>
<execution>
- <id>generate-sources</id>
<phase>generate-sources</phase>
- <configuration>
- <executable>protoc</executable>
- <arguments>
- <argument>-Isrc/main/proto/</argument>
- <argument>--proto_path=../../tajo-common/src/main/proto</argument>
- <argument>--proto_path=../../tajo-catalog/tajo-catalog-common/src/main/proto</argument>
- <argument>--java_out=target/generated-sources/proto</argument>
- <argument>src/main/proto/JdbcFragmentProtos.proto</argument>
- </arguments>
- </configuration>
<goals>
- <goal>exec</goal>
+ <goal>run</goal>
</goals>
+ <configuration>
+ <protocVersion>2.5.0</protocVersion>
+ <includeStdTypes>true</includeStdTypes>
+ <inputDirectories>
+ <include>src/main/proto/</include>
+ </inputDirectories>
+ <includeDirectories>
+ <includeDirectory>../../tajo-common/src/main/proto</includeDirectory>
+ <includeDirectory>../../tajo-catalog/tajo-catalog-common/src/main/proto</includeDirectory>
+ </includeDirectories>
+ <outputDirectory>target/generated-sources/proto</outputDirectory>
+ </configuration>
</execution>
</executions>
</plugin>
diff --git a/tajo-storage/tajo-storage-kafka/pom.xml b/tajo-storage/tajo-storage-kafka/pom.xml
index ab93e0b..4fe6750 100644
--- a/tajo-storage/tajo-storage-kafka/pom.xml
+++ b/tajo-storage/tajo-storage-kafka/pom.xml
@@ -100,26 +100,27 @@
</executions>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.5.0</version>
<executions>
<execution>
- <id>generate-sources</id>
<phase>generate-sources</phase>
- <configuration>
- <executable>protoc</executable>
- <arguments>
- <argument>-Isrc/main/proto/</argument>
- <argument>--proto_path=../../tajo-common/src/main/proto</argument>
- <argument>--proto_path=../../tajo-catalog/tajo-catalog-common/src/main/proto</argument>
- <argument>--java_out=target/generated-sources/proto</argument>
- <argument>src/main/proto/StorageFragmentProtos.proto</argument>
- </arguments>
- </configuration>
<goals>
- <goal>exec</goal>
+ <goal>run</goal>
</goals>
+ <configuration>
+ <protocVersion>2.5.0</protocVersion>
+ <includeStdTypes>true</includeStdTypes>
+ <inputDirectories>
+ <include>src/main/proto/</include>
+ </inputDirectories>
+ <includeDirectories>
+ <includeDirectory>../../tajo-common/src/main/proto</includeDirectory>
+ <includeDirectory>../../tajo-catalog/tajo-catalog-common/src/main/proto</includeDirectory>
+ </includeDirectories>
+ <outputDirectory>target/generated-sources/proto</outputDirectory>
+ </configuration>
</execution>
</executions>
</plugin>
diff --git a/tajo-tablespace-example/pom.xml b/tajo-tablespace-example/pom.xml
index 7e15e0c..a38ba19 100644
--- a/tajo-tablespace-example/pom.xml
+++ b/tajo-tablespace-example/pom.xml
@@ -87,26 +87,27 @@
</executions>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.5.0</version>
<executions>
<execution>
- <id>generate-sources</id>
<phase>generate-sources</phase>
- <configuration>
- <executable>protoc</executable>
- <arguments>
- <argument>-Isrc/main/proto/</argument>
- <argument>--proto_path=../tajo-common/src/main/proto</argument>
- <argument>--proto_path=../tajo-catalog/tajo-catalog-common/src/main/proto</argument>
- <argument>--java_out=target/generated-sources/proto</argument>
- <argument>src/main/proto/ExampleHttpFragmentProtos.proto</argument>
- </arguments>
- </configuration>
<goals>
- <goal>exec</goal>
+ <goal>run</goal>
</goals>
+ <configuration>
+ <protocVersion>2.5.0</protocVersion>
+ <includeStdTypes>true</includeStdTypes>
+ <inputDirectories>
+ <include>src/main/proto/</include>
+ </inputDirectories>
+ <includeDirectories>
+ <includeDirectory>../tajo-common/src/main/proto</includeDirectory>
+ <includeDirectory>../tajo-catalog/tajo-catalog-common/src/main/proto</includeDirectory>
+ </includeDirectories>
+ <outputDirectory>target/generated-sources/proto</outputDirectory>
+ </configuration>
</execution>
</executions>
</plugin>