Skip to content

Commit 16c663d

Browse files
committed
Updated to AGP 8.2.2
1 parent 35e137c commit 16c663d

File tree

69 files changed

+216
-206
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+216
-206
lines changed

.github/workflows/ci.yml

+68-61
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,14 @@ jobs:
99
name: Assemble
1010
runs-on: ubuntu-latest
1111
timeout-minutes: 25
12-
env:
13-
JAVA_TOOL_OPTIONS: -Xmx6g
14-
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.workers.max=2 -Dkotlin.incremental=false -Dkotlin.compiler.execution.strategy=in-process
1512
steps:
16-
- uses: actions/checkout@v2
17-
- uses: gradle/wrapper-validation-action@v1
18-
- uses: actions/setup-java@v1
13+
- uses: actions/checkout@v4
14+
- uses: gradle/wrapper-validation-action@v2
15+
- uses: actions/setup-java@v4
1916
with:
20-
java-version: 11
21-
- uses: actions/cache@v2
17+
distribution: 'zulu'
18+
java-version: '17'
19+
- uses: actions/cache@v4
2220
with:
2321
path: |
2422
~/.gradle/caches
@@ -38,34 +36,33 @@ jobs:
3836
runs-on: ubuntu-latest
3937
timeout-minutes: 10
4038
steps:
41-
- uses: actions/checkout@v2
42-
- uses: gradle/wrapper-validation-action@v1
43-
- uses: actions/setup-java@v1
39+
- uses: actions/checkout@v4
40+
- uses: gradle/wrapper-validation-action@v2
41+
- uses: actions/setup-java@v4
4442
with:
45-
java-version: 11
43+
distribution: 'zulu'
44+
java-version: '17'
4645
- name: Detekt
4746
run: ./gradlew detekt --stacktrace
4847
working-directory: .
4948
- name: Upload failure reports
5049
if: failure()
51-
uses: actions/upload-artifact@v2
50+
uses: actions/upload-artifact@v4
5251
with:
5352
path: '**/build/reports'
5453

5554
unit-tests:
5655
name: Unit tests
5756
runs-on: ubuntu-latest
5857
timeout-minutes: 20
59-
env:
60-
JAVA_TOOL_OPTIONS: -Xmx4g
61-
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.workers.max=2 -Dkotlin.incremental=false -Dkotlin.compiler.execution.strategy=in-process
6258
steps:
63-
- uses: actions/checkout@v2
64-
- uses: gradle/wrapper-validation-action@v1
65-
- uses: actions/setup-java@v1
59+
- uses: actions/checkout@v4
60+
- uses: gradle/wrapper-validation-action@v2
61+
- uses: actions/setup-java@v4
6662
with:
67-
java-version: 11
68-
- uses: actions/cache@v2
63+
distribution: 'zulu'
64+
java-version: '17'
65+
- uses: actions/cache@v4
6966
with:
7067
path: |
7168
~/.gradle/caches
@@ -78,7 +75,7 @@ jobs:
7875
working-directory: .
7976
- name: Upload failure reports
8077
if: failure()
81-
uses: actions/upload-artifact@v2
78+
uses: actions/upload-artifact@v4
8279
with:
8380
name: unit-test-reports
8481
path: '**/build/reports'
@@ -88,60 +85,70 @@ jobs:
8885
rm -f ~/.gradle/caches/modules-2/gc.properties
8986
9087
instrumentation-tests:
91-
runs-on: macOS-latest
92-
timeout-minutes: 60
93-
env:
94-
JAVA_TOOL_OPTIONS: -Xmx4g
95-
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.workers.max=2 -Dkotlin.incremental=false -Dkotlin.compiler.execution.strategy=in-process
96-
strategy:
97-
fail-fast: false
98-
matrix:
99-
api-level: [22,25,29]
100-
name: Instrumentation tests [API=${{ matrix.api-level }}]
88+
name: Instrumentation tests
89+
runs-on: macos-13
90+
timeout-minutes: 30
10191
steps:
102-
- uses: actions/checkout@v2
103-
- uses: gradle/wrapper-validation-action@v1
104-
- uses: actions/setup-java@v1
92+
- uses: actions/checkout@v4
93+
- uses: actions/setup-java@v4
10594
with:
106-
java-version: 11
107-
- uses: actions/cache@v2
95+
distribution: 'zulu'
96+
java-version: '17'
97+
- uses: gradle/wrapper-validation-action@v1
98+
- uses: gradle/gradle-build-action@v2
99+
- name: Pre build sources before launching emulator
100+
run: ./gradlew compileDebugAndroidTestSources
101+
- name: AVD cache
102+
uses: actions/cache@v4
103+
id: avd-cache
108104
with:
109105
path: |
110-
~/.gradle/caches
111-
~/.gradle/wrapper
112-
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
113-
restore-keys: |
114-
${{ runner.os }}-gradle-
106+
~/.android/avd/*
107+
~/.android/adb*
108+
key: avd-29
109+
- name: Create AVD and generate snapshot for caching
110+
if: steps.avd-cache.outputs.cache-hit != 'true'
111+
uses: reactivecircus/android-emulator-runner@v2
112+
with:
113+
# Use API 29 https://github.com/ReactiveCircus/android-emulator-runner/issues/222
114+
api-level: 29
115+
arch: x86_64
116+
force-avd-creation: false
117+
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
118+
disable-animations: false
119+
script: echo "Generated AVD snapshot for caching."
115120
- name: Instrumentation tests
116121
uses: reactivecircus/android-emulator-runner@v2
117122
with:
118-
api-level: ${{ matrix.api-level }}
119-
arch: x86
120-
script: ./gradlew connectedCheck
121-
122-
- name: Upload failure reports
123+
# Use API 29 https://github.com/ReactiveCircus/android-emulator-runner/issues/222
124+
api-level: 29
125+
arch: x86_64
126+
force-avd-creation: false
127+
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
128+
disable-animations: true
129+
script: |
130+
adb logcat > logcat.out &
131+
./gradlew connectedCheck
132+
- name: Upload failed instrumentation artifacts
123133
if: failure()
124-
uses: actions/upload-artifact@v2
134+
uses: actions/upload-artifact@v4
125135
with:
126-
name: instrumentation-reports-api-${{ matrix.api-level }}
127-
path: '**/build/reports'
128-
129-
- name: Cleanup Gradle Cache
130-
run: |
131-
rm -f ~/.gradle/caches/modules-2/modules-2.lock
132-
rm -f ~/.gradle/caches/modules-2/gc.properties
133-
136+
name: instrumentation-failures
137+
path: |
138+
**/build/reports
139+
logcat.out
134140
verify-publication:
135141
name: Verify publication
136142
runs-on: ubuntu-latest
137143
timeout-minutes: 10
138144
steps:
139-
- uses: actions/checkout@v2
140-
- uses: gradle/wrapper-validation-action@v1
141-
- uses: actions/setup-java@v1
145+
- uses: actions/checkout@v4
146+
- uses: gradle/wrapper-validation-action@v2
147+
- uses: actions/setup-java@v4
142148
with:
143-
java-version: 11
144-
- uses: actions/cache@v2
149+
distribution: 'zulu'
150+
java-version: '17'
151+
- uses: actions/cache@v4
145152
with:
146153
path: |
147154
~/.gradle/caches

