Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -124,9 +124,10 @@ class OspackageApplicationSpringBootPlugin implements Plugin<Project> {

// Workaround for https://github.com/gradle/gradle/issues/16371
if (GradleVersion.current().baseVersion >= GradleVersion.version('6.4').baseVersion) {
def mainClass = project.application.mainClass
project.tasks.named(ApplicationPlugin.TASK_START_SCRIPTS_NAME).configure {
doFirst {
if (!project.application.mainClass.isPresent()) {
if (!mainClass.isPresent()) {
throw new GradleException("mainClass should be configured in order to generate a valid start script. i.e. mainClass = 'com.netflix.app.MyApp'")
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ import org.gradle.api.Project

class OspackageDaemonPlugin implements Plugin<Project> {
public static final String POST_INSTALL_TEMPLATE = "postInstall"
Project project
DaemonExtension extension
DaemonTemplatesConfigExtension daemonTemplatesConfigExtension
DefaultDaemonDefinitionExtension defaultDefinition
Expand All @@ -54,7 +53,6 @@ class OspackageDaemonPlugin implements Plugin<Project> {

@Override
void apply(Project project) {
this.project = project
project.plugins.apply(SystemPackagingBasePlugin)

DomainObjectSet<DaemonDefinition> daemonsList = WrapUtil.toDomainObjectSet(DaemonDefinition)
Expand Down Expand Up @@ -105,7 +103,7 @@ class OspackageDaemonPlugin implements Plugin<Project> {
// Use Property API instead of conventionMapping
it.destDir.convention(outputDirProvider)
it.templatesFolder.convention(daemonTemplatesConfigExtension.folder ?: DEFAULT_TEMPLATES_FOLDER)
it.context.convention(project.provider {
it.context.convention(project.providers.provider {
Map<String,Object> context = toContext(defaults, definition)
context.daemonName = daemonName
context.isRedhat = isRedhat
Expand All @@ -123,7 +121,7 @@ class OspackageDaemonPlugin implements Plugin<Project> {
}

def destPathProvider = templateTaskProvider.flatMap { templateTask ->
project.provider {
project.providers.provider {
getDestPath(destPathTemplate, templateTask)
}
}
Expand Down
5 changes: 3 additions & 2 deletions src/main/groovy/com/netflix/gradle/plugins/deb/Deb.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import com.netflix.gradle.plugins.packaging.Dependency
import com.netflix.gradle.plugins.packaging.SystemPackagingTask
import com.netflix.gradle.plugins.utils.DeprecationLoggerUtils
import groovy.transform.CompileDynamic
import org.gradle.api.Project
import org.gradle.api.file.ProjectLayout
import org.gradle.api.provider.Property
import org.gradle.api.tasks.Input
Expand Down Expand Up @@ -60,8 +61,8 @@ abstract class Deb extends SystemPackagingTask {
}

@Override
protected void applyConventions() {
super.applyConventions()
protected void applyConventions(Project project) {
super.applyConventions(project)

// Apply default conventions FIRST (lowest priority)
exten.uid.convention(0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ class DebCopyAction extends AbstractPackagingCopyAction<Deb> {
maker.setDeb(debFile)
if (StringUtils.isNotBlank(task.getSigningKeyId())
&& StringUtils.isNotBlank(task.getSigningKeyPassphrase())
&& task.getSigningKeyRingFile().exists()) {
&& task.getSigningKeyRingFile()?.exists()) {
maker.setKey(task.getSigningKeyId())
maker.setPassphrase(task.getSigningKeyPassphrase())
maker.setKeyring(task.getSigningKeyRingFile())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class DebPlugin implements Plugin<Project> {
project.tasks.withType(Deb).configureEach { Deb deb ->
RpmPlugin.applyAliases(deb) // RPM Specific aliases
DebPlugin.applyAliases(deb) // DEB-specific aliases
deb.applyConventions()
deb.applyConventions(project)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class OsPackageDockerBasePlugin implements Plugin<Project> {
project.plugins.apply(CommonPackagingPlugin)
// Some defaults, if not set by the user
project.tasks.withType(SystemPackageDockerfile).configureEach { SystemPackageDockerfile systemPackageDockerfile ->
systemPackageDockerfile.applyConventions()
systemPackageDockerfile.applyConventions(project)
}

project.plugins.withType(DockerRemoteApiPlugin).configureEach { DockerRemoteApiPlugin dockerRemoteApiPlugin ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ package com.netflix.gradle.plugins.packaging

import com.netflix.gradle.plugins.utils.DeprecationLoggerUtils
import groovy.transform.CompileDynamic
import org.gradle.api.Project
import org.gradle.api.file.DuplicatesStrategy
import org.gradle.api.file.FileCollection
import org.gradle.api.file.ProjectLayout
Expand All @@ -27,6 +28,7 @@ import org.gradle.api.internal.file.copy.CopyActionExecuter
import org.gradle.api.model.ObjectFactory
import org.gradle.api.provider.Property
import org.gradle.api.provider.Provider
import org.gradle.api.provider.ProviderFactory
import org.gradle.api.tasks.*
import org.gradle.api.tasks.bundling.AbstractArchiveTask
import org.gradle.util.GradleVersion
Expand All @@ -43,6 +45,9 @@ abstract class SystemPackagingTask extends OsPackageAbstractArchiveTask {
@Inject
abstract ObjectFactory getObjectFactory()

@Inject
abstract ProviderFactory getProviders()

@Nested
abstract SystemPackagingExtension getExten() // Not File extension or ext list of properties, different kind of Extension

Expand Down Expand Up @@ -489,30 +494,30 @@ abstract class SystemPackagingTask extends OsPackageAbstractArchiveTask {
def customField(Map<String, String> fields) { getExten().customField(fields) }

// Apply conventions to task extension properties using modern Property API
protected void applyConventions() {
protected void applyConventions(Project project = project) {
// Apply default conventions FIRST (lowest priority)
exten.packageName.convention(getArchiveBaseName())
exten.release.convention(getArchiveClassifier())
exten.version.convention(project.provider { sanitizeVersion() })
exten.version.convention(getProviders().provider {
sanitizeVersion(parentExten?.getVersion()?.getOrNull() ?: project.getVersion().toString())
})
exten.epoch.convention(0)
exten.signingKeyId.convention('')
exten.signingKeyPassphrase.convention('')
exten.signingKeyRingFile.convention(
project.layout.file(project.provider {
projectLayout.file(getProviders().provider {
File defaultFile = new File(System.getProperty('user.home'), '.gnupg/secring.gpg')
defaultFile.exists() ? defaultFile : null
})
)
exten.user.convention(project.provider { getPackager() })
exten.maintainer.convention(project.provider { getPackager() })
exten.uploaders.convention(project.provider { getPackager() })
exten.user.convention(getProviders().provider { getPackager() })
exten.maintainer.convention(getProviders().provider { getPackager() })
exten.uploaders.convention(getProviders().provider { getPackager() })
exten.permissionGroup.convention('')
exten.setgid.convention(false)
exten.buildHost.convention(HOST_NAME)
exten.summary.convention(exten.packageName)
exten.packageDescription.convention(project.provider {
project.getDescription() ?: ''
})
exten.packageDescription.convention(getProviders().provider { project.getDescription() ?: '' })
exten.license.convention('')
exten.packager.convention(System.getProperty('user.name', ''))
exten.distribution.convention('')
Expand Down Expand Up @@ -557,15 +562,11 @@ abstract class SystemPackagingTask extends OsPackageAbstractArchiveTask {

// Task-specific conventions
if(GradleVersion.current().compareTo(GradleVersion.version("7.0.0")) >= 0) {
getArchiveFileName().convention(project.provider { assembleArchiveName() })
getArchiveFileName().convention(getProviders().provider { assembleArchiveName() })
getArchiveVersion().convention(determineArchiveVersion())
}
}

private String sanitizeVersion() {
sanitizeVersion(parentExten?.getVersion()?.getOrNull() ?: project.getVersion().toString())
}

private String sanitizeVersion(String version) {
version == 'unspecified' ? '0' : version.replaceAll(/\+.*/, '').replaceAll(/-/, '~')
}
Expand Down
5 changes: 3 additions & 2 deletions src/main/groovy/com/netflix/gradle/plugins/rpm/Rpm.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import com.netflix.gradle.plugins.packaging.AbstractPackagingCopyAction
import com.netflix.gradle.plugins.packaging.SystemPackagingTask
import com.netflix.gradle.plugins.utils.DeprecationLoggerUtils
import groovy.transform.CompileDynamic
import org.gradle.api.Project
import org.gradle.api.file.ProjectLayout
import org.gradle.api.provider.ListProperty
import org.gradle.api.provider.Property
Expand Down Expand Up @@ -68,8 +69,8 @@ abstract class Rpm extends SystemPackagingTask {
}

@Override
protected void applyConventions() {
super.applyConventions()
protected void applyConventions(Project project) {
super.applyConventions(project)

// Apply default conventions FIRST (lowest priority)
exten.addParentDirs.convention(true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ class RpmPlugin implements Plugin<Project> {
// Some defaults, if not set by the user
project.tasks.withType(Rpm).configureEach { Rpm rpm ->
RpmPlugin.applyAliases(rpm) // RPM Specific aliases
rpm.applyConventions()
rpm.applyConventions(project)
}
}

Expand Down
Loading
Loading