Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/browserstack-prep-android-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,12 @@ jobs:
npm install -g jest
npm install -g detox-cli

# Packages compile with sourceCompatibility/targetCompatibility JavaVersion.VERSION_21.
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
java-version: 21

- name: Build SDK packages
run: yarn packages:build
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/build-and-test-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,13 @@ jobs:
- name: Setup
uses: ./.github/actions/setup-proj

# Setup JDK 17 for Android testing.
- name: Setup JDK 17
# Setup JDK 21 for Android testing — packages compile with
# sourceCompatibility/targetCompatibility JavaVersion.VERSION_21.
- name: Setup JDK 21
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'
java-version: '21'
cache: gradle

# Run Android unit tests and generate JaCoCo coverage report from all packages.
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -130,11 +130,12 @@ jobs:
- name: Setup Node.js and install dependencies
uses: ./.github/actions/setup-proj

# Packages compile with sourceCompatibility/targetCompatibility JavaVersion.VERSION_21.
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
java-version: 21

- name: Enable KVM hardware acceleration
run: |
Expand Down
Binary file modified .yarn/install-state.gz
Binary file not shown.
9 changes: 9 additions & 0 deletions PingSampleApp/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,15 @@ android {
excludes += "/META-INF/versions/9/OSGI-INF/MANIFEST.MF"
}
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_21
targetCompatibility JavaVersion.VERSION_21
}

kotlinOptions {
jvmTarget = "21"
}
}

dependencies {
Expand Down
4 changes: 2 additions & 2 deletions PingSampleApp/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ buildscript {
compileSdkVersion = 36
targetSdkVersion = 36
ndkVersion = "27.1.12297006"
kotlinVersion = "2.1.20"
kotlinVersion = "2.2.10"
}
repositories {
google()
Expand All @@ -21,7 +21,7 @@ buildscript {
dependencies {
classpath("com.android.tools.build:gradle")
classpath("com.facebook.react:react-native-gradle-plugin")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
classpath("com.google.gms:google-services:4.4.2")
}
}
Expand Down
11 changes: 11 additions & 0 deletions PingSampleApp/android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,14 @@ newArchEnabled=true
hermesEnabled=true

nodeExecutableAndArgs=/opt/homebrew/bin/node

## The Android SDK's 2.1.0 artifacts are compiled for JVM 21. RNGP
# normally force-installs JVM target 17 on every Android/Kotlin module via
# JdkConfiguratorUtils; this opt-out lets our packages' own JVM 21 settings
# (and this app module's) take effect instead of being overwritten.
react.internal.disableJavaVersionAlignment=true

# Downgrades JVM-target-mismatch errors (from third-party node_modules that
# rely on RNGP's alignment to mask their own internal Java/Kotlin version
# split, now unmasked by the flag above) to warnings instead of hard failures.
kotlin.jvm.target.validation.mode=warning
11 changes: 8 additions & 3 deletions PingSampleApp/ios/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,14 @@ target 'PingSampleApp' do
:path => '../../node_modules/@ping-identity/rn-binding'
pod 'RNPingDeviceClient',
:path => '../../node_modules/@ping-identity/rn-device-client'
pod 'PingExternalIdPApple', '2.0.0'
pod 'PingExternalIdPFacebook', '2.0.0'
pod 'PingExternalIdPGoogle', '2.0.0'
pod 'PingExternalIdPApple', '2.1.0'
pod 'PingExternalIdPFacebook', '2.1.0'
pod 'PingExternalIdPGoogle', '2.1.0'

# PingExternalIdPGoogle -> GoogleSignIn -> AppCheckCore pulls these in; neither
# defines a module, which Swift requires to import them under static linkage.
pod 'RecaptchaInterop', :modular_headers => true
pod 'GoogleUtilities', :modular_headers => true

post_install do |installer|
# https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
Expand Down
Loading
Loading