summaryrefslogtreecommitdiff
Side-by-side diff
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
@@ -85,13 +85,13 @@ def assembleBackend (backend, frontends, versions):
#====================================================================
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(".", "_")
@@ -147,12 +147,15 @@ def main ():
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: