Skip to content

Commit d8230a8

Browse files
authored
[NDK] Properly apply code formatting (#1081)
1 parent 113d261 commit d8230a8

File tree

14 files changed

+528
-428
lines changed

14 files changed

+528
-428
lines changed

ndk/Makefile

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
.PHONY: all clean compile format api check
2+
3+
all: clean format compile api check
4+
5+
clean:
6+
./gradlew clean
7+
8+
compile:
9+
./gradlew build
10+
11+
# Format code using the spotless gradle plugin
12+
format:
13+
./gradlew spotlessApply
14+
15+
# Creates the .api dump file
16+
api:
17+
./gradlew :sentry-native-ndk:apiDump
18+
19+
# Run tests and lint
20+
check:
21+
./gradlew check

ndk/build.gradle.kts

Lines changed: 37 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import com.diffplug.gradle.spotless.SpotlessPlugin
12
import com.diffplug.spotless.LineEnding
23
import com.vanniktech.maven.publish.MavenPublishBaseExtension
34
import com.vanniktech.maven.publish.MavenPublishPlugin
@@ -9,11 +10,10 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent
910

1011
plugins {
1112
`java-library`
12-
id("com.diffplug.spotless") version "6.11.0" apply true
13+
id("com.diffplug.spotless") version "6.25.0" apply true
1314
id("io.gitlab.arturbosch.detekt") version "1.19.0"
1415
`maven-publish`
1516
id("org.jetbrains.kotlinx.binary-compatibility-validator") version "0.13.0"
16-
1717
}
1818

1919
buildscript {
@@ -46,11 +46,12 @@ allprojects {
4646
withType<Test> {
4747
testLogging.showStandardStreams = true
4848
testLogging.exceptionFormat = TestExceptionFormat.FULL
49-
testLogging.events = setOf(
50-
TestLogEvent.SKIPPED,
51-
TestLogEvent.PASSED,
52-
TestLogEvent.FAILED
53-
)
49+
testLogging.events =
50+
setOf(
51+
TestLogEvent.SKIPPED,
52+
TestLogEvent.PASSED,
53+
TestLogEvent.FAILED,
54+
)
5455
maxParallelForks = Runtime.getRuntime().availableProcessors() / 2
5556

5657
// Cap JVM args per test
@@ -59,7 +60,7 @@ allprojects {
5960
dependsOn("cleanTest")
6061
}
6162
withType<JavaCompile> {
62-
options.compilerArgs.addAll(arrayOf("-Xlint:all", "-Werror", "-Xlint:-classfile", "-Xlint:-processing"))
63+
options.compilerArgs.addAll(arrayOf("-Xlint:all", "-Werror", "-Xlint:-classfile", "-Xlint:-processing", "-Xlint:-options"))
6364
}
6465
}
6566
}
@@ -127,6 +128,8 @@ subprojects {
127128
}
128129
}
129130
}
131+
132+
apply<SpotlessPlugin>()
130133
}
131134

132135
spotless {
@@ -139,21 +142,25 @@ spotless {
139142
}
140143
kotlin {
141144
target("**/*.kt")
145+
targetExclude("**/generated/**")
142146
ktlint()
143147
}
144148
kotlinGradle {
145149
target("**/*.kts")
150+
targetExclude("**/generated/**")
146151
ktlint()
147152
}
148153
}
149154

150-
private val androidLibs = setOf(
151-
"lib"
152-
)
155+
private val androidLibs =
156+
setOf(
157+
"lib",
158+
)
153159

154-
private val androidXLibs = listOf(
155-
"androidx.core:core"
156-
)
160+
private val androidXLibs =
161+
listOf(
162+
"androidx.core:core",
163+
)
157164

