-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 | |||
@@ -85,13 +85,13 @@ def assembleBackend (backend, frontends, versions): | |||
85 | #==================================================================== | 85 | #==================================================================== |
86 | 86 | ||
87 | def build (settings, repository): | 87 | def 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(".", "_") |
@@ -147,12 +147,15 @@ def main (): | |||
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: |