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

main.name.remal.gradle_plugins.plugins.dependencies.AbstractComponentMetadata.kt Maven / Gradle / Ivy

There is a newer version: 1.9.2
Show newest version
package name.remal.gradle_plugins.plugins.dependencies

import name.remal.gradle_plugins.dsl.extensions.isPluginDisabledByProperty
import org.gradle.api.Project
import org.gradle.api.artifacts.ComponentMetadataContext
import org.gradle.api.artifacts.ComponentMetadataDetails
import org.gradle.api.artifacts.ComponentMetadataRule
import org.gradle.api.artifacts.ModuleVersionIdentifier

abstract class AbstractComponentMetadata(protected val project: Project) : ComponentMetadataRule {

    protected abstract fun ModuleVersionIdentifier.process(details: ComponentMetadataDetails)

    final override fun execute(context: ComponentMetadataContext) {
        if (project.isPluginDisabledByProperty(ComponentMetadataPlugin::class.java)) return

        context.details.let { details ->
            details.id.process(details)
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy