Refactoring: Create interface for config initialization

This eliminates argument order mistakes, and also lets us add new inputs
without having to update every test.
This commit is contained in:
Henry Mercer 2024-01-30 18:41:12 +00:00
parent 25f779c0f2
commit ec42edcaab
14 changed files with 492 additions and 524 deletions

5
lib/init.js generated
View file

@ -41,9 +41,10 @@ async function initCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliVe
return { codeql, toolsDownloadDurationMs, toolsSource, toolsVersion };
}
exports.initCodeQL = initCodeQL;
async function initConfig(languagesInput, queriesInput, packsInput, configFile, dbLocation, configInput, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, logger) {
async function initConfig(inputs) {
const logger = inputs.logger;
logger.startGroup("Load language configuration");
const config = await configUtils.initConfig(languagesInput, queriesInput, packsInput, configFile, dbLocation, configInput, trapCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeQL, workspacePath, gitHubVersion, apiDetails, logger);
const config = await configUtils.initConfig(inputs);
printPathFiltersWarning(config, logger);
logger.endGroup();
return config;