do not bother generating index.sgml unless desirable/necessary

This commit is contained in:
Martin A. Brown 2016-02-26 18:15:27 -08:00
parent 9ffdd1df5d
commit f739e365c0
1 changed files with 11 additions and 1 deletions

View File

@ -58,6 +58,10 @@ class DocbookSGML(BaseDoctype, SignatureChecker):
@depends(graph, chdir_output) @depends(graph, chdir_output)
def make_blank_indexsgml(self): def make_blank_indexsgml(self):
indexsgml = os.path.join(self.source.dirname, 'index.sgml')
self.indexsgml = os.path.isfile(indexsgml)
if self.indexsgml:
return True
'''generate an empty index.sgml file (in output dir)''' '''generate an empty index.sgml file (in output dir)'''
s = '''"{config.docbooksgml_collateindex}" \\ s = '''"{config.docbooksgml_collateindex}" \\
-N \\ -N \\
@ -68,6 +72,8 @@ class DocbookSGML(BaseDoctype, SignatureChecker):
@depends(graph, make_blank_indexsgml) @depends(graph, make_blank_indexsgml)
def make_data_indexsgml(self): def make_data_indexsgml(self):
'''collect document's index entries into a data file (HTML.index)''' '''collect document's index entries into a data file (HTML.index)'''
if self.indexsgml:
return True
s = '''"{config.docbooksgml_openjade}" \\ s = '''"{config.docbooksgml_openjade}" \\
-t sgml \\ -t sgml \\
-V html-index \\ -V html-index \\
@ -78,6 +84,8 @@ class DocbookSGML(BaseDoctype, SignatureChecker):
@depends(graph, make_data_indexsgml) @depends(graph, make_data_indexsgml)
def make_indexsgml(self): def make_indexsgml(self):
'''generate the final document index file (index.sgml)''' '''generate the final document index file (index.sgml)'''
if self.indexsgml:
return True
s = '''"{config.docbooksgml_collateindex}" \\ s = '''"{config.docbooksgml_collateindex}" \\
-g \\ -g \\
-t Index \\ -t Index \\
@ -90,6 +98,8 @@ class DocbookSGML(BaseDoctype, SignatureChecker):
@depends(graph, make_indexsgml) @depends(graph, make_indexsgml)
def move_indexsgml_into_source(self): def move_indexsgml_into_source(self):
'''move the generated index.sgml file into the source tree''' '''move the generated index.sgml file into the source tree'''
if self.indexsgml:
return True
indexsgml = os.path.join(self.source.dirname, 'index.sgml') indexsgml = os.path.join(self.source.dirname, 'index.sgml')
s = '''mv \\ s = '''mv \\
--no-clobber \\ --no-clobber \\
@ -100,7 +110,7 @@ class DocbookSGML(BaseDoctype, SignatureChecker):
logger.debug("%s created %s", self.source.stem, indexsgml) logger.debug("%s created %s", self.source.stem, indexsgml)
self.removals.append(indexsgml) self.removals.append(indexsgml)
return True return True
return os.path.exists(indexsgml) return False
@depends(graph, move_indexsgml_into_source) @depends(graph, move_indexsgml_into_source)
def cleaned_indexsgml(self): def cleaned_indexsgml(self):