Skip to content

Instantly share code, notes, and snippets.

@agrueneberg
Last active January 8, 2024 09:37
Show Gist options
  • Save agrueneberg/f0a3986a35888f1ac67ab529bf99e26c to your computer and use it in GitHub Desktop.
Save agrueneberg/f0a3986a35888f1ac67ab529bf99e26c to your computer and use it in GitHub Desktop.
Lakehouse-focused Trino (Hive, Iceberg, Delta, Hudi)
#!/usr/bin/env bash
#
# Reduce compilation time and size of dependencies by trimming most of the
# plugins unrelated to Lakehouses. Also increases the startup time of the
# Development Server.
#
# Catalogs in testing/trino-server-dev/etc/catalog need to be edited.
#
# Compile project with ./mvnw clean install -DskipTests
#
sed -i '/<module>docs<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-accumulo<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-accumulo-iterators<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-atop<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-base-jdbc<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-bigquery<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-cassandra<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-clickhouse<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-druid<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-elasticsearch<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-example-http<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-example-jdbc<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-exchange-hdfs<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-geospatial<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-google-sheets<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-http-event-listener<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-ignite<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-kafka<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-kinesis<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-kudu<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-local-file<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-mariadb<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-ml<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-mongodb<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-mysql<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-mysql-event-listener<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-oracle<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-phoenix5<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-pinot<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-postgresql<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-prometheus<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-raptor-legacy<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-redis<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-redshift<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-resource-group-managers<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-session-property-managers<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-singlestore<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-sqlserver<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-teradata-functions<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-thrift<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-thrift-api<\/module>/d' pom.xml
sed -i '/<module>plugin\/trino-thrift-testing-server<\/module>/d' pom.xml
sed -i '/<module>testing\/trino-benchmark-queries<\/module>/d' pom.xml
sed -i '/<module>testing\/trino-benchto-benchmarks<\/module>/d' pom.xml
sed -i '/<module>testing\/trino-faulttolerant-tests<\/module>/d' pom.xml
sed -i '/<module>testing\/trino-plugin-reader<\/module>/d' pom.xml
sed -i '/<module>testing\/trino-product-tests<\/module>/d' pom.xml
sed -i '/<module>testing\/trino-product-tests-launcher<\/module>/d' pom.xml
sed -i '/<module>testing\/trino-test-jdbc-compatibility-old-driver<\/module>/d' pom.xml
sed -i '/<module>testing\/trino-test-jdbc-compatibility-old-server<\/module>/d' pom.xml
sed -i '/<module>testing\/trino-testing-kafka<\/module>/d' pom.xml
sed -i '/<module>testing\/trino-tests<\/module>/d' pom.xml
sed -i '/<artifactSet to="plugin\/resource-group-managers">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/password-authenticators">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/session-property-managers">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/jmx">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/cassandra">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/clickhouse">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/example-http">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/memory">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/blackhole">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/kafka">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/kudu">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/atop">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/ml">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/geospatial">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/singlestore">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/mariadb">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/mysql">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/oracle">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/phoenix5">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/postgresql">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/prometheus">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/http-event-listener">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/mysql-event-listener">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/redshift">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/sqlserver">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/raptor-legacy">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/redis">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/teradata-functions">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/mongodb">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/local-file">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/accumulo">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/thrift">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/elasticsearch">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/google-sheets">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/kinesis">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/bigquery">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/pinot">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/druid">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/exchange-filesystem">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/exchange-hdfs">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/<artifactSet to="plugin\/ignite">/,/<\/artifactSet>/d' core/trino-server/src/main/provisio/trino.xml
sed -i '/..\/..\/plugin\/trino-resource-group-managers\/pom.xml,\\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-password-authenticators\/pom.xml, \\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-blackhole\/pom.xml,\\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-cassandra\/pom.xml,\\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-memory\/pom.xml,\\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-jmx\/pom.xml,\\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-raptor-legacy\/pom.xml,\\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-example-http\/pom.xml,\\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-kafka\/pom.xml, \\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-local-file\/pom.xml, \\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-mysql\/pom.xml,\\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-mariadb\/pom.xml,\\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-singlestore\/pom.xml,\\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-sqlserver\/pom.xml, \\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-prometheus\/pom.xml, \\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-postgresql\/pom.xml, \\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-thrift\/pom.xml, \\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-google-sheets\/pom.xml, \\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-druid\/pom.xml, \\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-geospatial\/pom.xml, \\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-http-event-listener\/pom.xml, \\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-exchange-filesystem\/pom.xml, \\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-exchange-hdfs\/pom.xml, \\/d' testing/trino-server-dev/etc/config.properties
sed -i '/..\/..\/plugin\/trino-mysql-event-listener\/pom.xml/d' testing/trino-server-dev/etc/config.properties
sed -i 's/..\/..\/plugin\/trino-tpcds\/pom.xml, \\/..\/..\/plugin\/trino-tpcds\/pom.xml/' testing/trino-server-dev/etc/config.properties
rm testing/trino-server-dev/etc/catalog/blackhole.properties
rm testing/trino-server-dev/etc/catalog/cassandra.properties
rm testing/trino-server-dev/etc/catalog/druid.properties
rm testing/trino-server-dev/etc/catalog/example.properties
rm testing/trino-server-dev/etc/catalog/jmx.properties
rm testing/trino-server-dev/etc/catalog/localfile.properties
rm testing/trino-server-dev/etc/catalog/mariadb.properties
rm testing/trino-server-dev/etc/catalog/memory.properties
rm testing/trino-server-dev/etc/catalog/mysql.properties
rm testing/trino-server-dev/etc/catalog/postgresql.properties
rm testing/trino-server-dev/etc/catalog/prometheus.properties
rm testing/trino-server-dev/etc/catalog/raptor.properties
rm testing/trino-server-dev/etc/catalog/singlestore.properties
rm testing/trino-server-dev/etc/catalog/sqlserver.properties
rm testing/trino-server-dev/etc/catalog/thrift.properties
rm -rf docs
rm -rf plugin/trino-accumulo-iterators
rm -rf plugin/trino-accumulo
rm -rf plugin/trino-atop
rm -rf plugin/trino-base-jdbc
rm -rf plugin/trino-bigquery
rm -rf plugin/trino-cassandra
rm -rf plugin/trino-clickhouse
rm -rf plugin/trino-druid
rm -rf plugin/trino-elasticsearch
rm -rf plugin/trino-example-http
rm -rf plugin/trino-example-jdbc
rm -rf plugin/trino-exchange-hdfs
rm -rf plugin/trino-geospatial
rm -rf plugin/trino-google-sheets
rm -rf plugin/trino-http-event-listener
rm -rf plugin/trino-ignite
rm -rf plugin/trino-kafka
rm -rf plugin/trino-kinesis
rm -rf plugin/trino-kudu
rm -rf plugin/trino-local-file
rm -rf plugin/trino-mariadb
rm -rf plugin/trino-ml
rm -rf plugin/trino-mongodb
rm -rf plugin/trino-mysql
rm -rf plugin/trino-oracle
rm -rf plugin/trino-phoenix5
rm -rf plugin/trino-pinot
rm -rf plugin/trino-postgresql
rm -rf plugin/trino-prometheus
rm -rf plugin/trino-raptor-legacy
rm -rf plugin/trino-redis
rm -rf plugin/trino-redshift
rm -rf plugin/trino-resource-group-managers
rm -rf plugin/trino-session-property-managers
rm -rf plugin/trino-singlestore
rm -rf plugin/trino-sqlserver
rm -rf plugin/trino-teradata-functions
rm -rf plugin/trino-thrift-api
rm -rf plugin/trino-thrift
rm -rf testing/bin/ptl
rm -rf testing/trino-benchmark-queries
rm -rf testing/trino-benchto-benchmarks
rm -rf testing/trino-faulttolerant-tests
rm -rf testing/trino-plugin-reader
rm -rf testing/trino-product-tests-launcher
rm -rf testing/trino-product-tests
rm -rf testing/trino-testing-kafka
rm -rf testing/trino-testing-kafka
rm -rf testing/trino-tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment