else: # if not tests module
# TODO: unconditional automake snippet for nontests modules
snippet = self.getAutomakeSnippet_Conditional()
- snippet = snippet.replace('\\\n', ' ')
+ snippet = constants.combine_lines(snippet)
pattern = compiler(
'^lib_SOURCES[\t ]*\\+=[\t ]*(.*?)$', re.S | re.M)
mentioned_files = pattern.findall(snippet)
if type(module) is not GLModule:
raise(TypeError('each module must be a GLModule instance'))
snippet = module.getAutomakeSnippet()
- snippet = snippet.replace('\\\n', '')
+ snippet = constants.remove_backslash_newline(snippet)
pattern = compiler(
'^lib_SOURCES[\t ]*\\+=[\t ]*(.*?)$', re.S | re.M)
files = pattern.findall(snippet)
path = joinpath(self.testdir, sourcebase, 'Makefile.am')
with codecs.open(path, 'rb', 'UTF-8') as file:
snippet = file.read()
+ snippet = constants.remove_backslash_newline(snippet)
cleaned_files = list()
tests_cleaned_files = list()
built_sources = list()
# Extract the value of "CLEANFILES += ..." and "MOSTLYCLEANFILES += ...".
regex_find = list()
- snippet = snippet.replace('\\\n', '')
pattern = compiler('^CLEANFILES[\t ]*\\+=(.*?)$', re.S | re.M)
regex_find += pattern.findall(snippet)
pattern = compiler('^MOSTLYCLEANFILES[\t ]*\\+=(.*?)$', re.S | re.M)
path = joinpath(self.testdir, testsbase, 'Makefile.am')
with codecs.open(path, 'rb', 'UTF-8') as file:
snippet = file.read()
+ snippet = constants.remove_backslash_newline(snippet)
# Extract the value of "CLEANFILES += ..." and "MOSTLYCLEANFILES += ...".
regex_find = list()
- snippet = snippet.replace('\\\n', '')
pattern = compiler('^CLEANFILES[\t ]*\\+=(.*?)$', re.S | re.M)
regex_find += pattern.findall(snippet)
pattern = compiler(
return(text)
+def remove_backslash_newline(text):
+ '''Given a multiline string text, join lines:
+ When a line ends in a backslash, remove the backslash and join the next
+ line to it.'''
+ return text.replace('\\\n', '')
+
+def combine_lines(text):
+ '''Given a multiline string text, join lines by spaces:
+ When a line ends in a backslash, remove the backslash and join the next
+ line to it, inserting a space between them.'''
+ return text.replace('\\\n', ' ')
+
+
__all__ += ['APP', 'DIRS', 'MODES', 'UTILS']