diff --git a/scripts/TouchinBuild/taskRunner.py b/scripts/TouchinBuild/taskRunner.py index faa9fb3..d368254 100755 --- a/scripts/TouchinBuild/taskRunner.py +++ b/scripts/TouchinBuild/taskRunner.py @@ -26,17 +26,18 @@ scriptDir = os.path.dirname(scriptFilePath) class TaskRunner: - def __init__(self, settingsProvider, fileContentProvider, buildConfigProvider, linePreprocessor): + def __init__(self, settingsProvider, fileContentProvider, buildConfigProvider, linePreprocessor, defaults): assert settingsProvider is not None assert fileContentProvider is not None assert buildConfigProvider is not None assert linePreprocessor is not None + assert defaults is not None self.settingsProvider = settingsProvider self.fileContentProvider = fileContentProvider self.configsProvider = buildConfigProvider self.linePreprocessor = linePreprocessor - + self.defaults = defaults macroProcessor = MacroProcessor() self.valueProvider = ValueProvider() @@ -68,7 +69,7 @@ class TaskRunner: stepsRunner.run(content) def getStepsContent(self, config): - pathToSteps = config['steps'] + pathToSteps = config.get('steps', self.defaults['steps']) content = self.fileContentProvider.fetchContent(pathToSteps) content = self.textPreprocessor.processText(content, self.textPreprocessor) @@ -77,6 +78,12 @@ class TaskRunner: if __name__ == "__main__": + defaults = { + 'settings': 'settings.txt', + 'builder_path': scriptDir, + 'steps': os.path.join(scriptDir, 'steps.txt') + } + parser = argparse.ArgumentParser() parser.add_argument('--settings', required=False) allArgs = parser.parse_known_args() @@ -92,7 +99,7 @@ if __name__ == "__main__": linePreprocessor.addProcessor(lineStripper) # TODO: перенести в корень комапановки - settingsPath = knownArgs.settings or 'settings.txt' + settingsPath = knownArgs.settings or defaults['settings'] fromFileSettingsProvider = FromFileSettingsProvider(settingsPath, linePreprocessor) overrideWithCmdSetProvider = CmdArgsOverriderSettingsProvider(fromFileSettingsProvider, overrideArgs, linePreprocessor) @@ -100,10 +107,10 @@ if __name__ == "__main__": buildConfigProvider = BuildConfigProvider() predefineBuildConfigProvider = PredefinedMacrosBuildConfigProvider(buildConfigProvider) - predefineBuildConfigProvider.addPredefineMacro('builder_path', scriptDir) + predefineBuildConfigProvider.addPredefineMacro('builder_path', defaults['builder_path']) resolvedBuildConfigProvider = ResolvedBuildConfigProvider(predefineBuildConfigProvider) - runner = TaskRunner(overrideWithCmdSetProvider, fContentProvider, resolvedBuildConfigProvider, linePreprocessor) + runner = TaskRunner(overrideWithCmdSetProvider, fContentProvider, resolvedBuildConfigProvider, linePreprocessor, defaults) runner.run() \ No newline at end of file diff --git a/scripts/settings.txt b/scripts/settings.txt index d37a95d..9000946 100644 --- a/scripts/settings.txt +++ b/scripts/settings.txt @@ -6,7 +6,6 @@ project_name = CoolApp # ios platform settings ios.sln_config = Release|iPhone -ios.steps = 'scripts/IosSteps.txt' ios.setup_steps = 'IosSetupSteps.txt' ios.assembly_name = 'CoolApp'