use of com.buschmais.jqassistant.commandline.configuration.CliConfiguration in project jqa-commandline-tool by jQAssistant.
the class CliPluginResolverIT method resolve.
@Test
void resolve() {
Map<String, String> configurationProperties = new HashMap<>();
configurationProperties.put("jqassistant.plugins[0].group-id", "org.jqassistant.contrib.plugin");
configurationProperties.put("jqassistant.plugins[0].artifact-id", "jqassistant-docker-plugin");
configurationProperties.put("jqassistant.plugins[0].version", "1.11.0");
PropertiesConfigSource testConfigSource = new PropertiesConfigSource(configurationProperties, "TestConfigSource", 110);
ConfigurationLoaderImpl configurationLoader = new ConfigurationLoaderImpl(new File("src/test/resources"));
CliConfiguration cliConfiguration = configurationLoader.load(CliConfiguration.class, testConfigSource);
PluginResolverFactory pluginResolverFactory = new PluginResolverFactory();
PluginResolver pluginResolver = pluginResolverFactory.create(cliConfiguration);
PluginClassLoader pluginClassLoader = pluginResolver.createClassLoader(PluginResolverFactory.class.getClassLoader(), cliConfiguration.plugins());
assertThat(pluginClassLoader).isNotNull();
}
use of com.buschmais.jqassistant.commandline.configuration.CliConfiguration in project jqa-commandline-tool by jQAssistant.
the class Main method interpretCommandLine.
/**
* Parse the command line and execute the requested task.
*
* @param commandLine
* The command line.
* @param options
* The known options.
* @throws CliExecutionException
* If an error occurs.
*/
private void interpretCommandLine(CommandLine commandLine, Options options, TaskFactory taskFactory) throws CliExecutionException {
if (commandLine.hasOption(OPTION_HELP)) {
printUsage(options, null);
System.exit(1);
}
List<String> taskNames = commandLine.getArgList();
if (taskNames.isEmpty()) {
printUsage(options, "A task must be specified, i.e. one of " + gatherTaskNames(taskFactory));
System.exit(1);
}
PropertiesConfigBuilder propertiesConfigBuilder = new PropertiesConfigBuilder("TaskConfigSource", 110);
List<Task> tasks = new ArrayList<>();
for (String taskName : taskNames) {
Task task = taskFactory.fromName(taskName);
try {
task.withStandardOptions(commandLine, propertiesConfigBuilder);
task.withOptions(commandLine, propertiesConfigBuilder);
} catch (CliConfigurationException e) {
printUsage(options, e.getMessage());
System.exit(1);
}
if (task == null) {
printUsage(options, "Unknown task " + taskName);
}
tasks.add(task);
}
File workingDirectory = new File(".");
ConfigurationLoader configurationLoader = new ConfigurationLoaderImpl(workingDirectory);
CliConfiguration configuration = configurationLoader.load(CliConfiguration.class, propertiesConfigBuilder.build());
PluginRepository pluginRepository = getPluginRepository(configuration);
Map<String, Object> properties = readProperties(commandLine);
executeTasks(tasks, configuration, pluginRepository, properties);
}
Aggregations