view scripts/build_sln_cache.py @ 4:ae0fb567f459

Report error but don't crash when a solution points to a missing project.
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 24 Oct 2019 11:15:37 -0700
parents 5d2c0db51914
children
line wrap: on
line source

import os.path
import logging
import argparse
from vsutil import SolutionCache


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('solution',
                        help="The path to the solution file")
    parser.add_argument('cache',
                        help="The path to the cache file")
    parser.add_argument('-v', '--verbose',
                        action='store_true')
    args = parser.parse_args()

    loglevel = logging.INFO
    if args.verbose:
        loglevel = logging.DEBUG
    logging.basicConfig(level=loglevel)
    logger = logging.getLogger()

    cache, loaded = SolutionCache.load_or_rebuild(args.solution, args.cache)
    if not loaded:
        total_items = sum([len(i) for i in cache.index.values()])
        logger.debug(f"Built cache with {total_items} items.")


if __name__ == '__main__':
    main()