From 3ef40028abeef6981642bc8327cfee29e8f54eb1 Mon Sep 17 00:00:00 2001 From: saravanakumardb1 Date: Thu, 19 Mar 2026 15:13:50 -0700 Subject: [PATCH] fix(gradle): add corporate proxy SSL truststore + Compose deps for kotlin-platform-sdk - switch-network.sh: set GRADLE_OPTS with custom truststore when NETWORK=corp - kotlin-platform-sdk: add repos to settings.gradle.kts for composite builds - kotlin-platform-sdk: add Compose plugin + BOM + UI/Material3/Foundation deps - kotlin-platform-sdk: use kotlinOptions (stable) instead of compilerOptions --- packages/kotlin-platform-sdk/build.gradle.kts | 15 +++++++++++++-- packages/kotlin-platform-sdk/settings.gradle.kts | 15 +++++++++++++++ scripts/switch-network.sh | 10 +++++++++- 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/packages/kotlin-platform-sdk/build.gradle.kts b/packages/kotlin-platform-sdk/build.gradle.kts index 2f4516a4..2677b417 100644 --- a/packages/kotlin-platform-sdk/build.gradle.kts +++ b/packages/kotlin-platform-sdk/build.gradle.kts @@ -2,6 +2,7 @@ plugins { id("com.android.library") version "8.7.3" id("org.jetbrains.kotlin.android") version "2.1.0" id("org.jetbrains.kotlin.plugin.serialization") version "2.1.0" + id("org.jetbrains.kotlin.plugin.compose") version "2.1.0" } android { @@ -19,8 +20,12 @@ android { targetCompatibility = JavaVersion.VERSION_17 } - compilerOptions { - jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) + kotlinOptions { + jvmTarget = "17" + } + + buildFeatures { + compose = true } } @@ -38,6 +43,12 @@ dependencies { implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0") + // Compose UI (for SurveyUI, InAppMessageUI, BroadcastUI) + implementation(platform("androidx.compose:compose-bom:2024.12.01")) + implementation("androidx.compose.ui:ui") + implementation("androidx.compose.material3:material3") + implementation("androidx.compose.foundation:foundation") + // Android implementation("androidx.security:security-crypto:1.0.0") implementation("androidx.biometric:biometric:1.1.0") diff --git a/packages/kotlin-platform-sdk/settings.gradle.kts b/packages/kotlin-platform-sdk/settings.gradle.kts index c7b57cb7..b4d1db62 100644 --- a/packages/kotlin-platform-sdk/settings.gradle.kts +++ b/packages/kotlin-platform-sdk/settings.gradle.kts @@ -1 +1,16 @@ +pluginManagement { + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +dependencyResolutionManagement { + repositories { + google() + mavenCentral() + } +} + rootProject.name = "kotlin-platform-sdk" diff --git a/scripts/switch-network.sh b/scripts/switch-network.sh index e3fb8fe8..eabe2b56 100755 --- a/scripts/switch-network.sh +++ b/scripts/switch-network.sh @@ -20,6 +20,8 @@ _CORP_PROXY="http://cso.proxy.att.com:8080/" _CORP_NPM_REGISTRY="https://jfrog-pkg-proxy.it.att.com/artifactory/api/npm/att-npm-proxy-group/" +_GRADLE_TRUSTSTORE="$HOME/.gradle/ssl/gradle-cacerts.jks" + if [ "${NETWORK:-home}" = "corp" ]; then # ── Corporate proxy ── export http_proxy="$_CORP_PROXY" @@ -32,14 +34,20 @@ if [ "${NETWORK:-home}" = "corp" ]; then export NPM_CONFIG_STRICT_SSL="false" export PIP_TRUSTED_HOST="pypi.org files.pythonhosted.org" export NODE_TLS_REJECT_UNAUTHORIZED="0" + # Gradle: trust corporate proxy CA cert (TLS interception by cso.proxy.att.com) + if [ -f "$_GRADLE_TRUSTSTORE" ]; then + export GRADLE_OPTS="-Djavax.net.ssl.trustStore=$_GRADLE_TRUSTSTORE -Djavax.net.ssl.trustStorePassword=changeit" + fi else # ── Home / direct internet ── unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY 2>/dev/null unset NPM_CONFIG_REGISTRY NPM_CONFIG_PROXY NPM_CONFIG_HTTPS_PROXY 2>/dev/null unset NPM_CONFIG_STRICT_SSL NODE_TLS_REJECT_UNAUTHORIZED 2>/dev/null - unset PIP_TRUSTED_HOST 2>/dev/null + unset PIP_TRUSTED_HOST GRADLE_OPTS 2>/dev/null fi +unset _GRADLE_TRUSTSTORE + # Quick status on new shell (only if interactive) if [[ $- == *i* ]]; then if [ "${NETWORK:-home}" = "corp" ]; then