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))));