You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by gi...@apache.org on 2023/06/21 05:33:03 UTC
[calcite] branch main updated: [CALCITE-5477] Build with Guava 19.0
This is an automated email from the ASF dual-hosted git repository.
gian pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/calcite.git
The following commit(s) were added to refs/heads/main by this push:
new 8b7284ba39 [CALCITE-5477] Build with Guava 19.0
8b7284ba39 is described below
commit 8b7284ba39c3f2577b3cfa381ebc945157ce18db
Author: Gian Merlino <gi...@gmail.com>
AuthorDate: Sat Feb 18 17:04:29 2023 -0800
[CALCITE-5477] Build with Guava 19.0
We aim to support Guava down to 16.0.1 (CALCITE-5428), but are foiled
by the fact that "Preconditions.checkArgument" gained new overloads in
Guava 20.0. When building against Guava 20.0+, the Java compiler generates
calls to methods that don't exist in those earlier versions.
To solve this, this patch builds Calcite against Guava 19, the latest
version that does not include these overloads.
This patch also removes the "errorprone" GitHub Action, leaving only
"errorprone-guava31". This is for two reasons. First, running errorprone
on Guava 19 is problematic, since it flags APIs that are @Beta in 19 but
have stabilized by 31. Second, it doesn't seem necessary to run with two
different Guava versions. Prior to this patch, both the "errorprone"
and "errorprone-guava31" actions ran on Guava 31 anyway, because the
default Guava build version was 31.1-jre.
It is expected that by the next release after August 2023, this patch
will be reverted (CALCITE-5763). At that point the minimum supported
Guava version would be Guava 20.
---
.github/workflows/main.yml | 54 ++++++++++++++++++++++++----------------------
gradle.properties | 2 +-
2 files changed, 29 insertions(+), 27 deletions(-)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 80133fb48e..64bf44d34f 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -142,6 +142,32 @@ jobs:
remote-build-cache-proxy-enabled: false
arguments: --scan --no-parallel --no-daemon -Pguava.version=${{ env.GUAVA }} build
+ linux-jdk8-latest-guava-tz:
+ if: github.event.action != 'labeled'
+ name: 'Linux (JDK 8), Latest Guava, America/New_York Timezone'
+ runs-on: ubuntu-latest
+ env:
+ TZ: 'America/New_York' # flips between −05:00 and −04:00
+ GUAVA: '31.1-jre' # latest supported Guava version
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 50
+ - name: 'Set up JDK 8'
+ uses: actions/setup-java@v2
+ with:
+ java-version: 8
+ distribution: 'zulu'
+ - uses: burrunan/gradle-cache-action@v1
+ name: Test
+ env:
+ S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
+ S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
+ with:
+ job-id: jdk${{ matrix.jdk }}
+ remote-build-cache-proxy-enabled: false
+ arguments: --scan --no-parallel --no-daemon -Pguava.version=${{ env.GUAVA }} build
+
linux-jdk11-tz:
if: github.event.action != 'labeled'
name: 'Linux (JDK 11), Pacific/Chatham Timezone'
@@ -173,7 +199,7 @@ jobs:
name: 'Linux (JDK 17)'
runs-on: ubuntu-latest
env:
- GUAVA: '31.1-jre'
+ GUAVA: '19.0'
steps:
- uses: actions/checkout@v3
with:
@@ -199,7 +225,7 @@ jobs:
name: 'Linux (JDK 19)'
runs-on: ubuntu-latest
env:
- GUAVA: '31.1-jre'
+ GUAVA: '19.0'
steps:
- uses: actions/checkout@v3
with:
@@ -298,30 +324,6 @@ jobs:
echo sqlsh
./sqlsh -o headers "select count(*) commits, author from (select substring(author, 1, position(' <' in author)-1) author from git_commits) group by author order by count(*) desc, author limit 20"
- errorprone:
- if: github.event.action != 'labeled'
- name: 'Error Prone (JDK 11)'
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- with:
- fetch-depth: 50
- - name: 'Set up JDK 11'
- uses: actions/setup-java@v2
- with:
- java-version: 11
- distribution: 'zulu'
- - uses: burrunan/gradle-cache-action@v1
- name: Test
- env:
- S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
- S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
- GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
- with:
- job-id: errprone
- remote-build-cache-proxy-enabled: false
- arguments: --scan --no-parallel --no-daemon -PenableErrorprone classes
-
errorprone-guava31: # LTS JDK version, don't remove until EOL
if: github.event.action != 'labeled'
name: 'Error Prone (JDK 11), Guava 31'
diff --git a/gradle.properties b/gradle.properties
index 8ac1ee5906..a1a7801255 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -108,7 +108,7 @@ foodmart-data-hsqldb.version=0.5
foodmart-data-json.version=0.4
foodmart-queries.version=0.4.1
geode-core.version=1.15.1
-guava.version=31.1-jre
+guava.version=19.0
h2.version=2.1.210
hadoop.version=2.7.5
hamcrest-date.version=2.0.4