##// END OF EJS Templates
Fixed RunImage
Fixed RunImage

File last commit:

r16:286da9ffb112 default
r16:286da9ffb112 default
Show More
RunImage.java
44 lines | 1.2 KiB | text/x-java-source | JavaLexer
package org.implab.gradle.containers.tasks;
import java.io.IOException;
import org.gradle.api.Action;
import org.gradle.api.provider.ListProperty;
import org.gradle.api.provider.Property;
import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.Optional;
import org.gradle.api.tasks.TaskAction;
import org.implab.gradle.containers.dsl.OptionsMixin;
import org.implab.gradle.containers.dsl.VolumeSpec;
public abstract class RunImage extends DockerCliTask implements OptionsMixin {
@Input
public abstract Property<String> getImageName();
@Input
@Optional
public abstract ListProperty<String> getCommandLine();
public void volume(Action<VolumeSpec> configure) {
getOptions().add("-v");
getOptions().add(provider(() -> {
var volumeSpec = getObjectFactory().newInstance(VolumeSpec.class);
configure.execute(volumeSpec);
return volumeSpec.resolveSpec();
}));
}
void commandLine(String ...args) {
getCommandLine().addAll(args);
}
@TaskAction
public void run() throws InterruptedException, IOException {
docker().runImage(
getImageName().get(),
getOptions().get(),
getCommandLine().get());
}
}