All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.sentry.android.gradle.tasks.dependencies.SentryExternalDependenciesReportTaskFactory.kt Maven / Gradle / Ivy

package io.sentry.android.gradle.tasks.dependencies

import io.sentry.android.gradle.extensions.SentryPluginExtension
import io.sentry.android.gradle.tasks.DirectoryOutputTask
import io.sentry.android.gradle.telemetry.SentryTelemetryService
import io.sentry.android.gradle.util.GradleVersions
import org.gradle.api.Project
import org.gradle.api.file.Directory
import org.gradle.api.provider.Provider
import org.gradle.api.tasks.TaskProvider

object SentryExternalDependenciesReportTaskFactory {

    internal const val SENTRY_DEPENDENCIES_REPORT_OUTPUT = "sentry-external-modules.txt"

    fun register(
        project: Project,
        extension: SentryPluginExtension,
        sentryTelemetryProvider: Provider,
        configurationName: String,
        attributeValueJar: String,
        includeReport: Provider,
        output: Provider? = null,
        taskSuffix: String = ""
    ): TaskProvider {
        // gradle 7.5 supports passing configuration resolution as task input and respects config
        // cache, so we have a different implementation from that version onwards
        return if (GradleVersions.CURRENT >= GradleVersions.VERSION_7_5) {
            SentryExternalDependenciesReportTaskV2.register(
                project,
                extension,
                sentryTelemetryProvider,
                configurationName,
                attributeValueJar,
                output,
                includeReport,
                taskSuffix
            )
        } else {
            SentryExternalDependenciesReportTask.register(
                project,
                extension,
                sentryTelemetryProvider,
                configurationName,
                attributeValueJar,
                output,
                includeReport,
                taskSuffix
            )
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy