Trino源码编译之idea remote develop

Trino

https://github.com/trinodb/trino

项目需要,trino 缺少 dynamic catalog 功能,每次都需要修改 TRINO_HOME/ect/catalog/xxx.properties 文件后重启trino,需要自己添加支持
参考
(1)基于DB改造
(2)官方Dynamic Catalog issue

由于 trino 的一些文件名超长,在 window 下开发会有问题,因为穷,我没有mac…

这里采用的是 idea remote 模式完成开发
idea getaway

环境安装参考

zulu-jdk 下载

ubuntu 环境上开了全局墙,方便从 GitHub 上 clone 代码

vi ~/.profile
export http_proxy=http://192.168.10.130:10811
export https_proxy=http://192.168.10.130:10811
export M2_HOME="/home/xxx/opt/apache-maven-3.9.4"

MAVEN_HOME=xxx
# https://cdn.azul.com/zulu/bin/zulu17.44.17-ca-crac-jdk17.0.8-linux_x64.tar.gz
JAVA_HOME=xxx

build

# trino 使用 maven-wapper 编译的,下载地址在文件内配置
${PROJECT_DIR}/.mvn/wrapper/maven-wrapper.properties 
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.9.4/apache-maven-3.9.4-bin.zip
# 可以修改为本地文件, 避免外网问题。
distributionUrl=file:///home/xx/.m2/wrapper/dists/apache-maven-3.9.4-bin.zip
# 默认会使用的 maven setting
${USER_HOME}/.m2/settings.xml
# 执行 build,跳过 docs
bash -x ./mvnw clean install -DskipTests -pl '!docs' -am -T 8
# cd到单独模块build
# mvn clean install -DskipTests -T 16
# bash -x ./mvnw clean install -DskipTests -pl 'trino-main' -am -T 8

# -pl '!docs' -am 是为了跳过 docs 模块编译,docs 编译需要使用到 docker,需要配置 docker 代理,略麻烦,这次编译跳过

等待二十分钟左右;

编译好的文件 tar.gz 文件在
${trino_project_path}/core/trino-server/target/trino-server-425.tar.gz

