package com.feisystems.tools.maven;
import java.util.Arrays;
import java.util.List;
public class Config {
// Defaults
public static final int DEFAULT_NUMBER_OF_VERSIONS_TO_KEEP = 5;
public static final boolean DEFAULT_USE_QUALIFIER_AS_BRANCH = true;
public static final String DEFAULT_MAVEN_REPOSITORY_PATH = defaultMavenRepositoryPath();
// Configuration
private String[] args;
private String mavenRepositoryPath;
private int numberOfVersionsToKeep;
private boolean useQualifierAsBranch;
private List<Artifact> artifacts;
public static int DEFAULT_VERSION = -1;
public Config() {
this.numberOfVersionsToKeep = DEFAULT_NUMBER_OF_VERSIONS_TO_KEEP;
this.useQualifierAsBranch = DEFAULT_USE_QUALIFIER_AS_BRANCH;
this.mavenRepositoryPath = DEFAULT_MAVEN_REPOSITORY_PATH;
}
public String[] getArgs() {
return args;
}
public void setArgs(String[] args) {
this.args = args;
}
public String getMavenRepositoryPath() {
return mavenRepositoryPath;
}
public void setMavenRepositoryPath(String mavenRepositoryPath) {
this.mavenRepositoryPath = mavenRepositoryPath;
}
public int getNumberOfVersionsToKeep() {
return numberOfVersionsToKeep;
}
public void setNumberOfVersionsToKeep(int numberOfVersionsToKeep) {
this.numberOfVersionsToKeep = numberOfVersionsToKeep;
}
public boolean isUseQualifierAsBranch() {
return useQualifierAsBranch;
}
public void setUseQualifierAsBranch(boolean useQualifierAsBranch) {
this.useQualifierAsBranch = useQualifierAsBranch;
DEFAULT_VERSION = useQualifierAsBranch ? -1 : 0;
}
public List<Artifact> getArtifacts() {
return artifacts;
}
public void setArtifacts(List<Artifact> artifacts) {
this.artifacts = artifacts;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("\n\nRunning Configuration:\n");
builder.append("args :");
builder.append(Arrays.asList(args));
builder.append("\n");
builder.append("mavenRepositoryPath: ");
builder.append(mavenRepositoryPath);
builder.append("\n");
builder.append("numberOfVersionsToKeep: ");
builder.append(numberOfVersionsToKeep);
builder.append("\n");
builder.append("useQualifierAsBranch: ");
builder.append(useQualifierAsBranch);
builder.append("\n");
builder.append("artifacts: ");
builder.append(artifacts);
builder.append("\n\n");
return builder.toString();
}
private static String defaultMavenRepositoryPath() {
StringBuilder pathBuilder = new StringBuilder();
pathBuilder.append(System.getenv("HOME"));
MavenArtifactCleaner.appendFolderToPath(pathBuilder, ".m2");
MavenArtifactCleaner.appendFolderToPath(pathBuilder, "repository");
return pathBuilder.toString();
}
}