Skip to content

Commit aaefb59

Browse files
committed
Skip NdkUploadTask if ProjectType is undefined. Delete NdkType.
1 parent d2582ee commit aaefb59

File tree

3 files changed

+14
-41
lines changed

3 files changed

+14
-41
lines changed

embrace-gradle-plugin/src/main/java/io/embrace/android/gradle/plugin/tasks/ndk/NdkType.kt

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

embrace-gradle-plugin/src/main/java/io/embrace/android/gradle/plugin/tasks/ndk/NdkUploadTask.kt

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.embrace.android.gradle.plugin.tasks.ndk
22

33
import io.embrace.android.gradle.plugin.Logger
4+
import io.embrace.android.gradle.plugin.config.ProjectType
45
import io.embrace.android.gradle.plugin.config.UnitySymbolsDir
56
import io.embrace.android.gradle.plugin.hash.calculateSha1ForFile
67
import io.embrace.android.gradle.plugin.network.OkHttpNetworkService
@@ -32,7 +33,7 @@ import javax.xml.transform.TransformerException
3233
* A task that uploads NDK symbols to Embrace.
3334
*/
3435
abstract class NdkUploadTask @Inject constructor(
35-
objectFactory: ObjectFactory
36+
objectFactory: ObjectFactory,
3637
) : EmbraceUploadTask, EmbraceUploadTaskImpl(objectFactory) {
3738

3839
private val logger = Logger(NdkUploadTask::class.java)
@@ -43,8 +44,7 @@ abstract class NdkUploadTask @Inject constructor(
4344

4445
@get:Optional
4546
@get:Input
46-
val ndkType: Property<NdkType> =
47-
objectFactory.property(NdkType::class.java).convention(NdkType.UNDEFINED)
47+
val projectType: Property<ProjectType> = objectFactory.property(ProjectType::class.java).convention(ProjectType.OTHER)
4848

4949
@get:Internal
5050
val deobfuscatedFilesDirPath: DirectoryProperty = objectFactory.directoryProperty()
@@ -77,11 +77,6 @@ abstract class NdkUploadTask @Inject constructor(
7777
return
7878
}
7979

80-
if (ndkType.get() == NdkType.UNDEFINED) {
81-
logger.warn("Cannot run NDK upload task without defining an NDK type.")
82-
return
83-
}
84-
8580
try {
8681
generateHashedObjects()
8782
uploadHandshake()
@@ -123,18 +118,10 @@ abstract class NdkUploadTask @Inject constructor(
123118
}
124119

125120
private fun getSoFilesByArchitecture(): Map<String, List<File>> {
126-
val archFiles = when (ndkType.get()) {
127-
NdkType.UNITY -> {
128-
getSoFilesByArchitectureForUnity()
129-
}
130-
131-
NdkType.NATIVE -> {
132-
getSoFilesByArchitectureForNative()
133-
}
134-
135-
else -> {
136-
throw IllegalArgumentException("Cannot generate NDK map file. Unsupported NDK type.")
137-
}
121+
val archFiles = when (projectType.get()) {
122+
ProjectType.UNITY -> getSoFilesByArchitectureForUnity()
123+
ProjectType.NATIVE -> getSoFilesByArchitectureForNative()
124+
else -> throw IllegalArgumentException("Cannot generate NDK map file. Unsupported NDK type.")
138125
}
139126

140127
return generateArchSoMap(archFiles)
@@ -243,7 +230,7 @@ abstract class NdkUploadTask @Inject constructor(
243230
* @return a map of requested symbols grouped by architecture
244231
*/
245232
private fun filterRequestedSymbolsFiles(
246-
requestedSymbols: Map<String, List<String>>
233+
requestedSymbols: Map<String, List<String>>,
247234
): Map<String, Map<String, File>> {
248235
val selectedSymbols = mutableMapOf<String, Map<String, File>>()
249236
getDeobfuscatedSymbolsFiles()?.let { deobfuscatedSymbols ->

embrace-gradle-plugin/src/main/java/io/embrace/android/gradle/plugin/tasks/ndk/NdkUploadTaskRegistration.kt

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import io.embrace.android.gradle.plugin.gradle.nullSafeMap
77
import io.embrace.android.gradle.plugin.gradle.registerTask
88
import io.embrace.android.gradle.plugin.gradle.safeFlatMap
99
import io.embrace.android.gradle.plugin.gradle.tryGetTaskProvider
10+
import io.embrace.android.gradle.plugin.instrumentation.config.model.EmbraceVariantConfig
1011
import io.embrace.android.gradle.plugin.network.EmbraceEndpoint
1112
import io.embrace.android.gradle.plugin.tasks.common.RequestParams
1213
import io.embrace.android.gradle.plugin.tasks.registration.EmbraceTaskRegistration
@@ -122,16 +123,8 @@ class NdkUploadTaskRegistration(
122123
}
123124

124125
ndkUploadTaskProvider.configure { ndkUploadTask: NdkUploadTask ->
125-
ndkUploadTask.onlyIf { embraceConfig?.ndkEnabled ?: true }
126-
ndkUploadTask.ndkType.set(
127-
projectType.map {
128-
when (it) {
129-
ProjectType.UNITY -> NdkType.UNITY
130-
ProjectType.NATIVE -> NdkType.NATIVE
131-
else -> NdkType.UNDEFINED
132-
}
133-
}
134-
)
126+
ndkUploadTask.onlyIf { shouldExecuteNdkUploadTask(embraceConfig) }
127+
ndkUploadTask.projectType.set(projectType)
135128
ndkUploadTask.mustRunAfter(object : Callable<Any> {
136129
override fun call(): Any {
137130
return listOfNotNull(
@@ -165,4 +158,7 @@ class NdkUploadTaskRegistration(
165158
} else {
166159
"$flavorName/$buildTypeName"
167160
}
161+
162+
private fun shouldExecuteNdkUploadTask(embraceConfig: EmbraceVariantConfig?): Boolean = embraceConfig?.ndkEnabled ?: true
163+
&& (projectType.orNull == ProjectType.NATIVE || projectType.orNull == ProjectType.UNITY)
168164
}

0 commit comments

Comments
 (0)