#!/usr/bin/env python3

# Copyright (C) 2020  Matthew "strager" Glazar
# See end of file for extended copyright information.

import os
import subprocess
import re
import pathlib


def main():
    qljs_dir = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
    os.chdir(qljs_dir)

    subprocess.check_output(
        [
            "asciidoctor",
            "-b",
            "manpage",
            "-D",
            "man/",
            "-o",
            "quick-lint-js.1",
            "cli.adoc",
        ]
    )
    subprocess.check_output(
        [
            "asciidoctor",
            "-b",
            "manpage",
            "-D",
            "man/",
            "-o",
            "quick-lint-js.config.5",
            "config.adoc",
        ]
    )

    process_man(pathlib.Path("man/quick-lint-js.1"))
    process_man(pathlib.Path("man/quick-lint-js.config.5"))


def process_man(file_path):
    contents = file_path.read_text()

    top = """.\\" Copyright (C) 2020  Matthew "strager" Glazar
.\\" See end of file for extended copyright information.
.\\" This file was generated using generate-man-pages.
.
.\\" Manual page for the 'man' utility.
.
.
"""
    bottom = """

.\\" quick-lint-js finds bugs in JavaScript programs.
.\\" Copyright (C) 2020  Matthew "strager" Glazar
.\\"
.\\" This file is part of quick-lint-js.
.\\"
.\\" quick-lint-js is free software: you can redistribute it and/or modify
.\\" it under the terms of the GNU General Public License as published by
.\\" the Free Software Foundation, either version 3 of the License, or
.\\" (at your option) any later version.
.\\"
.\\" quick-lint-js is distributed in the hope that it will be useful,
.\\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\\" GNU General Public License for more details.
.\\"
.\\" You should have received a copy of the GNU General Public License
.\\" along with quick-lint-js.  If not, see <https://www.gnu.org/licenses/>.
"""
    contents = top + contents + bottom

    file_path.write_text(contents)


if __name__ == "__main__":
    main()

# quick-lint-js finds bugs in JavaScript programs.
# Copyright (C) 2020  Matthew "strager" Glazar
#
# This file is part of quick-lint-js.
#
# quick-lint-js is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# quick-lint-js is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with quick-lint-js.  If not, see <https://www.gnu.org/licenses/>.
