diff --git a/.github/DEVELOPMENT.md b/.github/DEVELOPMENT.md
index 41fbbf6976e5..230525efd2aa 100644
--- a/.github/DEVELOPMENT.md
+++ b/.github/DEVELOPMENT.md
@@ -185,7 +185,7 @@ the POMs to each module. If that doesn't work, you can do it manually:
Note that the version of errorprone used by the IDEA plugin might be older than
the one configured in the `pom.xml` and you might need to disable some checks
that are not yet supported by that older version. When in doubt, always check
-with the full Maven build (``./mvnw clean install -DskipTests -Perrorprone-compiler``).
+with the full Maven build (``./mvnw clean package -DskipTests -Perrorprone-compiler``).
### Language injection in IDE
diff --git a/.github/actions/compile-commit/action.yml b/.github/actions/compile-commit/action.yml
index 958fd339029f..b6b72fcebfb2 100644
--- a/.github/actions/compile-commit/action.yml
+++ b/.github/actions/compile-commit/action.yml
@@ -43,7 +43,7 @@ runs:
# For building with Maven we need MAVEN_OPTS to equal MAVEN_INSTALL_OPTS
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
- $MAVEN install \
+ $MAVEN package \
${MAVEN_COMPILE_COMMITS} `# defaults, kept in sync with ci.yml` \
-Dair.check.skip-all=false -Dair.check.skip-basic=true -Dair.check.skip-extended=true -Dair.check.skip-checkstyle=false \
${MAVEN_GIB}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index cb6a029e0491..c5c22fdf1a74 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -77,7 +77,7 @@ jobs:
- name: Check SPI backward compatibility
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
- $MAVEN clean install ${MAVEN_FAST_INSTALL} -pl :trino-spi -am
+ $MAVEN clean package ${MAVEN_FAST_INSTALL} -pl :trino-spi -am
$MAVEN clean verify -B --strict-checksums -DskipTests -pl :trino-spi
- name: Maven Checks
run: |
@@ -104,10 +104,10 @@ jobs:
with:
cache: 'restore'
cleanup-node: true
- - name: Maven Install
+ - name: Maven Package
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
- $MAVEN clean install ${MAVEN_FAST_INSTALL} -pl '!:trino-docs,!:trino-server-rpm'
+ $MAVEN clean package ${MAVEN_FAST_INSTALL} -pl '!:trino-docs,!:trino-server-rpm'
- name: Test Server RPM
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
@@ -192,11 +192,11 @@ jobs:
timeout-minutes: 10
with:
cache: restore
- - name: Maven Install
+ - name: Maven Package
run: |
# build everything to make sure dependencies of impacted modules are present
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
- $MAVEN clean install ${MAVEN_FAST_INSTALL} ${MAVEN_GIB} -pl '!:trino-docs,!:trino-server,!:trino-server-rpm'
+ $MAVEN clean package ${MAVEN_FAST_INSTALL} ${MAVEN_GIB} -pl '!:trino-docs,!:trino-server,!:trino-server-rpm'
- name: Error Prone Checks
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
@@ -219,10 +219,11 @@ jobs:
timeout-minutes: 10
with:
cache: restore
- - name: Maven Install
+ cleanup-node: true
+ - name: Maven Package
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
- $MAVEN clean install ${MAVEN_FAST_INSTALL} ${MAVEN_GIB} -Dgib.logImpactedTo=gib-impacted.log -pl '!:trino-docs,!:trino-server,!:trino-server-rpm'
+ $MAVEN clean package ${MAVEN_FAST_INSTALL} ${MAVEN_GIB} -Dgib.logImpactedTo=gib-impacted.log -pl '!:trino-docs,!:trino-server,!:trino-server-rpm'
- name: Test old JDBC vs current server
id: tests-old
run: |
@@ -267,7 +268,7 @@ jobs:
- name: Install Hive Module
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
- $MAVEN clean install ${MAVEN_FAST_INSTALL} ${MAVEN_GIB} -Dgib.logImpactedTo=gib-impacted.log -am -pl :trino-hive
+ $MAVEN clean package ${MAVEN_FAST_INSTALL} ${MAVEN_GIB} -Dgib.logImpactedTo=gib-impacted.log -am -pl :trino-hive
- name: Run Hive AWS Tests
id: tests
env:
@@ -325,10 +326,10 @@ jobs:
with:
cache: restore
cleanup-node: true
- - name: Maven Install
+ - name: Maven Package
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
- $MAVEN clean install ${MAVEN_FAST_INSTALL} ${MAVEN_GIB} -pl '!:trino-docs,!:trino-server,!:trino-server-rpm'
+ $MAVEN clean package ${MAVEN_FAST_INSTALL} ${MAVEN_GIB} -pl '!:trino-docs,!:trino-server,!:trino-server-rpm'
- name: Maven Tests
id: tests
run: |
@@ -514,10 +515,10 @@ jobs:
cache: restore
cleanup-node: ${{ format('{0}', matrix.modules == 'plugin/trino-singlestore' || matrix.modules == 'plugin/trino-exasol') }}
java-version: ${{ matrix.jdk != '' && matrix.jdk || '23' }}
- - name: Maven Install
+ - name: Maven Package
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
- $MAVEN clean install ${MAVEN_FAST_INSTALL} ${MAVEN_GIB} -am -pl "${{ matrix.modules }}"
+ $MAVEN clean package ${MAVEN_FAST_INSTALL} ${MAVEN_GIB} -am -pl "${{ matrix.modules }}"
- name: Maven Tests
id: tests
if: >-
@@ -833,10 +834,10 @@ jobs:
# it relies on the Provisio plugin to find the right artifacts
- 'core/trino-server/**'
- '.github/**'
- - name: Maven Install
+ - name: Maven Package
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
- $MAVEN clean install ${MAVEN_FAST_INSTALL} -pl '!:trino-docs,!:trino-server-rpm'
+ $MAVEN clean package ${MAVEN_FAST_INSTALL} -pl '!:trino-docs,!:trino-server-rpm'
- name: Map impacted plugins to features
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 0cb9e9d1ce39..12c45922ba29 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -54,7 +54,7 @@ jobs:
- name: Maven Checks
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
- $RETRY $MAVEN install -B --strict-checksums -V -T 1C -DskipTests -P ci -am -pl ':trino-docs'
+ $RETRY $MAVEN package -B --strict-checksums -V -T 1C -DskipTests -P ci -am -pl ':trino-docs'
- name: Clean local Maven repo
# Avoid creating a cache entry because this job doesn't download all dependencies
if: steps.cache.outputs.cache-hit != 'true'
@@ -79,10 +79,10 @@ jobs:
fetch-depth: 0 # checkout all commits, as the build result depends on `git describe` equivalent
- uses: ./.github/actions/setup
timeout-minutes: 10
- - name: Maven Install
+ - name: Maven Package
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
- $RETRY $MAVEN install ${MAVEN_FAST_INSTALL} -am -pl $(echo '${{ matrix.modules }}' | cut -d' ' -f1)
+ $RETRY $MAVEN package ${MAVEN_FAST_INSTALL} -am -pl $(echo '${{ matrix.modules }}' | cut -d' ' -f1)
- name: Maven Tests
id: tests
run: $MAVEN test ${MAVEN_TEST} -pl ${{ matrix.modules }}
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
index d58dfb70bab5..46a0cf98fbd2 100644
--- a/.mvn/wrapper/maven-wrapper.properties
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -16,4 +16,4 @@
# under the License.
wrapperVersion=3.3.2
distributionType=only-script
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
+distributionUrl=https://dist.apache.org/repos/dist/dev/maven/maven-4/4.0.0-rc-1/binaries/apache-maven-4.0.0-rc-1-bin.zip
diff --git a/README.md b/README.md
index 61b851098197..587ad414af3c 100644
--- a/README.md
+++ b/README.md
@@ -64,7 +64,7 @@ Trino supports [reproducible builds](https://reproducible-builds.org) as of vers
Trino is a standard Maven project. Simply run the following command from the
project root directory:
- ./mvnw clean install -DskipTests
+ ./mvnw clean package -DskipTests
On the first build, Maven downloads all the dependencies from the internet
and caches them in the local repository (`~/.m2/repository`), which can take a
diff --git a/core/docker/build.sh b/core/docker/build.sh
index 053f7acb24cf..7bdc6b15a8e0 100755
--- a/core/docker/build.sh
+++ b/core/docker/build.sh
@@ -92,12 +92,12 @@ if [ -n "$TRINO_VERSION" ]; then
for artifactId in io.trino:trino-server:"${TRINO_VERSION}":tar.gz io.trino:trino-cli:"${TRINO_VERSION}":jar:executable; do
"${SOURCE_DIR}/mvnw" -C dependency:get -Dtransitive=false -Dartifact="$artifactId"
done
- local_repo=$("${SOURCE_DIR}/mvnw" -B help:evaluate -Dexpression=settings.localRepository -q -DforceStdout)
+ local_repo=$("${SOURCE_DIR}/mvnw" -B help:evaluate --raw-streams -Dexpression=settings.localRepository -q -DforceStdout)
trino_server="$local_repo/io/trino/trino-server/${TRINO_VERSION}/trino-server-${TRINO_VERSION}.tar.gz"
trino_client="$local_repo/io/trino/trino-cli/${TRINO_VERSION}/trino-cli-${TRINO_VERSION}-executable.jar"
chmod +x "$trino_client"
else
- TRINO_VERSION=$("${SOURCE_DIR}/mvnw" -f "${SOURCE_DIR}/pom.xml" --quiet help:evaluate -Dexpression=project.version -DforceStdout)
+ TRINO_VERSION=$("${SOURCE_DIR}/mvnw" -f "${SOURCE_DIR}/pom.xml" --raw-streams --quiet help:evaluate -Dexpression=project.version -DforceStdout)
echo "🎯 Using currently built artifacts from the core/trino-server and client/trino-cli modules and version ${TRINO_VERSION}"
trino_server="${SOURCE_DIR}/core/trino-server/target/trino-server-${TRINO_VERSION}.tar.gz"
trino_client="${SOURCE_DIR}/client/trino-cli/target/trino-cli-${TRINO_VERSION}-executable.jar"
diff --git a/docs/README.md b/docs/README.md
index 665b6cb960fb..1d941f2c88f2 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -92,13 +92,13 @@ Trino build. You only need to have built the current Trino version from the root
That is, before building the docs the first time, run the following command:
```bash
-./mvnw clean install -DskipTests
+./mvnw clean package -DskipTests
```
Subsequently, you can build the doc site using the Maven wrapper script:
```bash
-./mvnw -pl docs clean install
+./mvnw -pl docs clean package
```
If you have Maven installed and available on the path, you can use the `mvn` command
diff --git a/testing/trino-product-tests-launcher/bin/run-launcher b/testing/trino-product-tests-launcher/bin/run-launcher
index 39c5bd3b1d80..c2fbb45ba137 100755
--- a/testing/trino-product-tests-launcher/bin/run-launcher
+++ b/testing/trino-product-tests-launcher/bin/run-launcher
@@ -17,7 +17,7 @@ launcher_jar="${target}/trino-product-tests-launcher-${trino_version}-executable
if ! test -x "${launcher_jar}"; then
echo "Could not find launcher jar ${launcher_jar}." >&2
- echo "Run \`${mvn} clean install -pl :trino-product-tests-launcher -DskipTests\`" >&2
+ echo "Run \`${mvn} clean package -pl :trino-product-tests-launcher -DskipTests\`" >&2
exit 3
fi
diff --git a/testing/trino-test-jdbc-compatibility-old-driver/bin/run_tests.sh b/testing/trino-test-jdbc-compatibility-old-driver/bin/run_tests.sh
index ae0607e7b39b..13aa9896aaff 100755
--- a/testing/trino-test-jdbc-compatibility-old-driver/bin/run_tests.sh
+++ b/testing/trino-test-jdbc-compatibility-old-driver/bin/run_tests.sh
@@ -8,7 +8,7 @@ maven_run_tests="${maven} clean test ${MAVEN_TEST:--B} -pl :trino-test-jdbc-comp
"${maven}" -version
-current_version=$(${maven} help:evaluate -Dexpression=project.version -q -DforceStdout)
+current_version=$(${maven} help:evaluate --raw-streams -Dexpression=project.version -q -DforceStdout)
previous_released_version=$((${current_version%-SNAPSHOT}-1))
first_tested_version=352
# test n-th version only
diff --git a/testing/trino-test-jdbc-compatibility-old-server/pom.xml b/testing/trino-test-jdbc-compatibility-old-server/pom.xml
index 22cff8feb777..527cc291c6e3 100644
--- a/testing/trino-test-jdbc-compatibility-old-server/pom.xml
+++ b/testing/trino-test-jdbc-compatibility-old-server/pom.xml
@@ -109,13 +109,6 @@
trino-test-jdbc-compatibility-old-server-version.txt
-
- false
- src/main/resources
-
- trino-test-jdbc-compatibility-old-server-version.txt
-
-
diff --git a/testing/trino-tests/src/test/java/io/trino/tests/ci/TestCiWorkflow.java b/testing/trino-tests/src/test/java/io/trino/tests/ci/TestCiWorkflow.java
index de5a22caf168..b3a04562757d 100644
--- a/testing/trino-tests/src/test/java/io/trino/tests/ci/TestCiWorkflow.java
+++ b/testing/trino-tests/src/test/java/io/trino/tests/ci/TestCiWorkflow.java
@@ -50,7 +50,7 @@ public void testUploadTestResultsCondition()
String uploadTestResultsStepName = "Upload test results";
Set nonTestSteps = ImmutableSet.of(
uploadTestResultsStepName,
- "Maven Install");
+ "Maven Package");
Yaml yaml = new Yaml();
Map, ?> workflow = yaml.load(new StringReader(Files.readString(findRepositoryRoot().resolve(CI_YML_REPO_PATH))));