Q:没找到 maven-assembly-plugin 插件配置,但这个文件 core/trino-server/src/main/provisio/trino.xml 又描述了 assembly 配置,有没有大佬研究过指点一下。。。

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for trino-root 425:
[INFO] 
[INFO] trino-root ......................................... SUCCESS [ 12.557 s]
[INFO] trino-testing-services ............................. SUCCESS [01:14 min]
[INFO] trino-spi .......................................... SUCCESS [01:17 min]
[INFO] trino-client ....................................... SUCCESS [ 12.149 s]
[INFO] trino-grammar ...................................... SUCCESS [ 30.973 s]
[INFO] trino-cli .......................................... SUCCESS [  8.156 s]
[INFO] trino-cache ........................................ SUCCESS [  4.010 s]
[INFO] trino-matching ..................................... SUCCESS [ 16.330 s]
[INFO] trino-plugin-toolkit ............................... SUCCESS [ 12.181 s]
[INFO] trino-array ........................................ SUCCESS [  4.722 s]
[INFO] trino-geospatial-toolkit ........................... SUCCESS [ 12.171 s]
[INFO] trino-memory-context ............................... SUCCESS [ 15.427 s]
[INFO] trino-parser ....................................... SUCCESS [ 36.538 s]
[INFO] trino-testing-containers ........................... SUCCESS [ 38.993 s]
[INFO] trino-exchange-filesystem .......................... SUCCESS [01:25 min]
[INFO] trino-tpch ......................................... SUCCESS [  4.984 s]
[INFO] trino-main ......................................... SUCCESS [04:52 min]
[INFO] trino-testing ...................................... SUCCESS [ 34.066 s]
[INFO] trino-blackhole .................................... SUCCESS [ 13.372 s]
[INFO] trino-filesystem ................................... SUCCESS [  5.925 s]
[INFO] trino-filesystem-s3 ................................ SUCCESS [01:25 min]
[INFO] trino-hadoop-toolkit ............................... SUCCESS [  5.704 s]
[INFO] trino-hdfs ......................................... SUCCESS [01:00 min]
[INFO] trino-filesystem-manager ........................... SUCCESS [  8.134 s]
[INFO] trino-hive-formats ................................. SUCCESS [ 34.037 s]
[INFO] trino-orc .......................................... SUCCESS [ 41.546 s]
[INFO] trino-memory ....................................... SUCCESS [ 14.377 s]
[INFO] trino-benchmark .................................... SUCCESS [ 15.368 s]
[INFO] trino-parquet ...................................... SUCCESS [ 28.225 s]
[INFO] trino-tpcds ........................................ SUCCESS [  6.624 s]
[INFO] trino-hive ......................................... SUCCESS [01:02 min]
[INFO] trino-hive-hadoop2 ................................. SUCCESS [ 37.155 s]
[INFO] trino-password-authenticators ...................... SUCCESS [  8.342 s]
[INFO] trino-jdbc ......................................... SUCCESS [ 34.676 s]
[INFO] trino-base-jdbc .................................... SUCCESS [ 19.097 s]
[INFO] trino-phoenix5-patched ............................. SUCCESS [01:37 min]
[INFO] trino-phoenix5 ..................................... SUCCESS [ 22.952 s]
[INFO] trino-http-event-listener .......................... SUCCESS [  5.156 s]
[INFO] trino-redshift ..................................... SUCCESS [ 22.519 s]
[INFO] trino-accumulo-iterators ........................... SUCCESS [ 16.319 s]
[INFO] trino-accumulo ..................................... SUCCESS [ 19.510 s]
[INFO] trino-oracle ....................................... SUCCESS [ 23.628 s]
[INFO] trino-atop ......................................... SUCCESS [ 13.234 s]
[INFO] trino-session-property-managers .................... SUCCESS [  8.528 s]
[INFO] trino-raptor-legacy ................................ SUCCESS [ 26.045 s]
[INFO] trino-server-main .................................. SUCCESS [  3.497 s]
[INFO] trino-resource-group-managers ...................... SUCCESS [ 50.651 s]
[INFO] trino-mysql ........................................ SUCCESS [  8.601 s]
[INFO] trino-record-decoder ............................... SUCCESS [ 16.984 s]
[INFO] trino-kinesis ...................................... SUCCESS [ 22.677 s]
[INFO] trino-hudi ......................................... SUCCESS [ 27.469 s]
[INFO] trino-ml ........................................... SUCCESS [ 12.299 s]
[INFO] trino-ignite ....................................... SUCCESS [  8.844 s]
[INFO] trino-local-file ................................... SUCCESS [ 14.771 s]
[INFO] trino-testing-kafka ................................ SUCCESS [ 38.675 s]
[INFO] trino-pinot ........................................ SUCCESS [ 34.608 s]
[INFO] trino-example-http ................................. SUCCESS [ 19.399 s]
[INFO] trino-google-sheets ................................ SUCCESS [  8.336 s]
[INFO] trino-geospatial ................................... SUCCESS [ 15.111 s]
[INFO] trino-mysql-event-listener ......................... SUCCESS [ 16.693 s]
[INFO] trino-druid ........................................ SUCCESS [  7.571 s]
[INFO] trino-kafka ........................................ SUCCESS [ 18.958 s]
[INFO] trino-exchange-hdfs ................................ SUCCESS [  9.860 s]
[INFO] trino-jmx .......................................... SUCCESS [  8.439 s]
[INFO] trino-thrift-api ................................... SUCCESS [  7.575 s]
[INFO] trino-thrift-testing-server ........................ SUCCESS [01:02 min]
[INFO] trino-thrift ....................................... SUCCESS [  6.088 s]
[INFO] trino-clickhouse ................................... SUCCESS [ 13.688 s]
[INFO] trino-mongodb ...................................... SUCCESS [ 15.323 s]
[INFO] trino-iceberg ...................................... SUCCESS [01:10 min]
[INFO] trino-postgresql ................................... SUCCESS [ 10.879 s]
[INFO] trino-singlestore .................................. SUCCESS [ 15.089 s]
[INFO] trino-teradata-functions ........................... SUCCESS [  3.838 s]
[INFO] trino-elasticsearch ................................ SUCCESS [ 19.550 s]
[INFO] trino-kudu ......................................... SUCCESS [ 10.591 s]
[INFO] trino-bigquery ..................................... SUCCESS [ 25.676 s]
[INFO] trino-testing-resources ............................ SUCCESS [ 15.933 s]
[INFO] trino-delta-lake ................................... SUCCESS [ 47.087 s]
[INFO] trino-prometheus ................................... SUCCESS [  7.686 s]
[INFO] trino-cassandra .................................... SUCCESS [ 22.302 s]
[INFO] trino-sqlserver .................................... SUCCESS [ 16.367 s]
[INFO] trino-mariadb ...................................... SUCCESS [ 14.625 s]
[INFO] trino-redis ........................................ SUCCESS [ 16.593 s]
[INFO] trino-server ....................................... SUCCESS [01:46 min]
[INFO] trino-server-rpm ................................... SUCCESS [01:24 min]
[INFO] trino-filesystem-azure ............................. SUCCESS [ 23.267 s]
[INFO] trino-example-jdbc ................................. SUCCESS [  5.289 s]
[INFO] trino-proxy ........................................ SUCCESS [ 10.589 s]
[INFO] trino-verifier ..................................... SUCCESS [ 14.785 s]
[INFO] trino-benchmark-queries ............................ SUCCESS [ 15.424 s]
[INFO] trino-benchto-benchmarks ........................... SUCCESS [  7.869 s]
[INFO] trino-tests ........................................ SUCCESS [ 19.805 s]
[INFO] trino-faulttolerant-tests .......................... SUCCESS [  5.652 s]
[INFO] trino-plugin-reader ................................ SUCCESS [ 45.003 s]
[INFO] trino-product-tests ................................ SUCCESS [01:30 min]
[INFO] trino-product-tests-launcher ....................... SUCCESS [ 24.141 s]
[INFO] trino-server-dev ................................... SUCCESS [ 20.225 s]
[INFO] trino-test-jdbc-compatibility-old-driver ........... SUCCESS [  2.128 s]
[INFO] trino-test-jdbc-compatibility-old-server ........... SUCCESS [  7.629 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  16:59 min (Wall Clock)
[INFO] Finished at: 2023-09-04T13:52:28Z
[INFO] ------------------------------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值