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

name.remal.gradle_plugins.dsl.extensions.org.gradle.api.artifacts.component.ComponentSelector.kt Maven / Gradle / Ivy

There is a newer version: 1.9.2
Show newest version
@file:Suppress("UNNECESSARY_SAFE_CALL")

package name.remal.gradle_plugins.dsl.extensions

import name.remal.default
import org.gradle.api.Project
import org.gradle.api.artifacts.component.ComponentSelector
import org.gradle.api.artifacts.component.ModuleComponentSelector
import org.gradle.api.artifacts.component.ProjectComponentSelector

fun ComponentSelector.calculateGroup(project: Project): String? = when (this) {
    is ModuleComponentSelector -> this.group.default()
    is ProjectComponentSelector -> project.evaluationDependsOn(this.projectPath).group?.toString().default()
    else -> null
}

fun ComponentSelector.calculateModule(project: Project): String? = when (this) {
    is ModuleComponentSelector -> this.module.default()
    is ProjectComponentSelector -> project.evaluationDependsOn(this.projectPath).name?.toString().default()
    else -> null
}

fun ComponentSelector.calculateVersion(project: Project): String? = when (this) {
    is ModuleComponentSelector -> this.version.default()
    is ProjectComponentSelector -> project.evaluationDependsOn(this.projectPath).version?.toString().default()
    else -> null
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy