
pl.allegro.tech.build.axion.release.domain.BaseExtension.groovy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of axion-release-plugin Show documentation
Show all versions of axion-release-plugin Show documentation
Gradle release and version management plugin
The newest version!
package pl.allegro.tech.build.axion.release.domain
import org.gradle.api.file.ProjectLayout
import org.gradle.api.model.ObjectFactory
import org.gradle.api.provider.Provider
import org.gradle.api.provider.ProviderFactory
import org.gradle.util.GradleVersion
import javax.inject.Inject
abstract class BaseExtension {
@Inject
protected abstract ProviderFactory getProviders()
@Inject
protected abstract ProjectLayout getLayout()
@Inject
protected abstract ObjectFactory getObjects();
protected Provider gradleProperty(String name) {
Provider property = providers.gradleProperty(name)
// Deprecated and a noop starting in 7.4
return currentGradleVersion() < GradleVersion.version("7.4") ? property.forUseAtConfigurationTime() : property
}
protected GradleVersion currentGradleVersion() {
GradleVersion.current()
}
protected Provider> gradlePropertyAsSet(String name) {
return gradleProperty(name).map({ it.tokenize(',') as Set })
}
protected Provider gradlePropertyAsBoolean(String name) {
return gradleProperty(name).map(Boolean::valueOf)
}
protected Provider gradlePropertyPresent(String name) {
return gradleProperty(name).map({ true })
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy