![JAR search and dependency download from the Maven repository](/logo.png)
com.alexecollins.docker.mojo.SaveMojo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of docker-maven-plugin Show documentation
Show all versions of docker-maven-plugin Show documentation
A plug-in for starting and stopping Docker containers.
package com.alexecollins.docker.mojo;
import com.alexecollins.docker.orchestration.DockerOrchestrator;
import com.alexecollins.docker.orchestration.model.Id;
import org.apache.commons.io.FilenameUtils;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProjectHelper;
import java.io.File;
import java.util.Map;
/**
* Save images to tar/tar.gz files.
*/
@Mojo(name = "save", defaultPhase = LifecyclePhase.PACKAGE)
public class SaveMojo extends AbstractDockerMojo {
/**
* The directory to save images to.
*/
@Parameter(defaultValue = "${project.build.directory}/docker", property = "docker.saveDir")
private File saveDir;
/**
* Gzip saved images.
*/
@Parameter(defaultValue = "false", property = "docker.gzipSave")
private boolean gzipSave;
/**
* Attach saved images to project for local install, or deployment to repository.
*/
@Parameter(defaultValue = "false", property = "docker.attach")
private boolean attach;
@Component
private MavenProjectHelper mavenProjectHelper;
@Override
protected void doExecute(DockerOrchestrator orchestrator) {
Map saved = orchestrator.save(saveDir, gzipSave);
if (attach) {
attachSavedFiles(saved);
}
}
private void attachSavedFiles(Map saved) {
for (Map.Entry save : saved.entrySet()) {
File file = save.getValue();
String extension = FilenameUtils.getExtension(file.getName());
mavenProjectHelper.attachArtifact(getProject(), extension, save.getKey().toString(), file);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy