summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rwxr-xr-xscripts/builder/main.py5
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
@@ -83,17 +83,17 @@ def assembleBackend (backend, frontends, versions):
83 backendBuilder.run() 83 backendBuilder.run()
84 84
85#==================================================================== 85#====================================================================
86 86
87def build (settings, repository): 87def build (settings, repository):
88 frontends = [] 88 frontends = []
89 89
90 if repository.areTherePendingChanges(): 90 if repository.areTherePendingChanges():
91 if 'install' in settings['versions']: 91 if 'install' in settings['versions'] and not settings['forcedirty']:
92 raise Exception("repository has pending changes, can't 'install'") 92 raise Exception("repository has pending changes, can't 'install'")
93 else: 93 else:
94 print "\nWARNING: repository has pending changes\n" 94 print "\nWARNING: repository has pending changes\n"
95 95
96 for frontend in settings['frontends']: 96 for frontend in settings['frontends']:
97 normalizedFrontendName = frontend.replace(".", "_") 97 normalizedFrontendName = frontend.replace(".", "_")
98 builderModuleName = normalizedFrontendName + 'Builder' 98 builderModuleName = normalizedFrontendName + 'Builder'
99 builderClassName = normalizedFrontendName.title() + 'Builder' 99 builderClassName = normalizedFrontendName.title() + 'Builder'
@@ -145,16 +145,19 @@ def allBackends ():
145def main (): 145def main ():
146 settings = {} 146 settings = {}
147 parameters = list(itertools.islice(sys.argv, 1, None)) 147 parameters = list(itertools.islice(sys.argv, 1, None))
148 148
149 sys.path.append(os.path.join(scriptDir(), 'backends')) 149 sys.path.append(os.path.join(scriptDir(), 'backends'))
150 sys.path.append(os.path.join(scriptDir(), 'frontends')) 150 sys.path.append(os.path.join(scriptDir(), 'frontends'))
151 currentRepository = repository.repositoryWithPath(projectBaseDir()) 151 currentRepository = repository.repositoryWithPath(projectBaseDir())
152 152
153 settings['forcedirty'] = len(parameters)
154 parameters = list(itertools.ifilter(lambda x: not x=='--force-dirty', parameters))
155 settings['forcedirty'] = len(parameters)==settings['forcedirty']
153 clean() 156 clean()
154 versions = list(itertools.takewhile(lambda x: not x.startswith('--'), parameters)) 157 versions = list(itertools.takewhile(lambda x: not x.startswith('--'), parameters))
155 settings['versions'] = versions; #['debug', 'install', 'development', 'checksum'] 158 settings['versions'] = versions; #['debug', 'install', 'development', 'checksum']
156 parameters = deque(itertools.dropwhile(lambda x: not x.startswith('--'), parameters)) 159 parameters = deque(itertools.dropwhile(lambda x: not x.startswith('--'), parameters))
157 160
158 if len(parameters) > 0: 161 if len(parameters) > 0:
159 parameter = parameters.popleft() 162 parameter = parameters.popleft()
160 if parameter == "--ALL": 163 if parameter == "--ALL":