##// END OF EJS Templates
Added tag v1.2.1 for changeset ab28d6aa054e
Added tag v1.2.1 for changeset ab28d6aa054e

File last commit:

r11:cf3a5b9d59a9 default
r15:910155ed919a default
Show More
RunImage.java
42 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.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);
}
public void run() throws InterruptedException, IOException {
docker().runImage(
getImageName().get(),
getOptions().get(),
getCommandLine().get());
}
}