Skip to content
Merged
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
7 changes: 4 additions & 3 deletions .github/workflows/central_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,12 @@ jobs:
name: Central Repository Deployment
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Java
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
java-version: 17
distribution: "temurin"
java-version: 25
- name: Publish Testify Library
run: ./gradlew Library:publish
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/flix_sample.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: 21
java-version: 25

- name: Build
run: |
Expand Down
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
## Unreleased

> [!CAUTION]
> **Critical Update Needed:** Check your configuration files.
> This release uses Java 25 which requires you to update your app to use Java 25.
> Java 25 also requires Android Gradle Plugin 9.x — the published artifacts are Java 25 bytecode and cannot be consumed by AGP 8.x

- Upgrade kotlin to 2.3.21, gradle to 9.5.0 and AGP to 9.3.1
- Upgrade all project files to use Java 25
Comment thread
DanielJette marked this conversation as resolved.
- Java 25 requires you to update your app to use Java 25
- Requires Android Gradle Plugin 9.x. The published artifacts are Java 25 bytecode (class file
major version 69) and cannot be consumed by AGP 8.x
- Gradle 9.5.0 is required to build; `kotlinOptions`, `lintOptions`, `packagingOptions` and the
legacy `libraryVariants` API have been migrated to their AGP 9 replacements
- **Removed** `ScreenshotScenarioRule.assertSame()` with an `ActivityScenario` context parameter
(JVM name `assertSameContext`). Kotlin 2.3 makes it ambiguous with the no-arg `assertSame()`
at any call site where an `ActivityScenario` is an implicit receiver, such as inside
`ActivityScenario.test { }`, so it could no longer be called. Set the scenario explicitly
instead: `rule.withScenario(scenario).assertSame()`

## 6.0.0

