Skip to content

Commit

Permalink
tasks.withType: use configureAction
Browse files Browse the repository at this point in the history
  • Loading branch information
rpalcolea committed Nov 2, 2019
1 parent 28775d8 commit 82a9194
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import com.netflix.gradle.plugins.deb.Deb
import com.netflix.gradle.plugins.packaging.ProjectPackagingExtension
import com.netflix.gradle.plugins.packaging.SystemPackagingPlugin
import com.netflix.gradle.plugins.rpm.Rpm
import org.gradle.api.Action
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.Task
Expand Down Expand Up @@ -61,9 +62,12 @@ class OspackageApplicationPlugin implements Plugin<Project> {
packagingExt.into(extension.getPrefix())

[Deb, Rpm].each { Class type ->
project.tasks.withType(type) { Task task ->
task.dependsOn(installTask)
}
project.tasks.withType(type).configureEach(new Action<Task>() {
@Override
void execute(Task task) {
task.dependsOn(installTask)
}
})
}
}
}
Expand Down
14 changes: 9 additions & 5 deletions src/main/groovy/com/netflix/gradle/plugins/deb/DebPlugin.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import com.netflix.gradle.plugins.packaging.AliasHelper
import com.netflix.gradle.plugins.packaging.CommonPackagingPlugin
import com.netflix.gradle.plugins.rpm.RpmPlugin
import groovy.transform.CompileDynamic
import org.gradle.api.Action
import org.gradle.api.Plugin
import org.gradle.api.Project

Expand All @@ -32,11 +33,14 @@ class DebPlugin implements Plugin<Project> {
registerDebClass(project)

// Some defaults, if not set by the user
project.tasks.withType(Deb) { Deb task ->
RpmPlugin.applyAliases(task) // RPM Specific aliases
DebPlugin.applyAliases(task) // DEB-specific aliases
task.applyConventions()
}
project.tasks.withType(Deb).configureEach(new Action<Deb>() {
@Override
void execute(Deb deb) {
RpmPlugin.applyAliases(deb) // RPM Specific aliases
DebPlugin.applyAliases(deb) // DEB-specific aliases
deb.applyConventions()
}
})
}

@CompileDynamic
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import com.netflix.gradle.plugins.packaging.CommonPackagingPlugin
import com.netflix.gradle.plugins.rpm.Rpm
import com.netflix.gradle.plugins.rpm.RpmPlugin
import groovy.transform.CompileDynamic
import org.gradle.api.Action
import org.gradle.api.Plugin
import org.gradle.api.Project

Expand All @@ -19,13 +20,19 @@ class OsPackageDockerBasePlugin implements Plugin<Project> {
void apply(Project project) {
project.plugins.apply(CommonPackagingPlugin)
// Some defaults, if not set by the user
project.tasks.withType(SystemPackageDockerfile) { SystemPackageDockerfile task ->
task.applyConventions()
}
project.tasks.withType(SystemPackageDockerfile).configureEach(new Action<SystemPackageDockerfile>() {
@Override
void execute(SystemPackageDockerfile systemPackageDockerfile) {
systemPackageDockerfile.applyConventions()
}
})

project.plugins.withType(DockerRemoteApiPlugin) {
createTasks(project)
}
project.plugins.withType(DockerRemoteApiPlugin).configureEach(new Action<DockerRemoteApiPlugin>() {
@Override
void execute(DockerRemoteApiPlugin dockerRemoteApiPlugin) {
createTasks(project)
}
})
}

private void createTasks(Project project) {
Expand Down
13 changes: 8 additions & 5 deletions src/main/groovy/com/netflix/gradle/plugins/rpm/RpmPlugin.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package com.netflix.gradle.plugins.rpm
import com.netflix.gradle.plugins.packaging.AliasHelper
import com.netflix.gradle.plugins.packaging.CommonPackagingPlugin
import groovy.transform.CompileDynamic
import org.gradle.api.Action
import org.redline_rpm.Builder
import org.redline_rpm.header.Architecture
import org.redline_rpm.header.Flags
Expand All @@ -44,11 +45,13 @@ class RpmPlugin implements Plugin<Project> {
}

// Some defaults, if not set by the user
project.tasks.withType(Rpm) { Rpm task ->
RpmPlugin.applyAliases(task) // RPM Specific aliases
task.applyConventions()
}

project.tasks.withType(Rpm).configureEach(new Action<Rpm>() {
@Override
void execute(Rpm rpm) {
RpmPlugin.applyAliases(rpm) // RPM Specific aliases
rpm.applyConventions()
}
})
}

def static applyAliases(def dynamicObjectAware) {
Expand Down

0 comments on commit 82a9194

Please sign in to comment.