Search in sources :

Example 1 with ConfigurationLoader

use of com.buschmais.jqassistant.core.configuration.api.ConfigurationLoader in project jqa-core-framework by jQAssistant.

the class AbstractPluginIT method createConfiguration.

/**
 * Load configuration for ITs.
 *
 * @return The  configuration.
 */
private Configuration createConfiguration(PropertiesConfigBuilder propertiesConfigBuilder) {
    ConfigurationLoader configurationLoader = new ConfigurationLoaderImpl(ConfigurationLoader.getDefaultConfigurationDirectory(getClassesDirectory(this.getClass())));
    PropertiesConfigSource propertiesConfigSource = propertiesConfigBuilder.build();
    return configurationLoader.load(Configuration.class, propertiesConfigSource);
}
Also used : PropertiesConfigSource(io.smallrye.config.PropertiesConfigSource) ConfigurationLoaderImpl(com.buschmais.jqassistant.core.configuration.impl.ConfigurationLoaderImpl) ConfigurationLoader(com.buschmais.jqassistant.core.configuration.api.ConfigurationLoader)

Example 2 with ConfigurationLoader

use of com.buschmais.jqassistant.core.configuration.api.ConfigurationLoader 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);
}
Also used : PluginRepository(com.buschmais.jqassistant.core.plugin.api.PluginRepository) ConfigurationLoaderImpl(com.buschmais.jqassistant.core.configuration.impl.ConfigurationLoaderImpl) PropertiesConfigBuilder(com.buschmais.jqassistant.core.configuration.api.PropertiesConfigBuilder) ConfigurationLoader(com.buschmais.jqassistant.core.configuration.api.ConfigurationLoader) CliConfiguration(com.buschmais.jqassistant.commandline.configuration.CliConfiguration)

Aggregations

ConfigurationLoader (com.buschmais.jqassistant.core.configuration.api.ConfigurationLoader)2 ConfigurationLoaderImpl (com.buschmais.jqassistant.core.configuration.impl.ConfigurationLoaderImpl)2 CliConfiguration (com.buschmais.jqassistant.commandline.configuration.CliConfiguration)1 PropertiesConfigBuilder (com.buschmais.jqassistant.core.configuration.api.PropertiesConfigBuilder)1 PluginRepository (com.buschmais.jqassistant.core.plugin.api.PluginRepository)1 PropertiesConfigSource (io.smallrye.config.PropertiesConfigSource)1