- https://github.com/ndtp/android-testify/pull/269
Expand Down
37 changes: 20 additions & 17 deletions Ext/Accessibility/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import com.android.build.gradle.tasks.BundleAar
import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
id 'com.android.library'
id 'kotlin-android'
id 'org.jetbrains.dokka'
id 'maven-publish'
id 'signing'
Expand All @@ -22,15 +24,18 @@ ext {

version = project.findProperty("testify_version") ?: "0.0.1-SNAPSHOT"
group = pom.publishedGroupId
archivesBaseName = pom.artifact

base {
archivesName = pom.artifact
}

android {
namespace "dev.testify.accessibility"

lintOptions {
lint {
abortOnError true
warningsAsErrors true
textOutput 'stdout'
textOutput = file('stdout')
textReport true
xmlReport false
}
Expand All @@ -41,15 +46,6 @@ android {
targetSdkVersion libs.versions.targetSdk.get().toInteger()
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled = true
kotlinOptions {
allWarningsAsErrors = true
}
}

libraryVariants.configureEach { variant ->
variant.outputs.all {
outputFileName = "${archivesBaseName}-${version}.aar"
}
}

testOptions {
Expand All @@ -63,12 +59,15 @@ android {
}
}

kotlinOptions {
jvmTarget = '17'
kotlin {
compilerOptions {
allWarningsAsErrors.set(true)
jvmTarget.set(JvmTarget.JVM_25)
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
sourceCompatibility JavaVersion.VERSION_25
targetCompatibility JavaVersion.VERSION_25
}

dependencies {
Expand All @@ -91,6 +90,10 @@ android {
}
}

tasks.withType(BundleAar).configureEach {
archiveFileName.set("${pom.artifact}-${version}.aar")
}

afterEvaluate {
apply from: "../../publish.build.gradle"
}
30 changes: 14 additions & 16 deletions Ext/Compose/build.gradle
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import com.android.build.gradle.tasks.BundleAar
import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
id 'com.android.library'
id 'kotlin-android'
id 'org.jetbrains.dokka'
id 'maven-publish'
id 'signing'
Expand All @@ -25,15 +25,18 @@ ext {

version = project.findProperty("testify_version") ?: "0.0.1-SNAPSHOT"
group = pom.publishedGroupId
archivesBaseName = pom.artifact

base {
archivesName = pom.artifact
}

android {
namespace "dev.testify.compose"

lintOptions {
lint {
abortOnError true
warningsAsErrors true
textOutput 'stdout'
textOutput = file('stdout')
textReport true
xmlReport false
}
Expand All @@ -44,15 +47,6 @@ android {
targetSdkVersion libs.versions.targetSdk.get().toInteger()
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled = true
kotlinOptions {
allWarningsAsErrors = true
}
}

libraryVariants.all { variant ->
variant.outputs.all {
outputFileName = "${archivesBaseName}-${version}.aar"
}
}

testOptions {
Expand All @@ -74,13 +68,13 @@ android {
kotlin {
compilerOptions {
allWarningsAsErrors.set(true)
jvmTarget.set(JvmTarget.JVM_21)
jvmTarget.set(JvmTarget.JVM_25)
freeCompilerArgs.addAll("-Xcontext-parameters")
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_21
targetCompatibility JavaVersion.VERSION_21
sourceCompatibility JavaVersion.VERSION_25
targetCompatibility JavaVersion.VERSION_25
}

dependencies {
Expand Down Expand Up @@ -109,6 +103,10 @@ android {
}
}

tasks.withType(BundleAar).configureEach {
archiveFileName.set("${pom.artifact}-${version}.aar")
}

afterEvaluate {
apply from: "../../publish.build.gradle"
}
37 changes: 20 additions & 17 deletions Ext/Fullscreen/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import com.android.build.gradle.tasks.BundleAar
import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
id 'com.android.library'
id 'kotlin-android'
id 'org.jetbrains.dokka'
id 'maven-publish'
id 'signing'
Expand All @@ -22,15 +24,18 @@ ext {

version = project.findProperty("testify_version") ?: "0.0.1-SNAPSHOT"
group = pom.publishedGroupId
archivesBaseName = pom.artifact

base {
archivesName = pom.artifact
}

android {
namespace "dev.testify.fullscreen"

lintOptions {
lint {
abortOnError true
warningsAsErrors true
textOutput 'stdout'
textOutput = file('stdout')
textReport true
xmlReport false
}
Expand All @@ -41,15 +46,6 @@ android {
targetSdkVersion libs.versions.targetSdk.get().toInteger()
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled = true
kotlinOptions {
allWarningsAsErrors = true
}
}

libraryVariants.all { variant ->
variant.outputs.all {
outputFileName = "${archivesBaseName}-${version}.aar"
}
}

testOptions {
Expand All @@ -63,12 +59,15 @@ android {
}
}

kotlinOptions {
jvmTarget = '17'
kotlin {
compilerOptions {
allWarningsAsErrors.set(true)
jvmTarget.set(JvmTarget.JVM_25)
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
sourceCompatibility JavaVersion.VERSION_25
targetCompatibility JavaVersion.VERSION_25
}

dependencies {
Expand All @@ -89,6 +88,10 @@ android {
}
}

tasks.withType(BundleAar).configureEach {
archiveFileName.set("${pom.artifact}-${version}.aar")
}

afterEvaluate {
apply from: "../../publish.build.gradle"
}
29 changes: 15 additions & 14 deletions Ext/Ktx/build.gradle
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import com.android.build.gradle.tasks.BundleAar
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile

plugins {
id 'com.android.library'
id 'kotlin-android'
id 'org.jetbrains.dokka'
id 'maven-publish'
id 'signing'
Expand All @@ -25,15 +25,18 @@ ext {

version = project.findProperty("testify_version") ?: "0.0.1-SNAPSHOT"
group = pom.publishedGroupId
archivesBaseName = pom.artifact

base {
archivesName = pom.artifact
}

android {
namespace "dev.testify.ktx"

lintOptions {
lint {
abortOnError true
warningsAsErrors true
textOutput 'stdout'
textOutput = file('stdout')
textReport true
xmlReport false
}
Expand All @@ -45,12 +48,6 @@ android {
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

libraryVariants.configureEach { variant ->
variant.outputs.all {
outputFileName = "${archivesBaseName}-${version}.aar"
}
}

testOptions {
unitTests.returnDefaultValues = true
unitTests.all {
Expand All @@ -63,8 +60,8 @@ android {
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_21
targetCompatibility JavaVersion.VERSION_21
sourceCompatibility JavaVersion.VERSION_25
targetCompatibility JavaVersion.VERSION_25
}

dependencies {
Expand All @@ -80,7 +77,7 @@ android {
androidTestImplementation libs.androidx.junit
androidTestImplementation libs.androidx.runner
}
packagingOptions {
packaging {
resources {
excludes += [
'MANIFEST.MF',
Expand All @@ -105,6 +102,10 @@ afterEvaluate {
tasks.withType(KotlinJvmCompile).configureEach {
compilerOptions {
allWarningsAsErrors.set(true)
jvmTarget.set(JvmTarget.JVM_21)
jvmTarget.set(JvmTarget.JVM_25)
}
}

tasks.withType(BundleAar).configureEach {
archiveFileName.set("${pom.artifact}-${version}.aar")
}
Loading
Loading