diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4d5923e9021..af9039fd9a0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ # it needs to match the protobuf version which grpc has transitive dependency on, which # needs to match the version of grpc that grpc-kotlin has a transitive dependency on. android-lint = "31.3.2" -androidGradlePlugin = "8.3.2" +androidGradlePlugin = "8.6.1" androidx-test-core="1.5.0" androidx-test-junit="1.1.5" androidx-test-truth = "1.6.0" diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 943f0cbfa75..7f93135c49b 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 744c64d1277..b82aa23a4f0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 65dcd68d65c..1aa94a42690 100755 --- a/gradlew +++ b/gradlew @@ -83,10 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,10 +131,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. @@ -144,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -197,11 +198,15 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/smoke-tests/build.gradle b/smoke-tests/build.gradle index 05f162a1318..0df93b49a47 100644 --- a/smoke-tests/build.gradle +++ b/smoke-tests/build.gradle @@ -81,7 +81,6 @@ dependencies { implementation "com.google.firebase:firebase-config" implementation "com.google.firebase:firebase-crashlytics:18.6.4" implementation "com.google.firebase:firebase-database" - implementation "com.google.firebase:firebase-dynamic-links" implementation "com.google.firebase:firebase-firestore" implementation "com.google.firebase:firebase-functions" // TODO(yifany): remove after the issue is fixed diff --git a/smoke-tests/src/main/java/com/google/firebase/testing/DynamicLinksTest.java b/smoke-tests/src/main/java/com/google/firebase/testing/DynamicLinksTest.java deleted file mode 100644 index 0fddc97f7a9..00000000000 --- a/smoke-tests/src/main/java/com/google/firebase/testing/DynamicLinksTest.java +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2018 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package com.google.firebase.testing; - -import static com.google.common.truth.Truth.assertThat; - -import android.app.Activity; -import android.net.Uri; -import androidx.test.rule.ActivityTestRule; -import androidx.test.runner.AndroidJUnit4; -import com.google.android.gms.tasks.Task; -import com.google.firebase.dynamiclinks.DynamicLink; -import com.google.firebase.dynamiclinks.FirebaseDynamicLinks; -import com.google.firebase.testing.common.Tasks2; -import org.junit.Rule; -import org.junit.Test; -import org.junit.runner.RunWith; - -@RunWith(AndroidJUnit4.class) -public final class DynamicLinksTest { - - @Rule public final ActivityTestRule activity = new ActivityTestRule<>(Activity.class); - - @Test - public void buildDynamicLink_UriContainsCorrectComponents() throws Exception { - FirebaseDynamicLinks dl = FirebaseDynamicLinks.getInstance(); - Uri uri = Uri.parse("http://www.example.com"); - - DynamicLink link = - dl.createDynamicLink() - .setLink(uri) - .setDomainUriPrefix("http://example.page.link") - .setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build()) - .buildDynamicLink(); - Uri actual = link.getUri(); - String[] query = actual.getQuery().split("&"); - - assertThat(actual.getScheme()).isEqualTo("http"); - assertThat(actual.getHost()).isEqualTo("example.page.link"); - assertThat(query) - .asList() - .containsAtLeast("apn=com.google.firebase.testing", "link=http://www.example.com"); - } - - @Test - public void getDynamicLink_NonLinkReturnsNull() throws Exception { - FirebaseDynamicLinks dl = FirebaseDynamicLinks.getInstance(); - Uri uri = Uri.parse("http://www.example.com"); - - Task task = dl.getDynamicLink(uri); - Object actual = Tasks2.waitForSuccess(task); - - assertThat(actual).isNull(); - } -} diff --git a/smoke-tests/src/main/java/com/google/firebase/testing/TestSuite.java b/smoke-tests/src/main/java/com/google/firebase/testing/TestSuite.java index eda76180976..67c5d0ddda8 100644 --- a/smoke-tests/src/main/java/com/google/firebase/testing/TestSuite.java +++ b/smoke-tests/src/main/java/com/google/firebase/testing/TestSuite.java @@ -28,7 +28,6 @@ BuildOnlyTest.class, CrashlyticsTest.class, DatabaseTest.class, - DynamicLinksTest.class, FirestoreTest.class, FunctionsTest.class, RemoteConfigTest.class,