158165
/*
159166
* Adapted from https://github.com/androidx/androidx/blob/c799cba927a71f01ea6b421a8f83c181682633fb/buildSrc/private/src/main/kotlin/androidx/build/MavenUploadHelper.kt#L524-L549
@@ -178,22 +185,25 @@ private val androidXLibs = listOf(
178185
fun MavenPublishBaseExtension.assignAarTypes() {
179186
pom {
180187
withXml {
181-
val dependencies = asNode().children().find {
182-
it is Node && it.name().toString().endsWith("dependencies")
183-
} as Node?
188+
val dependencies =
189+
asNode().children().find {
190+
it is Node && it.name().toString().endsWith("dependencies")
191+
} as Node?
184192

185193
dependencies?.children()?.forEach { dep ->
186194
if (dep !is Node) {
187195
return@forEach
188196
}
189-
val group = dep.children().firstOrNull {
190-
it is Node && it.name().toString().endsWith("groupId")
191-
} as? Node
197+
val group =
198+
dep.children().firstOrNull {
199+
it is Node && it.name().toString().endsWith("groupId")
200+
} as? Node
192201
val groupValue = group?.children()?.firstOrNull() as? String
193202

194-
val artifactId = dep.children().firstOrNull {
195-
it is Node && it.name().toString().endsWith("artifactId")
196-
} as? Node
203+
val artifactId =
204+
dep.children().firstOrNull {
205+
it is Node && it.name().toString().endsWith("artifactId")
206+
} as? Node
197207
val artifactIdValue = artifactId?.children()?.firstOrNull() as? String
198208

199209
if (artifactIdValue in androidLibs) {
@@ -205,3 +215,7 @@ fun MavenPublishBaseExtension.assignAarTypes() {
205215
}
206216
}
207217
}
218+
219+
apiValidation {
220+
ignoredProjects.addAll(listOf("sample"))
221+
}

ndk/gradle.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,5 @@ POM_ARTIFACT_ID=sentry-native-ndk
5151
systemProp.org.gradle.internal.http.socketTimeout=120000
5252

5353
android.nonTransitiveRClass=true
54+
55+
android.suppressUnsupportedCompileSdk=34

ndk/lib/api/sentry-android-ndk.api

Lines changed: 0 additions & 29 deletions
This file was deleted.

ndk/lib/api/sentry-native-ndk.api

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
public final class io/sentry/ndk/BuildConfig {
2+
public static final field BUILD_TYPE Ljava/lang/String;
3+
public static final field DEBUG Z
4+
public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String;
5+
public fun <init> ()V
6+
}
7+
8+
public final class io/sentry/ndk/DebugImage {
9+
public fun <init> ()V
10+
public fun getArch ()Ljava/lang/String;
11+
public fun getCodeFile ()Ljava/lang/String;
12+
public fun getCodeId ()Ljava/lang/String;
13+
public fun getDebugFile ()Ljava/lang/String;
14+
public fun getDebugId ()Ljava/lang/String;
15+
public fun getImageAddr ()Ljava/lang/String;
16+
public fun getImageSize ()Ljava/lang/Long;
17+
public fun getType ()Ljava/lang/String;
18+
public fun getUuid ()Ljava/lang/String;
19+
public fun setArch (Ljava/lang/String;)V
20+
public fun setCodeFile (Ljava/lang/String;)V
21+
public fun setCodeId (Ljava/lang/String;)V
22+
public fun setDebugFile (Ljava/lang/String;)V
23+
public fun setDebugId (Ljava/lang/String;)V
24+
public fun setImageAddr (Ljava/lang/String;)V
25+
public fun setImageSize (J)V
26+
public fun setImageSize (Ljava/lang/Long;)V
27+
public fun setType (Ljava/lang/String;)V
28+
public fun setUuid (Ljava/lang/String;)V
29+
}
30+
31+
public abstract interface class io/sentry/ndk/INativeScope {
32+
public abstract fun addBreadcrumb (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
33+
public abstract fun removeExtra (Ljava/lang/String;)V
34+
public abstract fun removeTag (Ljava/lang/String;)V
35+
public abstract fun removeUser ()V
36+
public abstract fun setExtra (Ljava/lang/String;Ljava/lang/String;)V
37+
public abstract fun setTag (Ljava/lang/String;Ljava/lang/String;)V
38+
public abstract fun setUser (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
39+
}
40+
41+
public final class io/sentry/ndk/NativeModuleListLoader {
42+
public fun <init> ()V
43+
public fun clearModuleList ()V
44+
public fun loadModuleList ()[Lio/sentry/ndk/DebugImage;
45+
public static fun nativeClearModuleList ()V
46+
public static fun nativeLoadModuleList ()[Lio/sentry/ndk/DebugImage;
47+
}
48+
49+
public final class io/sentry/ndk/NativeScope : io/sentry/ndk/INativeScope {
50+
public fun <init> ()V
51+
public fun addBreadcrumb (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
52+
public static fun nativeAddBreadcrumb (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
53+
public static fun nativeRemoveExtra (Ljava/lang/String;)V
54+
public static fun nativeRemoveTag (Ljava/lang/String;)V
55+
public static fun nativeRemoveUser ()V
56+
public static fun nativeSetExtra (Ljava/lang/String;Ljava/lang/String;)V
57+
public static fun nativeSetTag (Ljava/lang/String;Ljava/lang/String;)V
58+
public static fun nativeSetUser (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
59+
public fun removeExtra (Ljava/lang/String;)V
60+
public fun removeTag (Ljava/lang/String;)V
61+
public fun removeUser ()V
62+
public fun setExtra (Ljava/lang/String;Ljava/lang/String;)V
63+
public fun setTag (Ljava/lang/String;Ljava/lang/String;)V
64+
public fun setUser (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
65+
}
66+
67+
public final class io/sentry/ndk/NdkOptions {
68+
public fun <init> (Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
69+
public fun getDist ()Ljava/lang/String;
70+
public fun getDsn ()Ljava/lang/String;
71+
public fun getEnvironment ()Ljava/lang/String;
72+
public fun getMaxBreadcrumbs ()I
73+
public fun getOutboxPath ()Ljava/lang/String;
74+
public fun getRelease ()Ljava/lang/String;
75+
public fun getSdkName ()Ljava/lang/String;
76+
public fun isDebug ()Z
77+
}
78+
79+
public final class io/sentry/ndk/SentryNdk {
80+
public static fun close ()V
81+
public static fun init (Lio/sentry/ndk/NdkOptions;)V
82+
}
83+

0 commit comments

Comments
 (0)