@Override
public void apply(Object receiver) {
if (receiver instanceof Settings) {
Settings settings = ((Settings) receiver);
settings.getGradle().projectsEvaluated(action -> {
settings.getGradle().getRootProject().apply(a -> a.plugin(AmdatuBlueprintPlugin.class));
});
} else if (receiver instanceof Project) {
Project project = (Project) receiver;
Workspace bndWorkspace = (Workspace) project.getProperties().get("bndWorkspace");
if (bndWorkspace == null) {
throw new GradleException("Bnd workspace not available!");
}
project.subprojects(subProject -> subProject
.fileTree(subProject.getProjectDir(), files -> files.include("*.bndrun"))
.forEach(bndrun -> addDockerTasks(bndWorkspace, subProject, bndrun)));
createRunAllTask(project, "docker", DockerTask.class);
createRunAllTask(project, "dockerPush", DockerPushTask.class);
}
}