[1.460.*] Pre-release merge (#1049)

This commit is contained in:
tramline-github[bot]
2026-01-20 14:30:11 +00:00
committed by GitHub
8 changed files with 27 additions and 13 deletions
+7 -1
View File
@@ -7,6 +7,7 @@
@file:Suppress("UnstableApiUsage")
import dev.msfjarvis.claw.gradle.addTestDependencies
import dev.zacsweers.metro.gradle.DiagnosticSeverity
plugins {
id("dev.msfjarvis.claw.android-application")
@@ -33,7 +34,10 @@ android {
buildTypes.create("internal") {
matchingFallbacks += "release"
signingConfig = signingConfigs["debug"]
isMinifyEnabled = true
applicationIdSuffix = ".internal"
isDebuggable = true
}
buildTypes.getByName("release") {
baselineProfile.automaticGenerationDuringBuild =
project.providers.gradleProperty("genProf").isPresent
}
@@ -55,6 +59,8 @@ licensee {
allowUrl("https://jsoup.org/license") { because("Jsoup is MIT licensed") }
}
metro { unusedGraphInputsSeverity = DiagnosticSeverity.ERROR }
moduleGraphAssert {
assertOnAnyBuild = true
maxHeight = 4
@@ -0,0 +1,9 @@
<!--
~ Copyright © Harsh Shandilya.
~ Use of this source code is governed by an MIT-style
~ license that can be found in the LICENSE file or at
~ https://opensource.org/licenses/MIT.
-->
<resources>
<string name="app_name">Claw 🤫</string>
</resources>
@@ -20,16 +20,21 @@ import org.gradle.kotlin.dsl.configure
class SentryPlugin : Plugin<Project> {
override fun apply(project: Project) {
var enableSizeAnalysis = false
val enableSentry = project.providers.gradleProperty(SENTRY_ENABLE_GRADLE_PROPERTY).isPresent
val libs = project.extensions.getByName("libs") as LibrariesForLibs
project.extensions.configure<ApplicationAndroidComponentsExtension> {
onVariants(selector().all()) { variant ->
val sentryDsn = project.providers.environmentVariable(SENTRY_DSN_PROPERTY).getOrElse("")
val isRelease = variant.name.contains("release", true)
variant.manifestPlaceholders.put("sentryDsn", sentryDsn)
variant.manifestPlaceholders.put(
"sentryEnvironment",
if (variant.name.contains("release", true)) "production" else "dev",
if (isRelease) "production" else "dev",
)
if (!enableSizeAnalysis) {
enableSizeAnalysis = isRelease
}
}
}
if (!enableSentry) return
@@ -67,7 +72,9 @@ class SentryPlugin : Plugin<Project> {
telemetry.set(false)
telemetryDsn.set(null as String?)
sizeAnalysis {
enabled.set(project.providers.environmentVariable("GITHUB_ACTIONS").isPresent)
enabled.set(
enableSizeAnalysis && project.providers.environmentVariable("GITHUB_ACTIONS").isPresent
)
}
vcsInfo {
headSha.set(project.providers.environmentVariable("SENTRY_VCS_HEAD_SHA"))
@@ -16,9 +16,7 @@ import androidx.compose.ui.platform.UriHandler
import androidx.core.net.toUri
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
@Inject
@ContributesBinding(AppScope::class)
class UrlLauncher(private val context: Context) : UriHandler {
override fun openUri(uri: String) {
@@ -9,7 +9,6 @@ package dev.msfjarvis.claw.core.injection
import androidx.lifecycle.ViewModel
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import dev.zacsweers.metro.Provider
import dev.zacsweers.metro.SingleIn
import dev.zacsweers.metrox.viewmodel.ManualViewModelAssistedFactory
@@ -17,7 +16,6 @@ import dev.zacsweers.metrox.viewmodel.MetroViewModelFactory
import dev.zacsweers.metrox.viewmodel.ViewModelAssistedFactory
import kotlin.reflect.KClass
@Inject
@ContributesBinding(AppScope::class)
@SingleIn(AppScope::class)
class InjectedViewModelFactory(
@@ -12,14 +12,12 @@ import androidx.work.WorkerFactory
import androidx.work.WorkerParameters
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import dev.zacsweers.metro.SingleIn
import kotlin.collections.get
import kotlin.reflect.KClass
@ContributesBinding(AppScope::class)
@SingleIn(AppScope::class)
@Inject
class InjectedWorkerFactory(
val workerProviders: Map<KClass<out ListenableWorker>, WorkerInstanceFactory<*>>
) : WorkerFactory() {
@@ -9,12 +9,10 @@ package dev.msfjarvis.claw.core.network
import android.util.Log
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import okhttp3.logging.HttpLoggingInterceptor
/** Implementation of [HttpLoggingInterceptor.Logger] backed by [Log]. */
@ContributesBinding(AppScope::class)
@Inject
class OkHttpLogger : HttpLoggingInterceptor.Logger {
override fun log(message: String) {
Log.d("LobstersApi", message)
+2 -2
View File
@@ -19,10 +19,10 @@ glance = "1.2.0-rc01"
haze = "1.7.1"
junit = "6.0.2"
konvert = "4.4.0"
kotlin = "2.3.0"
kotlin = "2.3.10-RC"
kotlinResult = "2.1.0"
lifecycle = "2.10.0"
metro = "0.9.4"
metro = "0.10.0"
monitor = "1.8.0"
navigation3 = "1.0.0"
navigation3-material = "1.3.0-alpha06"