diff options
Diffstat (limited to 'support/arara/source/src/main/kotlin/org/islandoftex/arara/configuration/Configuration.kt')
-rw-r--r-- | support/arara/source/src/main/kotlin/org/islandoftex/arara/configuration/Configuration.kt | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/support/arara/source/src/main/kotlin/org/islandoftex/arara/configuration/Configuration.kt b/support/arara/source/src/main/kotlin/org/islandoftex/arara/configuration/Configuration.kt deleted file mode 100644 index 06abeeb6db..0000000000 --- a/support/arara/source/src/main/kotlin/org/islandoftex/arara/configuration/Configuration.kt +++ /dev/null @@ -1,101 +0,0 @@ -// SPDX-License-Identifier: BSD-3-Clause -package org.islandoftex.arara.configuration - -import kotlin.time.ExperimentalTime -import org.islandoftex.arara.Arara -import org.islandoftex.arara.filehandling.FileHandlingUtils -import org.islandoftex.arara.localization.Language -import org.islandoftex.arara.localization.LanguageController -import org.islandoftex.arara.localization.Messages -import org.islandoftex.arara.model.AraraException - -/** - * Implements the configuration model, which holds the default settings and can - * load the configuration file. The idea here is to provide a map that holds - * all configuration settings used by model and utilitary classes throughout - * the execution. This controller is implemented as a singleton. - * - * @author Island of TeX - * @version 5.0 - * @since 4.0 - */ -object Configuration { - // the application messages obtained from the - // language controller - private val messages = LanguageController - - /** - * Loads the application configuration. - * - * @throws AraraException Something wrong happened, to be caught in the - * higher levels. - */ - @ExperimentalTime - @Throws(AraraException::class) - fun load() { - // initialize both file type and language models, - // since we can track errors from there instead - // of relying on a check on this level - - // get the configuration file, if any - val file = ConfigurationUtils.configFile - if (file != null) { - // set the configuration file name for - // logging purposes - Arara.config[AraraSpec.Execution.configurationName] = - FileHandlingUtils.getCanonicalPath(file) - - // then validate it and update the - // configuration accordingly - val resource = ConfigurationUtils.loadLocalConfiguration(file) - update(resource) - } - - // just to be sure, update the - // current locale in order to - // display localized messages - val locale = Arara.config[AraraSpec.Execution.language].locale - LanguageController.setLocale(locale) - } - - /** - * Update the configuration based on the provided map. - * - * @param resource Map containing the new configuration settings. - * @throws AraraException Something wrong happened, to be caught in the - * higher levels. - */ - @Throws(AraraException::class) - private fun update(resource: LocalConfiguration) { - if (resource.paths.isNotEmpty()) - Arara.config[AraraSpec.Execution.rulePaths] = - ConfigurationUtils.normalizePaths(resource.paths) - - if (resource.filetypes.isNotEmpty()) { - Arara.config[AraraSpec.Execution.fileTypes] = ConfigurationUtils.normalizeFileTypes(resource.filetypes) - } - - Arara.config[AraraSpec.Execution.verbose] = resource.isVerbose - Arara.config[AraraSpec.Execution.logging] = resource.isLogging - Arara.config[AraraSpec.Execution.onlyHeader] = resource.isHeader - Arara.config[AraraSpec.Execution.language] = - Language(resource.language) - Arara.config[AraraSpec.UserInteraction.lookAndFeel] = resource.laf - - Arara.config[AraraSpec.Execution.databaseName] = - ConfigurationUtils.cleanFileName(resource.dbname) - Arara.config[AraraSpec.Execution.logName] = - ConfigurationUtils.cleanFileName(resource.logname) - - val loops = resource.loops - if (loops <= 0) { - throw AraraException(messages.getMessage(Messages - .ERROR_CONFIGURATION_LOOPS_INVALID_RANGE)) - } else { - Arara.config[AraraSpec.Execution.maxLoops] = loops - } - - if (resource.preambles.isNotEmpty()) - Arara.config[AraraSpec.Execution.preambles] = resource.preambles - } -} |