eng/scripts/run_apiview.py (25 lines of code) (raw):

#!/usr/bin/env python # -------------------------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- # This script is used to execute apiview generation within a tox environment. Depending on which package is being executed against, # a failure may be suppressed. from subprocess import check_call, CalledProcessError import logging from util import run_check logging.getLogger().setLevel(logging.INFO) def _single_dir_apiview(mod): loop = 0 while True: try: check_call( [ "apistubgen", "--pkg-path", str(mod.absolute()), ] ) except CalledProcessError as e: if loop >= 2: # retry for maximum 3 times because sometimes the apistubgen has transient failure. logging.error("{} exited with apiview generation error {}".format(mod.stem, e.returncode)) return False else: loop += 1 continue return True if __name__ == "__main__": run_check("apiview", _single_dir_apiview, "APIView")