build.gradle

+8-4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
2+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
3+
14
buildscript {
25
apply from: 'gradle/dependencies.gradle'
36

@@ -40,13 +43,14 @@ subprojects {
4043
maven { url "https://www.jitpack.io" }
4144
}
4245

43-
configurations.all {
46+
configurations.configureEach {
4447
resolutionStrategy.eachDependency {
4548
}
4649
}
47-
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
48-
kotlinOptions {
49-
jvmTarget = JavaVersion.VERSION_11.name
50+
tasks.withType(KotlinCompile).configureEach {
51+
compilerOptions {
52+
jvmTarget = JvmTarget.JVM_11
53+
freeCompilerArgs.add("-Xopt-in=com.badoo.ribs.annotation.ExperimentalApi")
5054
}
5155
}
5256
}

gradle.properties

+4-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# When configured, Gradle will run in incubating parallel mode.
1111
# This option should only be used with decoupled projects. More details, visit
1212
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13-
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=512M
13+
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
1414
org.gradle.caching=true
1515
org.gradle.parallel=true
1616

@@ -28,3 +28,6 @@ POM_DEVELOPER_ID=badoo
2828
POM_DEVELOPER_NAME=Badoo Trading Limited
2929

3030
android.useAndroidX=true
31+
android.defaults.buildfeatures.buildconfig=true
32+
android.nonTransitiveRClass=false
33+
android.nonFinalResIds=false

gradle/code-coverage.gradle

+1-13
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apply plugin: 'jacoco'
22

33
jacoco {
44
toolVersion = deps.versions.jacoco
5-
reportsDir = file("$buildDir/codeCoverageReports")
5+
reportsDirectory = file("$buildDir/codeCoverageReports")
66
}
77

88
tasks.withType(Test) {
@@ -52,10 +52,6 @@ task debugCombinedCodeCoverageReport(type: JacocoReport, dependsOn: ['testDebugU
5252
group = "Code coverage"
5353
description = "Generate coverage reports that combine both Unit and UI tests for debug builds"
5454

55-
reports {
56-
html.enabled = true
57-
}
58-
5955
classDirectories.setFrom(files([javaClasses, kotlinClasses]))
6056
sourceDirectories.setFrom(files([javaSourceDirectory, kotlinSourceDirectory]))
6157
executionData(files([unitTestsData, androidTestsData]))
@@ -66,10 +62,6 @@ task debugUnitTestCodeCoverageReport(type: JacocoReport, dependsOn: ['testDebugU
6662
group = "Code coverage"
6763
description = "Generate coverage reports on Unit tests for debug builds"
6864

69-
reports {
70-
html.enabled = true
71-
}
72-
7365
classDirectories.setFrom(files([javaClasses, kotlinClasses]))
7466
sourceDirectories.setFrom(files([javaSourceDirectory, kotlinSourceDirectory]))
7567
executionData(files([unitTestsData]))
@@ -80,10 +72,6 @@ task debugUiTestCodeCoverageReport(type: JacocoReport, dependsOn: ['createDebugC
8072
group = "Code coverage"
8173
description = "Generate coverage reports on UI tests for debug builds"
8274

83-
reports {
84-
html.enabled = true
85-
}
86-
8775
classDirectories.setFrom(files([javaClasses, kotlinClasses]))
8876
sourceDirectories.setFrom(files([javaSourceDirectory, kotlinSourceDirectory]))
8977
executionData(files([androidTestsData]))

gradle/dependencies.gradle

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def versions = [
1313
intellij_kotlin : '212-1.6.21-release-334-AS5457.46',
1414
kotlin : kotlinVersion,
1515
mviCore : '1.4.0',
16-
robolectric : '4.8.1',
16+
robolectric : '4.10.3',
1717
composeBom : '2022.12.00',
1818
composeCompiler : '1.4.4',
1919

@@ -54,17 +54,17 @@ def apt = [
5454
javaxInject : "javax.inject:javax.inject:1",
5555
]
5656

57-
def agp = 'com.android.tools.build:gradle:7.2.2'
57+
def agp = 'com.android.tools.build:gradle:8.2.2'
5858

5959
def build = [
6060
compileSdk : 33,
6161
gradlePluginsUrl: "https://plugins.gradle.org/m2/",
6262
ci : 'true' == System.getenv('CI'),
6363
minSdk : 21,
64-
targetSdk : 32,
64+
targetSdk : 33,
6565
guava : "com.google.guava:guava:20.0",
6666
commonsLang : "commons-lang:commons-lang:2.6",
67-
intellijPlugin : "org.jetbrains.intellij:org.jetbrains.intellij.gradle.plugin:1.1.4",
67+
intellijPlugin : "org.jetbrains.intellij:org.jetbrains.intellij.gradle.plugin:1.13.3",
6868
kotlinIdeaPlugin: "org.jetbrains.kotlin:${versions.intellij_kotlin}",
6969
gradlePlugins : [
7070
android : agp,

gradle/utils.gradle

+5
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@ private def configureAndroidModule(Project project) {
7979
}
8080
}
8181

82+
compileOptions {
83+
sourceCompatibility = JavaVersion.VERSION_11
84+
targetCompatibility = JavaVersion.VERSION_11
85+
}
86+
8287
project.afterEvaluate {
8388
project.android.kotlinOptions.freeCompilerArgs += "-Xopt-in=com.badoo.ribs.annotation.ExperimentalApi"
8489
}

gradle/wrapper/gradle-wrapper.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip

internal/junitextensions/build.gradle

+9-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,15 @@ dependencies {
88
}
99

1010
android {
11+
namespace 'com.badoo.ribs.internal.junitextensions'
12+
1113
packagingOptions {
12-
exclude 'META-INF/LICENSE*.*'
14+
jniLibs {
15+
excludes += ['META-INF/LICENSE*.*']
16+
}
17+
resources {
18+
excludes += ['META-INF/LICENSE*.*']
19+
}
1320
}
1421
}
22+

internal/junitextensions/src/main/AndroidManifest.xml

-3
This file was deleted.

libraries/rib-base-test-activity/build.gradle

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
configureAndroidLibrary(project)
22

33
android {
4+
namespace 'com.badoo.ribs.test.activity'
5+
46
defaultConfig {
57
versionCode 1
68
versionName '1.0'

libraries/rib-base-test-activity/src/main/AndroidManifest.xml

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<manifest
2-
xmlns:android="http://schemas.android.com/apk/res/android"
3-
package="com.badoo.ribs.test.activity">
2+
xmlns:android="http://schemas.android.com/apk/res/android">
43

54
<application>
65

libraries/rib-base-test-rx2/build.gradle

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
configureAndroidLibrary(project)
22

33
android {
4+
namespace 'com.badoo.ribs.test.rx2'
5+
46
defaultConfig {
57
versionCode 1
68
versionName '1.0'

libraries/rib-base-test-rx2/src/main/AndroidManifest.xml

-3
This file was deleted.

libraries/rib-base-test/build.gradle

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
configureAndroidLibrary(project)
22

33
android {
4+
namespace 'com.badoo.ribs.test'
5+
46
defaultConfig {
57
versionCode 1
68
versionName '1.0'

libraries/rib-base-test/src/main/AndroidManifest.xml

-3
This file was deleted.

libraries/rib-base/build.gradle

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ configureAndroidLibrary(project)
22

33
apply from: rootProject.file('gradle/code-coverage.gradle')
44

5+
android {
6+
namespace 'com.badoo.ribs.base'
7+
}
8+
59
dependencies {
610
api deps.android.appCompat
711

0 commit comments

Comments
 (0)