Skip to content

Commit 9d47b3b

Browse files
authored
fix(kotlin-compiler): Fix Modifier.sentryTag() not found warning (#997)
* fix(kotlin-compiler): Fix Modifier.sentryTag() not found warning * Use local compiler plugin included build * Spotless * Changelog * Bump compose versions
1 parent 3c7400f commit 9d47b3b

7 files changed

Lines changed: 54 additions & 33 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## Unreleased
4+
5+
### Fixes
6+
7+
- Fix `Modifier.sentryTag()` not found warning ([#997](https://github.com/getsentry/sentry-android-gradle-plugin/pull/997))
8+
39
## 6.0.0-alpha.4
410

511
### Dependencies

examples/android-instrumentation-sample/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ plugins {
55
alias(libs.plugins.kotlinAndroid)
66
alias(libs.plugins.ksp)
77
id("io.sentry.android.gradle")
8+
id("io.sentry.kotlin.compiler.gradle")
89
}
910

1011
if (getKotlinPluginVersion() >= "2.0.0") {

examples/android-instrumentation-sample/src/main/java/io/sentry/samples/instrumentation/ui/ComposeActivity.kt

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,17 @@ import androidx.compose.foundation.layout.fillMaxSize
1111
import androidx.compose.foundation.layout.padding
1212
import androidx.compose.foundation.shape.RoundedCornerShape
1313
import androidx.compose.foundation.text.BasicText
14+
import androidx.compose.runtime.Composable
1415
import androidx.compose.ui.Alignment
1516
import androidx.compose.ui.Modifier
1617
import androidx.compose.ui.draw.clip
1718
import androidx.compose.ui.graphics.Color
1819
import androidx.compose.ui.unit.dp
20+
import androidx.navigation.NavController
1921
import androidx.navigation.compose.NavHost
2022
import androidx.navigation.compose.composable
2123
import androidx.navigation.compose.rememberNavController
24+
import io.sentry.samples.instrumentation.ui.ComposeActivity.Destination
2225

2326
class ComposeActivity : ComponentActivity() {
2427

@@ -36,14 +39,7 @@ class ComposeActivity : ComponentActivity() {
3639
horizontalAlignment = Alignment.CenterHorizontally,
3740
verticalArrangement = Arrangement.Center,
3841
) {
39-
BasicText(
40-
modifier =
41-
Modifier.border(2.dp, Color.Gray, pillShape)
42-
.clip(pillShape)
43-
.clickable { navController.navigate(Destination.Details.route) }
44-
.padding(24.dp),
45-
text = "Home. Tap to go to Details.",
46-
)
42+
HomeText(navController, pillShape)
4743
}
4844
}
4945
composable(Destination.Details.route) {
@@ -52,14 +48,7 @@ class ComposeActivity : ComponentActivity() {
5248
horizontalAlignment = Alignment.CenterHorizontally,
5349
verticalArrangement = Arrangement.Center,
5450
) {
55-
BasicText(
56-
modifier =
57-
Modifier.border(2.dp, Color.Gray, pillShape)
58-
.clip(pillShape)
59-
.clickable { navController.popBackStack() }
60-
.padding(24.dp),
61-
text = "Details. Tap or press back to return.",
62-
)
51+
DetailsText(navController, pillShape)
6352
}
6453
}
6554
}
@@ -72,3 +61,27 @@ class ComposeActivity : ComponentActivity() {
7261
object Details : Destination("details")
7362
}
7463
}
64+
65+
@Composable
66+
fun HomeText(navController: NavController, pillShape: RoundedCornerShape) {
67+
BasicText(
68+
modifier =
69+
Modifier.border(2.dp, Color.Gray, pillShape)
70+
.clip(pillShape)
71+
.clickable { navController.navigate(Destination.Details.route) }
72+
.padding(24.dp),
73+
text = "Home. Tap to go to Details.",
74+
)
75+
}
76+
77+
@Composable
78+
fun DetailsText(navController: NavController, pillShape: RoundedCornerShape) {
79+
BasicText(
80+
modifier =
81+
Modifier.border(2.dp, Color.Gray, pillShape)
82+
.clip(pillShape)
83+
.clickable { navController.popBackStack() }
84+
.padding(24.dp),
85+
text = "Details. Tap or press back to return.",
86+
)
87+
}

examples/android-instrumentation-sample/src/main/java/io/sentry/samples/instrumentation/ui/MainActivity.kt

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,8 @@ import io.sentry.SpanStatus
1212
import io.sentry.TransactionOptions
1313
import io.sentry.samples.instrumentation.R
1414
import io.sentry.samples.instrumentation.SampleApp
15-
import io.sentry.samples.instrumentation.network.TrackService
1615
import io.sentry.samples.instrumentation.ui.list.TrackAdapter
17-
import kotlinx.coroutines.Dispatchers
1816
import kotlinx.coroutines.flow.collect
19-
import kotlinx.coroutines.flow.map
20-
import kotlinx.coroutines.withContext
2117

2218
class MainActivity : ComponentActivity() {
2319
override fun onCreate(savedInstanceState: Bundle?) {
@@ -39,13 +35,14 @@ class MainActivity : ComponentActivity() {
3935
SampleApp.database
4036
.tracksDao()
4137
.all()
42-
.map {
43-
val remote =
44-
withContext(Dispatchers.IO) {
45-
TrackService.instance.tracks("6188aa82-3102-436a-9a68-513e6ad9efcb")
46-
}
47-
remote + it
48-
}
38+
// TODO: this service doesn't work anymore, need to find a replacement
39+
// .map {
40+
// val remote =
41+
// withContext(Dispatchers.IO) {
42+
// TrackService.instance.tracks("6188aa82-3102-436a-9a68-513e6ad9efcb")
43+
// }
44+
// remote + it
45+
// }
4946
.collect {
5047
(list.adapter as TrackAdapter).populate(it)
5148
transaction.finish(SpanStatus.OK)

gradle/libs.versions.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,11 @@ sample-androidx-recyclerView = "androidx.recyclerview:recyclerview:1.2.0"
6767
sample-androidx-lifecycle = "androidx.lifecycle:lifecycle-runtime-ktx:2.2.0"
6868
sample-androidx-appcompat = "androidx.appcompat:appcompat:1.2.0"
6969

70-
sample-androidx-composeRuntime = "androidx.compose.runtime:runtime:1.1.1"
70+
sample-androidx-composeRuntime = "androidx.compose.runtime:runtime:1.5.4"
7171
sample-androidx-composeNavigation = "androidx.navigation:navigation-compose:2.5.2"
7272
sample-androidx-composeActivity = "androidx.activity:activity-compose:1.4.0"
73-
sample-androidx-composeFoundation = "androidx.compose.foundation:foundation:1.2.1"
74-
sample-androidx-composeFoundationLayout = "androidx.compose.foundation:foundation-layout:1.2.1"
73+
sample-androidx-composeFoundation = "androidx.compose.foundation:foundation:1.5.4"
74+
sample-androidx-composeFoundationLayout = "androidx.compose.foundation:foundation-layout:1.5.4"
7575

7676
sample-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "sampleCoroutines" }
7777
sample-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "sampleCoroutines" }

sentry-kotlin-compiler-plugin/src/kotlin2200/kotlin/io/sentry/compose/JetpackComposeTracingIrExtension22.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,7 @@ class JetpackComposeTracingIrExtension22(private val messageCollector: MessageCo
8787

8888
val sentryModifierClassId = FqName("io.sentry.compose").classId("SentryModifier")
8989

90-
val sentryModifierCompanionClass =
91-
pluginContext.referenceClass(sentryModifierClassId)?.owner?.companionObject()
90+
val sentryModifierCompanionClass = pluginContext.referenceClass(sentryModifierClassId)?.owner
9291

9392
val sentryModifierTagFunction = sentryModifierClassId.callableId("sentryTag")
9493

settings.gradle.kts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,9 @@ include(":examples:multi-module-sample:spring-boot-in-multi-module-sample2")
4242

4343
includeBuild("plugin-build")
4444

45-
includeBuild("sentry-kotlin-compiler-plugin")
45+
// this is needed so we can use kotlin-compiler-plugin directly in the sample app without publishing
46+
includeBuild("sentry-kotlin-compiler-plugin") {
47+
dependencySubstitution {
48+
substitute(module("io.sentry:sentry-kotlin-compiler-plugin")).using(project(":"))
49+
}
50+
}

0 commit comments

Comments
 (0)