Update duckduckgo regression benchmarks

Make it compatible with Kotlin 1.7.0 release.
This commit is contained in:
Yahor Berdnikau
2022-05-10 23:42:33 +02:00
parent 6bb36bc5e1
commit 1537b2ed3d
2 changed files with 234 additions and 23 deletions
@@ -4,15 +4,11 @@
@file:BenchmarkProject(
name = "duckduckgo",
gitUrl = "https://github.com/duckduckgo/Android.git",
gitCommitSha = "18e2fcb53a6de6f4f9ef90f27a587d88b6d2e140"
gitCommitSha = "9c808cfda9877fbee5bbc8a542f6c80ede48e95f"
)
import java.io.File
val stableReleasePatch = {
"duckduckgo-kotlin-1.6.20.patch" to File("benchmarkScripts/files/duckduckgo-kotlin-1.6.20.patch").inputStream()
}
val currentReleasePatch = {
"duckduckgo-kotlin-current.patch" to File("benchmarkScripts/files/duckduckgo-kotlin-current.patch")
.readText()
@@ -26,7 +22,7 @@ runAllBenchmarks(
title = "Clean build"
useGradleArgs("--no-build-cache")
runTasks("assembleDebug")
runTasks(":app:assemblePlayDebug")
runCleanupTasks("clean")
}
@@ -34,29 +30,29 @@ runAllBenchmarks(
title = "Incremental build with ABI change in common ViewModelFactory"
useGradleArgs("--no-build-cache")
runTasks("assembleDebug")
applyAbiChangeTo("common/src/main/java/com/duckduckgo/app/global/ViewModelFactory.kt")
runTasks(":app:assemblePlayDebug")
applyAbiChangeTo("common/src/main/java/com/duckduckgo/app/global/VpnViewModelFactory.kt")
}
scenario {
title = "Incremetal build with ABI change in Kapt component"
useGradleArgs("--no-build-cache")
runTasks("assembleDebug")
applyAbiChangeTo("vpn-main/src/main/java/com/duckduckgo/mobile/android/vpn/di/VpnComponent.kt")
runTasks(":app:assemblePlayDebug")
applyAbiChangeTo("vpn/src/main/java/com/duckduckgo/mobile/android/vpn/di/VpnModule.kt")
}
scenario {
title = "Incremental build with change in Android common string resource"
useGradleArgs("--no-build-cache")
runTasks("assembleDebug")
runTasks(":app:assemblePlayDebug")
applyAndroidResourceValueChange("common-ui/src/main/res/values/strings.xml")
}
},
mapOf(
"1.6.20" to stableReleasePatch,
"1.6.20" to null,
"1.7.0" to currentReleasePatch
)
)
@@ -1,17 +1,184 @@
diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt
index 8e4a4e16..fd280da8 100644
--- a/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt
+++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt
@@ -342,6 +342,7 @@ open class BrowserActivity : DuckDuckGoActivity(), CoroutineScope by MainScope()
is Command.ShowAppRatingPrompt -> showAppEnjoymentPrompt(RateAppDialogFragment.create(command.promptCount, viewModel))
is Command.ShowAppFeedbackPrompt -> showAppEnjoymentPrompt(GiveFeedbackDialogFragment.create(command.promptCount, viewModel))
is Command.LaunchFeedbackView -> startActivity(FeedbackActivity.intent(this))
+ else -> Unit
}
}
diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt
index 1a75280d..bb4c5969 100644
--- a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt
+++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt
@@ -633,6 +633,7 @@ class BrowserTabFragment :
is DownloadCommand.ShowDownloadStartedMessage -> downloadStarted(command)
is DownloadCommand.ShowDownloadFailedMessage -> downloadFailed(command)
is DownloadCommand.ShowDownloadSuccessMessage -> downloadSucceeded(command)
+ else -> Unit
}
}
@@ -863,6 +864,7 @@ class BrowserTabFragment :
omnibarTextInput.setText(it.query)
omnibarTextInput.setSelection(it.query.length)
}
+ else -> Unit
}
}
diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt
index e59c99e3..fab2910d 100644
--- a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt
+++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt
@@ -1066,6 +1066,7 @@ class BrowserTabViewModel @Inject constructor(
is WebNavigationStateChange.PageCleared -> pageCleared()
is WebNavigationStateChange.UrlUpdated -> urlUpdated(stateChange.url)
is WebNavigationStateChange.PageNavigationCleared -> disableUserNavigation()
+ else -> Unit
}
if (newWebNavigationState.progress ?: 0 >= SHOW_CONTENT_MIN_PROGRESS) {
diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserViewModel.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserViewModel.kt
index 399a2f56..0e4449e1 100644
--- a/app/src/main/java/com/duckduckgo/app/browser/BrowserViewModel.kt
+++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserViewModel.kt
@@ -117,6 +117,7 @@ class BrowserViewModel @Inject constructor(
is AppEnjoymentPromptOptions.ShowFeedbackPrompt -> {
command.value = Command.ShowAppFeedbackPrompt(promptType.promptCount)
}
+ else -> Unit
}
}
}
diff --git a/app/src/main/java/com/duckduckgo/app/fire/AutomaticDataClearer.kt b/app/src/main/java/com/duckduckgo/app/fire/AutomaticDataClearer.kt
index a0d65823..17fc73b8 100644
--- a/app/src/main/java/com/duckduckgo/app/fire/AutomaticDataClearer.kt
+++ b/app/src/main/java/com/duckduckgo/app/fire/AutomaticDataClearer.kt
@@ -195,6 +195,7 @@ class AutomaticDataClearer @Inject constructor(
dataClearerState.value = FINISHED
}
}
+ else -> Unit
}
}
diff --git a/app/src/main/java/com/duckduckgo/app/fire/fireproofwebsite/ui/FireproofWebsiteAdapter.kt b/app/src/main/java/com/duckduckgo/app/fire/fireproofwebsite/ui/FireproofWebsiteAdapter.kt
index 6b3b1f4c..a54ab9e3 100644
--- a/app/src/main/java/com/duckduckgo/app/fire/fireproofwebsite/ui/FireproofWebsiteAdapter.kt
+++ b/app/src/main/java/com/duckduckgo/app/fire/fireproofwebsite/ui/FireproofWebsiteAdapter.kt
@@ -137,6 +137,7 @@ class FireproofWebsiteAdapter(
)
]
)
+ else -> Unit
}
}
diff --git a/app/src/main/java/com/duckduckgo/app/icon/ui/ChangeIconActivity.kt b/app/src/main/java/com/duckduckgo/app/icon/ui/ChangeIconActivity.kt
index 5904e811..3e6eea27 100644
--- a/app/src/main/java/com/duckduckgo/app/icon/ui/ChangeIconActivity.kt
+++ b/app/src/main/java/com/duckduckgo/app/icon/ui/ChangeIconActivity.kt
@@ -92,6 +92,7 @@ class ChangeIconActivity : DuckDuckGoActivity() {
}
.show()
}
+ else -> Unit
}
}
diff --git a/app/src/main/java/com/duckduckgo/app/launch/LaunchBridgeActivity.kt b/app/src/main/java/com/duckduckgo/app/launch/LaunchBridgeActivity.kt
index ef708ab5..09fef2f8 100644
--- a/app/src/main/java/com/duckduckgo/app/launch/LaunchBridgeActivity.kt
+++ b/app/src/main/java/com/duckduckgo/app/launch/LaunchBridgeActivity.kt
@@ -59,6 +59,7 @@ class LaunchBridgeActivity : DuckDuckGoActivity() {
is LaunchViewModel.Command.Home -> {
showHome()
}
+ else -> Unit
}
}
diff --git a/app/src/main/java/com/duckduckgo/app/location/ui/LocationPermissionsAdapter.kt b/app/src/main/java/com/duckduckgo/app/location/ui/LocationPermissionsAdapter.kt
index 31750b34..a10a4e1b 100644
--- a/app/src/main/java/com/duckduckgo/app/location/ui/LocationPermissionsAdapter.kt
+++ b/app/src/main/java/com/duckduckgo/app/location/ui/LocationPermissionsAdapter.kt
@@ -167,6 +167,7 @@ class LocationPermissionsAdapter(
is LocationPermissionsViewHolder.LocationPermissionsItemViewHolder -> {
holder.bind(getLocationPermission(position))
}
+ else -> Unit
}
}
diff --git a/app/src/main/java/com/duckduckgo/app/privacy/ui/WebsitesAdapter.kt b/app/src/main/java/com/duckduckgo/app/privacy/ui/WebsitesAdapter.kt
index 4cf9ded9..50beedbe 100644
--- a/app/src/main/java/com/duckduckgo/app/privacy/ui/WebsitesAdapter.kt
+++ b/app/src/main/java/com/duckduckgo/app/privacy/ui/WebsitesAdapter.kt
@@ -143,6 +143,7 @@ class WebsitesAdapter(
is WebsiteViewHolder.WebsiteItemViewHolder -> {
holder.bind(entries[getWebsiteItemPosition(position)])
}
+ else -> Unit
}
}
}
diff --git a/app/src/main/java/com/duckduckgo/app/privacy/ui/WhitelistActivity.kt b/app/src/main/java/com/duckduckgo/app/privacy/ui/WhitelistActivity.kt
index e8bc2912..5d31bcd1 100644
--- a/app/src/main/java/com/duckduckgo/app/privacy/ui/WhitelistActivity.kt
+++ b/app/src/main/java/com/duckduckgo/app/privacy/ui/WhitelistActivity.kt
@@ -103,6 +103,7 @@ class WhitelistActivity : DuckDuckGoActivity() {
is ShowEdit -> showEditDialog(command.entry)
is ConfirmDelete -> showDeleteDialog(command.entry)
is ShowWhitelistFormatError -> showWhitelistFormatError()
+ else -> Unit
}
}
diff --git a/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt b/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt
index 97627faf..eb51c8d9 100644
--- a/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt
+++ b/app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt
@@ -174,6 +174,7 @@ class TabSwitcherActivity : DuckDuckGoActivity(), TabSwitcherListener, Coroutine
private fun processCommand(command: Command?) {
when (command) {
is Close -> finishAfterTransition()
+ else -> Unit
}
}
diff --git a/app/src/play/java/com/duckduckgo/referral/PlayStoreAppReferrerStateListener.kt b/app/src/play/java/com/duckduckgo/referral/PlayStoreAppReferrerStateListener.kt
index d8dfa642..988cf1f9 100644
--- a/app/src/play/java/com/duckduckgo/referral/PlayStoreAppReferrerStateListener.kt
+++ b/app/src/play/java/com/duckduckgo/referral/PlayStoreAppReferrerStateListener.kt
@@ -165,6 +165,7 @@ class PlayStoreAppReferrerStateListener @Inject constructor(
variantManager.updateAppReferrerVariant(VariantManager.RESERVED_EU_AUCTION_VARIANT)
appReferrerDataStore.installedFromEuAuction = true
}
+ else -> Unit
}
appReferrerDataStore.referrerCheckedPreviously = true
diff --git a/build.gradle b/build.gradle
index 5e2a7230..9b06a640 100644
index 8a5b9c6e..03f70375 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,7 +2,7 @@
@@ -2,9 +2,9 @@
buildscript {
ext {
- kotlin_version = '1.6.10'
- kotlin_version = '1.6.21'
+ kotlin_version = '<kotlin_version>'
spotless = "6.1.2"
anvil_version = "2.3.11-1-6-10"
gradle_plugin = "7.0.3"
@@ -13,6 +13,7 @@ buildscript {
- anvil_version = "2.4.0"
+ anvil_version = "2.4.1-1.7.0-Beta-25-SNAPSHOT"
gradle_plugin = "7.0.4"
min_sdk = 23
target_sdk = 30
@@ -13,13 +13,19 @@ buildscript {
}
repositories {
@@ -19,15 +186,39 @@ index 5e2a7230..9b06a640 100644
google()
mavenCentral()
maven { url "https://plugins.gradle.org/m2/" }
@@ -36,6 +37,7 @@ apply plugin: 'com.osacky.fulladle'
+ maven { url "https://s01.oss.sonatype.org/content/repositories/snapshots/" }
flatDir {
dirs "$rootProject.projectDir/libs"
}
}
+ configurations.classpath.resolutionStrategy {
+ force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:<kotlin_version>'
+ force 'org.jetbrains.kotlin:kotlin-gradle-plugin-api:<kotlin_version>'
+ }
dependencies {
classpath "com.android.tools.build:gradle:$gradle_plugin"
classpath "com.diffplug.spotless:spotless-plugin-gradle:$spotless"
@@ -36,11 +42,18 @@ apply plugin: 'com.osacky.fulladle'
allprojects {
repositories {
+ mavenLocal()
google()
mavenCentral()
+ maven { url "https://s01.oss.sonatype.org/content/repositories/snapshots/" }
}
@@ -70,4 +72,4 @@ fladle {
configurations.all {
- resolutionStrategy.force 'org.objenesis:objenesis:2.6'
+ resolutionStrategy {
+ force 'org.objenesis:objenesis:2.6'
+ force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:<kotlin_version>'
+ force 'org.jetbrains.kotlin:kotlin-compiler-embeddable:<kotlin_version>'
+ force 'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.4.2'
+ }
}
}
@@ -70,4 +83,4 @@ fladle {
}
}
@@ -35,15 +226,39 @@ index 5e2a7230..9b06a640 100644
\ No newline at end of file
+apply plugin: 'android-reporting'
diff --git a/versions.properties b/versions.properties
index 72231792..b6fea830 100644
index 069ab45e..26f56990 100644
--- a/versions.properties
+++ b/versions.properties
@@ -77,7 +77,7 @@ version.io.reactivex.rxjava2..rxjava=2.2.9
@@ -69,7 +69,7 @@ version.jakewharton.rxrelay2=2.0.0
version.jakewharton.timber=5.0.1
-version.kotlin=1.6.20
-version.kotlin=1.6.21
+version.kotlin=<kotlin_version>
version.kotlinx.coroutines=1.6.1
diff --git a/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/apps/ui/TrackingProtectionExclusionListActivity.kt b/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/apps/ui/TrackingProtectionExclusionListActivity.kt
index ffa80389..caa53aa3 100644
--- a/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/apps/ui/TrackingProtectionExclusionListActivity.kt
+++ b/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/apps/ui/TrackingProtectionExclusionListActivity.kt
@@ -183,6 +183,7 @@ class TrackingProtectionExclusionListActivity :
command.position
)
is Command.LaunchFeedback -> reportBreakage.launch(command.reportBreakageScreen)
+ else -> Unit
}
}
diff --git a/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/ui/tracker_activity/DeviceShieldTrackerActivity.kt b/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/ui/tracker_activity/DeviceShieldTrackerActivity.kt
index bdc8881c..7c8f067e 100644
--- a/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/ui/tracker_activity/DeviceShieldTrackerActivity.kt
+++ b/vpn/src/main/java/com/duckduckgo/mobile/android/vpn/ui/tracker_activity/DeviceShieldTrackerActivity.kt
@@ -228,6 +228,7 @@ class DeviceShieldTrackerActivity :
is DeviceShieldTrackerActivityViewModel.Command.ShowRemoveFeatureConfirmationDialog -> launchRemoveFeatureConfirmationDialog()
is DeviceShieldTrackerActivityViewModel.Command.CloseScreen -> finish()
is DeviceShieldTrackerActivityViewModel.Command.OpenVpnSettings -> openVPNSettings()
+ else -> Unit
}
}