diff --git a/docker/hoodie/hadoop/hive_base/pom.xml b/docker/hoodie/hadoop/hive_base/pom.xml
index edf68ee7e..57199ad15 100644
--- a/docker/hoodie/hadoop/hive_base/pom.xml
+++ b/docker/hoodie/hadoop/hive_base/pom.xml
@@ -55,7 +55,9 @@
-
+
diff --git a/hoodie-utilities/pom.xml b/hoodie-utilities/pom.xml
index b3218fa32..6fb720fd3 100644
--- a/hoodie-utilities/pom.xml
+++ b/hoodie-utilities/pom.xml
@@ -40,131 +40,6 @@
1.8
-
- org.apache.maven.plugins
- maven-shade-plugin
- 3.1.1
-
-
- package
-
- shade
-
-
- ${project.build.directory}/dependency-reduced-pom.xml
-
-
-
- commons-codec:commons-codec
- commons-dbcp:commons-dbcp
- commons-pool:commons-pool
- com.uber.hoodie:hoodie-common
- com.uber.hoodie:hoodie-client
- com.uber.hoodie:hoodie-spark
- com.uber.hoodie:hoodie-hive
- com.uber.hoodie:hoodie-hadoop-mr
- com.uber.hoodie:hoodie-timeline-service
- com.beust:jcommander
- com.twitter:bijection-avro_2.11
- com.twitter:bijection-core_2.11
- org.apache.parquet:parquet-avro
- com.twitter:parquet-avro
- com.twitter.common:objectsize
- io.confluent:kafka-avro-serializer
- io.confluent:common-config
- io.confluent:common-utils
- io.confluent:kafka-schema-registry-client
- io.dropwizard.metrics:metrics-core
- io.dropwizard.metrics:metrics-graphite
- org.apache.spark:spark-streaming-kafka-0-8_2.11
- org.apache.kafka:kafka_2.11
- com.101tec:zkclient
- org.apache.kafka:kafka-clients
- org.apache.hive:hive-common
- org.apache.hive:hive-service
- org.apache.hive:hive-metastore
- org.apache.hive:hive-jdbc
- com.esotericsoftware:kryo-shaded
- org.objenesis:objenesis
- com.esotericsoftware:minlog
- com.yammer.metrics:metrics-core
-
-
-
-
- com.beust.jcommander.
- com.uber.hoodie.com.beust.jcommander.
-
-
- org.apache.commons.dbcp.
- com.uber.hoodie.org.apache.commons.dbcp.
-
-
- org.apache.commons.pool.
- com.uber.hoodie.org.apache.commons.pool.
-
-
- org.apache.hive.jdbc.
- com.uber.hoodie.org.apache.hive.jdbc.
-
-
- org.apache.hadoop.hive.metastore.
- com.uber.hoodie.org.apache.hadoop_hive.metastore.
-
-
- org.apache.hive.common.
- com.uber.hoodie.org.apache.hive.common.
-
-
- org.apache.hadoop.hive.common.
- com.uber.hoodie.org.apache.hadoop_hive.common.
-
-
- org.apache.hadoop.hive.conf.
- com.uber.hoodie.org.apache.hadoop_hive.conf.
-
-
- org.apache.hive.service.
- com.uber.hoodie.org.apache.hive.service.
-
-
- org.apache.hadoop.hive.service.
- com.uber.hoodie.org.apache.hadoop_hive.service.
-
-
- com.esotericsoftware.kryo.
- com.uber.hoodie.com.esotericsoftware.kryo.
-
-
- org.objenesis.
- com.uber.hoodie.org.objenesis.
-
-
- com.esotericsoftware.minlog.
- com.uber.hoodie.com.esotericsoftware.minlog.
-
-
- com.codahale.metrics.
- com.uber.hoodie.com.codahale.metrics.
-
-
- org.apache.commons.codec.
- com.uber.hoodie.org.apache.commons.codec.
-
-
-
-
-
- META-INF/*.SF
- META-INF/*.DSA
- META-INF/*.RSA
-
-
-
-
-
-
-
diff --git a/packaging/hoodie-utilities-bundle/pom.xml b/packaging/hoodie-utilities-bundle/pom.xml
new file mode 100644
index 000000000..a1ac2c039
--- /dev/null
+++ b/packaging/hoodie-utilities-bundle/pom.xml
@@ -0,0 +1,461 @@
+
+
+
+
+
+ hoodie
+ com.uber.hoodie
+ 0.4.8-SNAPSHOT
+ ../../pom.xml
+
+ 4.0.0
+ hoodie-utilities-bundle
+ jar
+
+
+ 1.2.17
+ 4.10
+ true
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 1.8
+ 1.8
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.1.1
+
+
+ package
+
+ shade
+
+
+ ${project.build.directory}/dependency-reduced-pom.xml
+
+
+
+ commons-codec:commons-codec
+ commons-dbcp:commons-dbcp
+ commons-pool:commons-pool
+ com.uber.hoodie:hoodie-common
+ com.uber.hoodie:hoodie-client
+ com.uber.hoodie:hoodie-utilities
+ com.uber.hoodie:hoodie-spark
+ com.uber.hoodie:hoodie-hive
+ com.uber.hoodie:hoodie-hadoop-mr
+ com.uber.hoodie:hoodie-timeline-service
+ com.beust:jcommander
+ com.twitter:bijection-avro_2.11
+ com.twitter:bijection-core_2.11
+ org.apache.parquet:parquet-avro
+ com.twitter:parquet-avro
+ com.twitter.common:objectsize
+ io.confluent:kafka-avro-serializer
+ io.confluent:common-config
+ io.confluent:common-utils
+ io.confluent:kafka-schema-registry-client
+ io.dropwizard.metrics:metrics-core
+ io.dropwizard.metrics:metrics-graphite
+ org.apache.spark:spark-streaming-kafka-0-8_2.11
+ org.apache.kafka:kafka_2.11
+ com.101tec:zkclient
+ org.apache.kafka:kafka-clients
+ org.apache.hive:hive-common
+ org.apache.hive:hive-service
+ org.apache.hive:hive-metastore
+ org.apache.hive:hive-jdbc
+ com.esotericsoftware:kryo-shaded
+ org.objenesis:objenesis
+ com.esotericsoftware:minlog
+ com.yammer.metrics:metrics-core
+
+
+
+
+ com.beust.jcommander.
+ com.uber.hoodie.com.beust.jcommander.
+
+
+ org.apache.commons.dbcp.
+ com.uber.hoodie.org.apache.commons.dbcp.
+
+
+ org.apache.commons.pool.
+ com.uber.hoodie.org.apache.commons.pool.
+
+
+ org.apache.hive.jdbc.
+ com.uber.hoodie.org.apache.hive.jdbc.
+
+
+ org.apache.hadoop.hive.metastore.
+ com.uber.hoodie.org.apache.hadoop_hive.metastore.
+
+
+ org.apache.hive.common.
+ com.uber.hoodie.org.apache.hive.common.
+
+
+ org.apache.hadoop.hive.common.
+ com.uber.hoodie.org.apache.hadoop_hive.common.
+
+
+ org.apache.hadoop.hive.conf.
+ com.uber.hoodie.org.apache.hadoop_hive.conf.
+
+
+ org.apache.hive.service.
+ com.uber.hoodie.org.apache.hive.service.
+
+
+ org.apache.hadoop.hive.service.
+ com.uber.hoodie.org.apache.hadoop_hive.service.
+
+
+ com.esotericsoftware.kryo.
+ com.uber.hoodie.com.esotericsoftware.kryo.
+
+
+ org.objenesis.
+ com.uber.hoodie.org.objenesis.
+
+
+ com.esotericsoftware.minlog.
+ com.uber.hoodie.com.esotericsoftware.minlog.
+
+
+ com.codahale.metrics.
+ com.uber.hoodie.com.codahale.metrics.
+
+
+ org.apache.commons.codec.
+ com.uber.hoodie.org.apache.commons.codec.
+
+
+
+
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+
+
+
+
+
+
+
+
+
+
+
+ src/main/resources
+
+
+ src/test/resources
+
+
+
+
+
+
+ confluent
+ http://packages.confluent.io/maven/
+
+
+
+
+
+ io.javalin
+ javalin
+ 2.4.0
+
+
+
+ io.dropwizard.metrics
+ metrics-core
+
+
+
+ com.fasterxml.jackson.module
+ jackson-module-scala_2.11
+
+
+
+ com.uber.hoodie
+ hoodie-common
+ ${project.version}
+
+
+
+ com.uber.hoodie
+ hoodie-common
+ ${project.version}
+ tests
+ test-jar
+ test
+
+
+
+ com.uber.hoodie
+ hoodie-hive
+ ${project.version}
+ tests
+ test-jar
+ test
+
+
+
+ com.uber.hoodie
+ hoodie-spark
+ ${project.version}
+
+
+
+ org.apache.hadoop
+ hadoop-hdfs
+ tests
+
+
+ org.apache.hadoop
+ hadoop-common
+ tests
+
+
+ org.mortbay.jetty
+ *
+
+
+ javax.servlet.jsp
+ *
+
+
+ javax.servlet
+ *
+
+
+
+
+
+ ${hive.groupid}
+ hive-exec
+ ${hive.version}
+ test
+
+
+
+ ${hive.groupid}
+ hive-jdbc
+ ${hive.version}
+ standalone
+
+
+ org.slf4j
+ slf4j-api
+
+
+ javax.servlet
+ servlet-api
+
+
+
+
+
+ com.uber.hoodie
+ hoodie-hive
+ ${project.version}
+
+
+ javax.servlet
+ servlet-api
+
+
+
+
+
+ com.uber.hoodie
+ hoodie-client
+ ${project.version}
+
+
+
+ com.uber.hoodie
+ hoodie-utilities
+ ${project.version}
+
+
+
+ com.uber.hoodie
+ hoodie-client
+ ${project.version}
+ tests
+ test-jar
+ test
+
+
+
+ commons-codec
+ commons-codec
+
+
+ commons-dbcp
+ commons-dbcp
+
+
+ commons-pool
+ commons-pool
+
+
+
+ org.apache.httpcomponents
+ httpcore
+
+
+
+ log4j
+ log4j
+
+
+ org.slf4j
+ slf4j-api
+
+
+
+ org.apache.hadoop
+ hadoop-mapreduce-client-common
+
+
+ javax.servlet
+ servlet-api
+
+
+
+
+
+ org.apache.hadoop
+ hadoop-client
+
+
+
+ org.apache.spark
+ spark-core_2.11
+
+
+
+ org.apache.spark
+ spark-sql_2.11
+
+
+
+ com.yammer.metrics
+ metrics-core
+ 2.2.0
+
+
+
+ org.apache.spark
+ spark-streaming_2.11
+ ${spark.version}
+ provided
+
+
+
+ org.apache.spark
+ spark-streaming-kafka-0-8_2.11
+ ${spark.version}
+
+
+
+
+ org.antlr
+ stringtemplate
+ 4.0.2
+
+
+
+ com.beust
+ jcommander
+
+
+
+ org.mockito
+ mockito-all
+ 1.10.19
+ test
+
+
+ org.apache.avro
+ avro-mapred
+ 1.7.7
+
+
+
+ org.apache.parquet
+ parquet-avro
+
+
+
+ org.apache.parquet
+ parquet-hadoop
+
+
+
+ com.twitter
+ bijection-avro_2.11
+ 0.9.2
+
+
+
+ io.confluent
+ kafka-avro-serializer
+ 3.0.0
+
+
+
+ io.confluent
+ common-config
+ 3.0.0
+
+
+
+ io.confluent
+ common-utils
+ 3.0.0
+
+
+
+ io.confluent
+ kafka-schema-registry-client
+ 3.0.0
+
+
+
+
diff --git a/packaging/hoodie-utilities-bundle/src/main/java/com/uber/hoodie/utilities/bundle/Main.java b/packaging/hoodie-utilities-bundle/src/main/java/com/uber/hoodie/utilities/bundle/Main.java
new file mode 100644
index 000000000..e1ed0707d
--- /dev/null
+++ b/packaging/hoodie-utilities-bundle/src/main/java/com/uber/hoodie/utilities/bundle/Main.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2019 Uber Technologies, Inc. (hoodie-dev-group@uber.com)
+ *
+ * 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.
+ *
+ *
+ */
+
+package com.uber.hoodie.utilities.bundle;
+
+import com.uber.hoodie.common.util.ReflectionUtils;
+
+/**
+ * A simple main class to dump all classes loaded in current classpath
+ *
+ * This is a workaround for generating sources and javadoc jars for packaging modules. The maven plugins for generating
+ * javadoc and sources plugins do not generate corresponding jars if there are no source files.
+ *
+ * This class does not have anything to do with Hudi but is there to keep mvn javadocs/source plugin happy.
+ */
+public class Main {
+
+ public static void main(String[] args) {
+ ReflectionUtils.getTopLevelClassesInClasspath(Main.class).forEach(System.out::println);
+ }
+}
diff --git a/pom.xml b/pom.xml
index 05d489561..1e9e01816 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,6 +41,7 @@
packaging/hoodie-hive-bundle
packaging/hoodie-spark-bundle
packaging/hoodie-presto-bundle
+ packaging/hoodie-utilities-bundle
docker/hoodie/hadoop
hoodie-integ-test