Merge branch 'BS-34'

This commit is contained in:
rzaitov 2013-11-12 16:48:34 +04:00
commit c37ce3d64c
3 changed files with 41 additions and 6 deletions

View File

@ -1,3 +1,5 @@
sh echo '{@builder_path}'
<include 'scripts/{@setup_steps}'>
sh echo hello from '{@author}'

View File

@ -1,5 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import argparse
from Core.FileContentProvider import FileContentProvider
from Core.LineConveyor.CommentRemover import CommentRemover
@ -9,6 +10,7 @@ from Core.LineConveyor.Stripper import Stripper
from Core.LineConveyor.TextInclude import TextInclude
from commands.ValueProvider import ValueProvider
from utils.BuildConfigProvider.BuildConfigProvider import BuildConfigProvider
from utils.BuildConfigProvider.PredefinedMacrosBuildConfigProvider import PredefinedMacrosBuildConfigProvider
from utils.BuildConfigProvider.ResolvedBuildConfigProvider import ResolvedBuildConfigProvider
from utils.IncludeProcessor import IncludeProcessor
from utils.MacroProcessor import MacroProcessor
@ -16,11 +18,10 @@ from utils.SettingsProvider.CmdArgsOverriderSettingsProvider import CmdArgsOverr
from utils.SettingsProvider.FromFileSettingsProvider import FromFileSettingsProvider
from Core.StepsRunner import StepsRunner
#scriptFilePath = os.path.abspath(__file__)
#
#scriptDir = os.path.dirname(scriptFilePath)
scriptFilePath = os.path.abspath(__file__)
scriptDir = os.path.dirname(scriptFilePath)
#baseDir = os.path.join(scriptDir, os.pardir)
#
#os.chdir(baseDir)
@ -85,12 +86,15 @@ if __name__ == "__main__":
# TODO: перенести в корень комапановки
fromFileSettingsProvider = FromFileSettingsProvider()
overrideWithCmdSetProvider = CmdArgsOverriderSettingsProvider(fromFileSettingsProvider, overrideArgs)
#resolvedSettingsProvider = ResolvedSettingsProvider(CmdArgsOverriderSettingsProvider)
fContentProvider = FileContentProvider()
buildConfigProvider = BuildConfigProvider()
resolvedBuildConfigProvider = ResolvedBuildConfigProvider(buildConfigProvider)
predefineBuildConfigProvider = PredefinedMacrosBuildConfigProvider(buildConfigProvider)
predefineBuildConfigProvider.addPredefineMacro('builder_path', scriptDir)
resolvedBuildConfigProvider = ResolvedBuildConfigProvider(predefineBuildConfigProvider)
runner = TaskRunner(overrideWithCmdSetProvider, fContentProvider, resolvedBuildConfigProvider)
runner.run()

View File

@ -0,0 +1,29 @@
from Core.BuildConfigProviderBase import BuildConfigProviderBase
class PredefinedMacrosBuildConfigProvider(BuildConfigProviderBase):
def __init__(self, buildConfigProvider):
BuildConfigProviderBase.__init__(self)
assert buildConfigProvider is not None
self.inner = buildConfigProvider
self.predefine = {}
def getConfigs(self, rootConfig):
configsWithoutPreDef = self.inner.getConfigs(rootConfig)
configsWithPreDef = []
for bc in configsWithoutPreDef:
for key in self.predefine:
if key not in bc:
bc[key] = self.predefine[key]
configsWithPreDef.append(bc)
return configsWithPreDef
def addPredefineMacro(self, key, value):
assert key is not None
assert value is not None
self.predefine[key] = value