diff --git a/packaging/hudi-trino-bundle/pom.xml b/packaging/hudi-trino-bundle/pom.xml new file mode 100644 index 000000000..386369316 --- /dev/null +++ b/packaging/hudi-trino-bundle/pom.xml @@ -0,0 +1,273 @@ + + + + + hudi + org.apache.hudi + 0.11.0-SNAPSHOT + ../../pom.xml + + 4.0.0 + hudi-trino-bundle + jar + + + true + ${project.parent.basedir} + + + + + + org.apache.rat + apache-rat-plugin + + + org.apache.maven.plugins + maven-shade-plugin + ${maven-shade-plugin.version} + + + package + + shade + + + ${shadeSources} + ${project.build.directory}/dependency-reduced-pom.xml + + + + + + true + + + META-INF/LICENSE + target/classes/META-INF/LICENSE + + + + + org.apache.hudi:hudi-common + org.apache.hudi:hudi-hadoop-mr + + org.apache.parquet:parquet-avro + org.apache.avro:avro + org.codehaus.jackson:* + com.esotericsoftware:kryo-shaded + org.objenesis:objenesis + com.esotericsoftware:minlog + org.apache.hbase:hbase-client + org.apache.hbase:hbase-common + org.apache.hbase:hbase-protocol + org.apache.hbase:hbase-server + org.apache.hbase:hbase-annotations + org.apache.htrace:htrace-core + com.yammer.metrics:metrics-core + com.google.guava:guava + commons-lang:commons-lang + com.google.protobuf:protobuf-java + + + + + + org.apache.avro. + org.apache.hudi.org.apache.avro. + + + org.codehaus.jackson. + org.apache.hudi.org.codehaus.jackson. + + + com.esotericsoftware.kryo. + org.apache.hudi.com.esotericsoftware.kryo. + + + org.objenesis. + org.apache.hudi.org.objenesis. + + + com.esotericsoftware.minlog. + org.apache.hudi.com.esotericsoftware.minlog. + + + com.yammer.metrics. + org.apache.hudi.com.yammer.metrics. + + + com.google.common. + ${trino.bundle.bootstrap.shade.prefix}com.google.common. + + + org.apache.commons.lang. + ${trino.bundle.bootstrap.shade.prefix}org.apache.commons.lang. + + + com.google.protobuf. + ${trino.bundle.bootstrap.shade.prefix}com.google.protobuf. + + + false + + + *:* + + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + META-INF/services/javax.* + + + + ${project.artifactId}-${project.version} + + + + + + + + src/main/resources + + + src/test/resources + + + + + + + + org.apache.hudi + hudi-common + ${project.version} + + + org.apache.hbase + hbase-server + + + org.apache.hbase + hbase-client + + + + + org.apache.hudi + hudi-hadoop-mr-bundle + ${project.version} + + + org.apache.hbase + hbase-server + + + org.apache.hbase + hbase-client + + + + + + + org.apache.hbase + hbase-shaded-client + ${hbase.version} + test + + + + org.apache.hbase + hbase-shaded-server + ${hbase.version} + + compile + + + javax.servlet + * + + + org.codehaus.jackson + * + + + org.mortbay.jetty + * + + + tomcat + * + + + + + + + org.apache.parquet + parquet-avro + compile + + + + org.apache.avro + avro + compile + + + + + com.google.guava + guava + 12.0.1 + ${trino.bundle.bootstrap.scope} + + + + + commons-lang + commons-lang + 2.6 + ${trino.bundle.bootstrap.scope} + + + + + com.google.protobuf + protobuf-java + 2.5.0 + ${trino.bundle.bootstrap.scope} + + + + + + trino-shade-unbundle-bootstrap + + provided + + + + + diff --git a/packaging/hudi-trino-bundle/src/main/java/org/apache/hudi/trino/bundle/Main.java b/packaging/hudi-trino-bundle/src/main/java/org/apache/hudi/trino/bundle/Main.java new file mode 100644 index 000000000..eec1ecf88 --- /dev/null +++ b/packaging/hudi-trino-bundle/src/main/java/org/apache/hudi/trino/bundle/Main.java @@ -0,0 +1,36 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 org.apache.hudi.trino.bundle; + +import org.apache.hudi.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 16298aa8f..a9891595a 100644 --- a/pom.xml +++ b/pom.xml @@ -50,6 +50,7 @@ packaging/hudi-presto-bundle packaging/hudi-utilities-bundle packaging/hudi-timeline-server-bundle + packaging/hudi-trino-bundle docker/hoodie/hadoop hudi-integ-test packaging/hudi-integ-test-bundle @@ -147,15 +148,17 @@ UTF-8 ${project.basedir} provided - + compile org.apache.hudi.spark. provided - + -Xmx2g 0.8.5 compile org.apache.hudi. + compile + org.apache.hudi. true 2.7.1 4.7