io.cloudslang.lang.tools.build.commands.ApplicationArgs Maven / Gradle / Ivy
/*******************************************************************************
* (c) Copyright 2016 Hewlett-Packard Development Company, L.P.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Apache License v2.0 which accompany this distribution.
*
* The Apache License is available at
* http://www.apache.org/licenses/LICENSE-2.0
*
*******************************************************************************/
package io.cloudslang.lang.tools.build.commands;
import com.beust.jcommander.DynamicParameter;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.converters.CommaParameterSplitter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static org.apache.commons.lang3.StringUtils.isEmpty;
public class ApplicationArgs {
@Parameter
public List parameters = new ArrayList<>();
@Parameter(names = {"--project-root", "-pr"},
description = "Project root directory")
public String projectRoot;
@Parameter(names = {"--content-root", "-cr"},
description = "Content root directory")
public String contentRoot;
@Parameter(names = {"--test-root", "-tr"},
description = "Test root directory")
public String testRoot;
@Parameter(names = {"--test-suites", "-ts"},
description = "Comma-separated list of group names to be run",
splitter = CommaParameterSplitter.class)
public List testSuites;
@Parameter(names = {"--coverage", "-cov"},
description = "Whether or not test coverage data should be outputted")
public boolean coverage = false;
@Parameter(names = {"--parallel", "-par"},
description = "Whether or not parallel test execution should be used")
public boolean parallel = false;
@Parameter(names = {"--thread-count", "-th"},
description = "Number of threads to be used in case of parallel test execution. " +
"Has no effect for sequential execution. By default, it is set to the number of processors.")
public String threadCount;
@Parameter(names = {"--run-config-file", "-rcf"},
description = "Specifies the absolute path for the run configuration properties file.")
public String runConfigPath;
@Parameter(names = {"--description", "-des"},
description = "Whether or not to validate the inputs, outputs and results have description")
public boolean validateDescription = false;
@Parameter(names = {"--checkstyle", "-cs"},
description = "Whether or not to validate the checkstyle of the description")
public boolean validateCheckstyle = false;
@Parameter(names = {"--changes-only", "-co"},
description = "Run only tests from active suites that were affected by this changelist")
public String changesOnlyConfigPath;
@Parameter(names = {"--help", "-h"}, help = true,
description = "Display help information")
private boolean help;
@DynamicParameter(names = "-D", description = "Dynamic parameters go here")
public Map dynamicParams = new HashMap<>();
public List getParameters() {
return parameters;
}
public String getProjectRoot() {
return projectRoot;
}
public String getContentRoot() {
return contentRoot;
}
public String getTestRoot() {
return testRoot;
}
public List getTestSuites() {
return testSuites;
}
public boolean shouldOutputCoverage() {
return coverage;
}
public boolean shouldValidateDescription() {
return validateDescription;
}
public boolean shouldValidateCheckstyle() {
return validateCheckstyle;
}
public boolean isHelp() {
return help;
}
public Map getDynamicParams() {
return dynamicParams;
}
public boolean isParallel() {
return parallel;
}
public String getThreadCount() {
return threadCount;
}
public String getRunConfigPath() {
return isEmpty(runConfigPath) ? "" : runConfigPath;
}
public String getChangesOnlyConfigPath() {
return changesOnlyConfigPath;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy