-rwxr-xr-x | scripts/builder/main.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/scripts/builder/main.py b/scripts/builder/main.py index ecdbf6a..47e10a0 100755 --- a/scripts/builder/main.py +++ b/scripts/builder/main.py @@ -79,25 +79,25 @@ def assembleBackend (backend, frontends, versions): builderModule = __import__(builderModuleName) builderClass = getattr(builderModule, builderClassName) backendBuilder = builderClass(projectTargetDir(), frontends, versions, settings) backendBuilder.run() #==================================================================== def build (settings, repository): frontends = [] if repository.areTherePendingChanges(): - if 'install' in settings['versions']: + if 'install' in settings['versions'] and not settings['forcedirty']: raise Exception("repository has pending changes, can't 'install'") else: print "\nWARNING: repository has pending changes\n" for frontend in settings['frontends']: normalizedFrontendName = frontend.replace(".", "_") builderModuleName = normalizedFrontendName + 'Builder' builderClassName = normalizedFrontendName.title() + 'Builder' #print ("BUILD FRONTEND - module: " + builderModuleName + " , class: " + builderClassName) builderModule = __import__(builderModuleName) builderClass = getattr(builderModule, builderClassName) @@ -141,24 +141,27 @@ def allBackends (): return ['php', 'python'] #-------------------------------------------------------------------- def main (): settings = {} parameters = list(itertools.islice(sys.argv, 1, None)) sys.path.append(os.path.join(scriptDir(), 'backends')) sys.path.append(os.path.join(scriptDir(), 'frontends')) currentRepository = repository.repositoryWithPath(projectBaseDir()) + settings['forcedirty'] = len(parameters) + parameters = list(itertools.ifilter(lambda x: not x=='--force-dirty', parameters)) + settings['forcedirty'] = len(parameters)==settings['forcedirty'] clean() versions = list(itertools.takewhile(lambda x: not x.startswith('--'), parameters)) settings['versions'] = versions; #['debug', 'install', 'development', 'checksum'] parameters = deque(itertools.dropwhile(lambda x: not x.startswith('--'), parameters)) if len(parameters) > 0: parameter = parameters.popleft() if parameter == "--ALL": settings['frontends'] = allFrontends() settings['backends'] = allBackends() else: while parameter != None: |