Files
linux-kernel-module-cheat/build-doc
2019-06-07 00:00:00 +00:00

48 lines
1.4 KiB
Python
Executable File

#!/usr/bin/env python3
import re
import common
from shell_helpers import LF
import os
import subprocess
class Main(common.LkmcCliFunction):
def __init__(self):
super().__init__(
defaults = {
'show_time': False,
},
description='''\
https://github.com/cirosantilli/linux-kernel-module-cheat#build-the-documentation
''',
)
def timed_main(self):
asciidoctor_dir = os.path.join(self.env['root_dir'], 'asciidoctor')
exit_status = self.sh.run_cmd(
[
'asciidoctor', LF,
'--failure-level', 'info', LF,
'--require', os.path.join(asciidoctor_dir, 'link-target-up.rb'), LF,
'--out-file', self.env['readme_out'], LF,
'--trace', LF,
'--verbose', LF,
self.env['readme'], LF,
],
out_file=self.env['build_doc_log'],
)
external_link_re = re.compile('^https?://')
for link in subprocess.check_output([
os.path.join(asciidoctor_dir, 'extract-link-targets'),
self.env['readme']
]).decode().splitlines():
if not external_link_re.match(link):
if not os.path.lexists(link):
print('error: broken link: ' + link)
exit_status = 1
return exit_status
if __name__ == '__main__':
Main().cli()