Подключил разрешение макросов в настройках
This commit is contained in:
parent
df7e61b816
commit
635000b7fc
|
|
@ -0,0 +1,6 @@
|
|||
class BuildConfigProviderBase:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def getConfigs(self, rootConfig):
|
||||
pass
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
from Core.ContentProviderBase import ContentProviderBase
|
||||
from Tests.Common.SettingsProviderStub import SettingsProviderStub
|
||||
from taskRunner import TaskRunner
|
||||
from utils.BuildConfigProvider.BuildConfigProvider import BuildConfigProvider
|
||||
from utils.BuildConfigProvider.ResolvedBuildConfigProvider import ResolvedBuildConfigProvider
|
||||
|
||||
settingsText = """
|
||||
build_tool = '/Applications/Xamarin\ Studio.app/Contents/MacOS/mdtool'
|
||||
major_minor = '1.2'
|
||||
build = '345'
|
||||
|
||||
configs = 'config1, config2'
|
||||
steps = 'main_steps'
|
||||
|
||||
config1.version = '{@major_minor}'
|
||||
config2.version = '{@major_minor}.{@build}'
|
||||
"""
|
||||
|
||||
stepsFileContent = """
|
||||
sh echo {@version}
|
||||
"""
|
||||
|
||||
class ContentProviderMock(ContentProviderBase):
|
||||
def __init__(self):
|
||||
ContentProviderBase.__init__(self)
|
||||
|
||||
def fetchContent(self, key):
|
||||
if key == 'main_steps':
|
||||
return stepsFileContent
|
||||
else:
|
||||
raise Exception(key)
|
||||
|
||||
|
||||
settingsProvider = SettingsProviderStub(settingsText)
|
||||
|
||||
buildConfigProvider = BuildConfigProvider()
|
||||
resolvedBuildConfigProvider = ResolvedBuildConfigProvider(buildConfigProvider)
|
||||
|
||||
contentProvider = ContentProviderMock()
|
||||
|
||||
taskRunner = TaskRunner(settingsProvider, contentProvider, resolvedBuildConfigProvider)
|
||||
|
||||
taskRunner.run()
|
||||
|
||||
|
|
@ -20,5 +20,6 @@ os.chdir(baseDir)
|
|||
#import ManualTests.clean_test
|
||||
#import Tests.ManualTests.testflight_test
|
||||
#import Tests.ManualTests.install_profile
|
||||
#import Tests.ManualTests.macros_include_test
|
||||
|
||||
import Tests.ManualTests.macros_include_test
|
||||
import Tests.ManualTests.resolve_settings
|
||||
|
|
@ -8,7 +8,8 @@ from Core.LineConveyor.MacroResolver import MacroResolver
|
|||
from Core.LineConveyor.Stripper import Stripper
|
||||
from Core.LineConveyor.TextInclude import TextInclude
|
||||
from commands.ValueProvider import ValueProvider
|
||||
from utils.BuildConfigProvider import BuildConfigProvider
|
||||
from utils.BuildConfigProvider.BuildConfigProvider import BuildConfigProvider
|
||||
from utils.BuildConfigProvider.ResolvedBuildConfigProvider import ResolvedBuildConfigProvider
|
||||
from utils.IncludeProcessor import IncludeProcessor
|
||||
from utils.MacroProcessor import MacroProcessor
|
||||
from utils.SettingsProvider.CmdArgsOverriderSettingsProvider import CmdArgsOverriderSettingsProvider
|
||||
|
|
@ -23,15 +24,15 @@ from Core.StepsRunner import StepsRunner
|
|||
#os.chdir(baseDir)
|
||||
|
||||
|
||||
|
||||
class TaskRunner:
|
||||
def __init__(self, settingsProvider, fileContentProvider):
|
||||
def __init__(self, settingsProvider, fileContentProvider, buildConfigProvider):
|
||||
assert settingsProvider is not None
|
||||
assert fileContentProvider is not None
|
||||
assert buildConfigProvider is not None
|
||||
|
||||
self.settingsProvider = settingsProvider
|
||||
self.fileContentProvider = fileContentProvider
|
||||
self.configsProvider = BuildConfigProvider()
|
||||
self.configsProvider = buildConfigProvider
|
||||
|
||||
lineStripper = Stripper()
|
||||
commentRemover = CommentRemover()
|
||||
|
|
@ -84,8 +85,12 @@ if __name__ == "__main__":
|
|||
# TODO: перенести в корень комапановки
|
||||
fromFileSettingsProvider = FromFileSettingsProvider()
|
||||
overrideWithCmdSetProvider = CmdArgsOverriderSettingsProvider(fromFileSettingsProvider, overrideArgs)
|
||||
#resolvedSettingsProvider = ResolvedSettingsProvider(CmdArgsOverriderSettingsProvider)
|
||||
|
||||
fContentProvider = FileContentProvider()
|
||||
|
||||
runner = TaskRunner(overrideWithCmdSetProvider, fContentProvider)
|
||||
buildConfigProvider = BuildConfigProvider()
|
||||
resolvedBuildConfigProvider = ResolvedBuildConfigProvider(buildConfigProvider)
|
||||
|
||||
runner = TaskRunner(overrideWithCmdSetProvider, fContentProvider, resolvedBuildConfigProvider)
|
||||
runner.run()
|
||||
|
|
@ -1,6 +1,9 @@
|
|||
class BuildConfigProvider:
|
||||
from Core.BuildConfigProviderBase import BuildConfigProviderBase
|
||||
|
||||
|
||||
class BuildConfigProvider(BuildConfigProviderBase):
|
||||
def __init__(self):
|
||||
pass
|
||||
BuildConfigProviderBase.__init__(self)
|
||||
|
||||
def getConfigs(self, rootConfig):
|
||||
buildReadyConfigNames = self.fetchBuildReadyConfigNames(rootConfig)
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
from Core.BuildConfigProviderBase import BuildConfigProviderBase
|
||||
from Core.DependencyResolver.SettingsResolver import SettingsResolver
|
||||
|
||||
|
||||
class ResolvedBuildConfigProvider(BuildConfigProviderBase):
|
||||
def __init__(self, buildConfigProvider):
|
||||
BuildConfigProviderBase.__init__(self)
|
||||
assert buildConfigProvider is not None
|
||||
|
||||
self.inner = buildConfigProvider
|
||||
|
||||
def getConfigs(self, rootConfig):
|
||||
unresolvedBuildConfigs = self.inner.getConfigs(rootConfig)
|
||||
resolvedBuildConfigs = []
|
||||
|
||||
for bc in unresolvedBuildConfigs:
|
||||
resolver = SettingsResolver(bc)
|
||||
resolvedBuildConfig = resolver.resolveSettings()
|
||||
|
||||
resolvedBuildConfigs.append(resolvedBuildConfig)
|
||||
|
||||
return resolvedBuildConfigs
|
||||
|
|
@ -0,0 +1 @@
|
|||
__author__ = 'rzaitov'
|
||||
Loading…
Reference in New Issue