From 26d90e12dc5b78a6bcc9576e4d354e13cfaf9977 Mon Sep 17 00:00:00 2001 From: David Porter Date: Mon, 4 Nov 2024 18:27:56 -0800 Subject: [PATCH] thrift install script (#939) * thrift install script --- .gitigmore | 1 + CONTRIBUTING.md | 2 +- scripts/install-thrift-locally-osx.sh | 39 +++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 .gitigmore create mode 100755 scripts/install-thrift-locally-osx.sh diff --git a/.gitigmore b/.gitigmore new file mode 100644 index 000000000..42864aef0 --- /dev/null +++ b/.gitigmore @@ -0,0 +1 @@ +.dependencies diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e2f2ed474..efb5fa1ea 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,7 +7,7 @@ This doc is intended for contributors to `cadence-java-client` (hopefully that's ## Development Environment * Java 11 (currently, we use Java 11 to compile Java 8 code). -* Thrift 0.9.3 (use [homebrew](https://formulae.brew.sh/formula/thrift@0.9) or [distribution](https://downloads.apache.org/thrift/0.9.3/)) +* Thrift 0.9.3 (use [homebrew](https://formulae.brew.sh/formula/thrift@0.9) or [distribution](https://downloads.apache.org/thrift/0.9.3/)). Alternatively you can install with `scripts/install-thrift-locally-osx.sh`. * Gradle build tool [6.x](https://github.com/uber/cadence-java-client/blob/master/gradle/wrapper/gradle-wrapper.properties) * Docker diff --git a/scripts/install-thrift-locally-osx.sh b/scripts/install-thrift-locally-osx.sh new file mode 100755 index 000000000..3b89a2624 --- /dev/null +++ b/scripts/install-thrift-locally-osx.sh @@ -0,0 +1,39 @@ +#!/bin/bash -e + +cd $(dirname $0)/.. + +if [[ ! -d .dependencies ]]; then + mkdir .dependencies +fi + +cd .dependencies +rm -rf thrift +mkdir thrift +cd thrift + +APACHE_THRIFT_VERSION=0.9.3 + +brew install bison + +# macs have an old versiion of bison hanging around typically +# so override it by using the brew version in PATH +export PATH="/opt/homebrew/opt/bison/bin:$PATH" + +wget https://archive.apache.org/dist/thrift/${APACHE_THRIFT_VERSION}/thrift-${APACHE_THRIFT_VERSION}.tar.gz && \ + +tar -xvf thrift-${APACHE_THRIFT_VERSION}.tar.gz +rm thrift-${APACHE_THRIFT_VERSION}.tar.gz +cd thrift-${APACHE_THRIFT_VERSION}/ + +./configure --enable-libs=no --enable-tests=no --enable-tutorial=no --with-cpp=no --with-c_glib=no --with-java=yes --with-ruby=no --with-erlang=no --with-go=no --with-nodejs=no --with-python=no && \ + +make +echo "" +echo "thrift expects to be globally installed :/" +echo "asking do do with sudo to install to /usr/local/bin" +echo "" +sudo make install && \ +cd .. && \ +rm -rf thrift-${APACHE_THRIFT_VERSION} +thrift --version +echo "done"