diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bc4f104..a650b02 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,10 +22,10 @@ jobs: distribution: 'temurin' - name: Validate Gradle Wrapper - uses: gradle/wrapper-validation-action@v3 + uses: gradle/actions/wrapper-validation@v4 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 - name: Build and run tests run: ./gradlew build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1de8293..8744e84 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -46,10 +46,10 @@ jobs: git config --local user.email IABTechLab@users.noreply.github.com - name: Validate Gradle Wrapper - uses: gradle/wrapper-validation-action@v3 + uses: gradle/actions/wrapper-validation@v4 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 - name: Get Snaptshot versions id: snapshotVersions diff --git a/build.gradle b/build.gradle index b062b47..a1001ac 100644 --- a/build.gradle +++ b/build.gradle @@ -15,7 +15,7 @@ subprojects { spotless { kotlin { target("src/**/*.kt") - ktlint() + ktlint(libs.versions.ktlint.get()) .editorConfigOverride([ 'ktlint_standard_property-naming': 'disabled', 'ktlint_function_naming_ignore_when_annotated_with': 'Composable' diff --git a/common.gradle b/common.gradle index 583bd2b..8ac933f 100644 --- a/common.gradle +++ b/common.gradle @@ -1,11 +1,11 @@ android { - compileSdk 35 + compileSdk = 35 defaultConfig { - targetSdk 35 + targetSdk = 35 - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } compileOptions { @@ -24,8 +24,8 @@ android { } lint { - abortOnError true - warningsAsErrors true + abortOnError = true + warningsAsErrors = true disable 'GradleDependency' // Updated dependencies should not fail the build disable 'DataExtractionRules' // We don't want the dev apps to use backup @@ -33,7 +33,7 @@ android { } buildFeatures { - buildConfig true + buildConfig = true } } diff --git a/dev-app/build.gradle b/dev-app/build.gradle index fa7be32..46f9f27 100644 --- a/dev-app/build.gradle +++ b/dev-app/build.gradle @@ -7,29 +7,29 @@ plugins { apply from: rootProject.file("$rootDir/common.gradle") android { - namespace 'com.uid2.devapp' + namespace = 'com.uid2.devapp' defaultConfig { - applicationId "com.uid2.devapp" - minSdk 21 - versionCode 1 - versionName "1.0" + applicationId = "com.uid2.devapp" + minSdk = 21 + versionCode = 1 + versionName = "1.0" } buildTypes { release { - shrinkResources true - minifyEnabled true + shrinkResources = true + minifyEnabled = true proguardFiles = [ "okhttp3-proguard-rules.txt", getDefaultProguardFile('proguard-android.txt') ] - signingConfig signingConfigs.debug + signingConfig = signingConfigs.debug } } buildFeatures { - compose true + compose = true } lint { diff --git a/gradle.properties b/gradle.properties index 804ae9d..ec21ace 100644 --- a/gradle.properties +++ b/gradle.properties @@ -48,3 +48,8 @@ kotlin.code.style=official # resources declared in the library itself and none from the library's dependencies, # thereby reducing the size of the R class for that library android.nonTransitiveRClass=true + +# Enable Dokka v2 Plugin +# https://kotlinlang.org/docs/dokka-migration.html#finish-up-your-migration +org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled +org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 084cbf6..602f62c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,21 +1,22 @@ [versions] -agp = "8.7.3" -kotlin = "2.1.0" +agp = "8.8.1" +kotlin = "2.1.10" core-ktx = "1.15.0" junit = "4.13.2" appcompat = "1.7.0" -coroutines-version = "1.9.0" -compose = "1.9.3" -compose-bom = "2024.12.01" -compose-tooling = "1.7.6" +coroutines-version = "1.10.1" +compose = "1.10.0" +compose-bom = "2025.02.00" +compose-tooling = "1.7.8" gma = "23.6.0" ima = "3.36.0" -mockkVersion = "1.13.13" +mockkVersion = "1.13.16" prebid = "2.2.1" +ktlint = "1.0.1" [libraries] core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" } -kotlinx-coroutines = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version = "1.9.0" } +kotlinx-coroutines = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "coroutines-version" } androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } androidx-lifecycle = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version = "2.8.7" } @@ -25,8 +26,8 @@ compose-activity = { group = "androidx.activity", name = "activity-compose", ver compose-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "compose-tooling" } compose-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "compose-tooling" } compose-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest", version.ref = "compose-tooling"} -compose-material = { group = "androidx.compose.material", name = "material", version = "1.7.6" } -compose-material-icons = { group = "androidx.compose.material", name = "material-icons-core", version = "1.7.6" } +compose-material = { group = "androidx.compose.material", name = "material", version = "1.7.8" } +compose-material-icons = { group = "androidx.compose.material", name = "material-icons-core", version = "1.7.8" } # OkHttp okhttp-core = { group = "com.squareup.okhttp3", name = "okhttp", version = "4.12.0" } @@ -38,7 +39,7 @@ androidx-multidex = { group = "androidx.multidex", name = "multidex", version = androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version = "2.2.0" } androidx-media = { group = "androidx.media", name = "media", version = "1.7.0" } androidx-browser = { group = "androidx.browser", name = "browser", version = "1.8.0" } -androidx-activity-ktx = { group = "androidx.activity", name = "activity-ktx", version = "1.9.3" } +androidx-activity-ktx = { group = "androidx.activity", name = "activity-ktx", version = "1.10.0" } # Prebid prebid = { group = "org.prebid", name = "prebid-mobile-sdk", version.ref = "prebid" } @@ -46,7 +47,7 @@ prebid = { group = "org.prebid", name = "prebid-mobile-sdk", version.ref = "preb # Testing junit = { group = "junit", name = "junit", version.ref = "junit" } kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "coroutines-version" } -json = { group = "org.json", name = "json", version = "20240303" } +json = { group = "org.json", name = "json", version = "20250107" } mockk-android = { group = "io.mockk", name = "mockk-android", version.ref = "mockkVersion" } mockk-agent = { group = "io.mockk", name = "mockk-agent", version.ref = "mockkVersion" } @@ -55,6 +56,6 @@ androidApplication = { id = "com.android.application", version.ref = "agp" } androidLibrary = { id = "com.android.library", version.ref = "agp" } kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } -spotless = { id = "com.diffplug.spotless", version = "6.25.0" } -dokka = { id = "org.jetbrains.dokka", version = "1.9.20" } -mavenPublish = { id = "com.vanniktech.maven.publish", version = "0.29.0" } +spotless = { id = "com.diffplug.spotless", version = "7.0.2" } +dokka = { id = "org.jetbrains.dokka", version = "2.0.0" } +mavenPublish = { id = "com.vanniktech.maven.publish", version = "0.30.0" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index cea7a79..e18bc25 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/prebid/build.gradle b/prebid/build.gradle index edba418..4f52e52 100644 --- a/prebid/build.gradle +++ b/prebid/build.gradle @@ -8,9 +8,9 @@ plugins { apply from: rootProject.file("$rootDir/common.gradle") android { - namespace 'com.uid2.prebid' + namespace = 'com.uid2.prebid' defaultConfig { - minSdk 19 + minSdk = 19 } kotlin { diff --git a/sdk/build.gradle b/sdk/build.gradle index 4ab9642..f4657a0 100644 --- a/sdk/build.gradle +++ b/sdk/build.gradle @@ -8,9 +8,9 @@ plugins { apply from: rootProject.file("$rootDir/common.gradle") android { - namespace 'com.uid2' + namespace = 'com.uid2' defaultConfig { - minSdk 19 + minSdk = 19 } sourceSets { diff --git a/securesignals-gma-dev-app/build.gradle b/securesignals-gma-dev-app/build.gradle index 8852cd3..6e6d12f 100644 --- a/securesignals-gma-dev-app/build.gradle +++ b/securesignals-gma-dev-app/build.gradle @@ -6,19 +6,19 @@ plugins { apply from: rootProject.file("$rootDir/common.gradle") android { - namespace 'com.uid2.dev' + namespace = 'com.uid2.dev' defaultConfig { - applicationId "com.uid2.securesignals.gma.devapp" - minSdk 21 - versionCode 1 - versionName "1.0" + applicationId = "com.uid2.securesignals.gma.devapp" + minSdk = 21 + versionCode = 1 + versionName = "1.0" } buildTypes { release { - shrinkResources true - minifyEnabled true + shrinkResources = true + minifyEnabled = true } } diff --git a/securesignals-gma/build.gradle b/securesignals-gma/build.gradle index 5d987a2..3de7a80 100644 --- a/securesignals-gma/build.gradle +++ b/securesignals-gma/build.gradle @@ -7,15 +7,15 @@ plugins { apply from: rootProject.file("$rootDir/common.gradle") android { - namespace 'com.uid2.securesignals.gma' + namespace = 'com.uid2.securesignals.gma' defaultConfig { - minSdk 19 + minSdk = 19 } buildTypes { release { consumerProguardFiles 'uid2-gma.pro' - minifyEnabled false + minifyEnabled = false } } diff --git a/securesignals-ima-dev-app/build.gradle b/securesignals-ima-dev-app/build.gradle index 630e47c..eaaf95d 100644 --- a/securesignals-ima-dev-app/build.gradle +++ b/securesignals-ima-dev-app/build.gradle @@ -6,19 +6,19 @@ plugins { apply from: rootProject.file("$rootDir/common.gradle") android { - namespace 'com.uid2.dev' + namespace = 'com.uid2.dev' defaultConfig { - applicationId "com.uid2.securesignals.ima.devapp" - minSdk 21 - versionCode 1 - versionName "1.0" + applicationId = "com.uid2.securesignals.ima.devapp" + minSdk = 21 + versionCode = 1 + versionName = "1.0" } buildTypes { release { - shrinkResources true - minifyEnabled true + shrinkResources = true + minifyEnabled = true } } diff --git a/securesignals-ima/build.gradle b/securesignals-ima/build.gradle index 1d64e96..c201329 100644 --- a/securesignals-ima/build.gradle +++ b/securesignals-ima/build.gradle @@ -7,15 +7,15 @@ plugins { apply from: rootProject.file("$rootDir/common.gradle") android { - namespace 'com.uid2.securesignals.ima' + namespace = 'com.uid2.securesignals.ima' defaultConfig { - minSdk 19 + minSdk = 19 } buildTypes { release { consumerProguardFiles 'uid2-ima.pro' - minifyEnabled false + minifyEnabled = false } } diff --git a/settings.gradle b/settings.gradle index 2b0ebfa..e0aa89d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -12,7 +12,7 @@ dependencyResolutionManagement { mavenCentral() // Required when testing a Snapshot build from the DevApp. - maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots' } + maven { url = 'https://s01.oss.sonatype.org/content/repositories/snapshots' } } } rootProject.name = "UID2 Android SDK"