From b9ff247eefa526e4618c828f176dafd3de64a061 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 26 Nov 2019 11:42:01 -0700 Subject: [PATCH] scripts/metadata2html.py, scripts/ccpp_prebuild.py: change logic around basedir/builddir argument, use default value from CCPP prebuild config if not provided on the command line (ccpp_prebuild.py), always use default value from CCPP prebuild config (metadata2html.py) --- scripts/ccpp_prebuild.py | 9 ++++++++- scripts/metadata2html.py | 18 ++++++++++-------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/scripts/ccpp_prebuild.py b/scripts/ccpp_prebuild.py index d7606289..fda3c7ba 100755 --- a/scripts/ccpp_prebuild.py +++ b/scripts/ccpp_prebuild.py @@ -30,7 +30,7 @@ parser.add_argument('--debug', action='store_true', help='enable debugging output', default=False) parser.add_argument('--static', action='store_true', help='enable a static build for a given suite definition file', default=False) parser.add_argument('--suites', action='store', help='suite definition files to use (comma-separated, for static build only, without path)', default='') -parser.add_argument('--builddir', action='store', help='relative path to CCPP build directory', required=False, default='.') +parser.add_argument('--builddir', action='store', help='relative path to CCPP build directory', required=False, default=None) # BASEDIR is the current directory where this script is executed BASEDIR = os.getcwd() @@ -71,6 +71,13 @@ def import_config(configfile, builddir): sys.path.append(configpath) ccpp_prebuild_config = importlib.import_module(configmodule) + # If the build directory for running ccpp_prebuild.py is not + # specified as command line argument, use value from config + if not builddir: + builddir = os.path.join(BASEDIR, ccpp_prebuild_config.DEFAULT_BUILD_DIR) + logging.info('Build directory not specified on command line, ' + \ + 'use "{}" from CCPP prebuild config'.format(ccpp_prebuild_config.DEFAULT_BUILD_DIR)) + # Definitions in host-model dependent CCPP prebuild config script config['variable_definition_files'] = ccpp_prebuild_config.VARIABLE_DEFINITION_FILES config['scheme_files'] = ccpp_prebuild_config.SCHEME_FILES diff --git a/scripts/metadata2html.py b/scripts/metadata2html.py index ab0af2d5..148a081e 100755 --- a/scripts/metadata2html.py +++ b/scripts/metadata2html.py @@ -21,9 +21,6 @@ help='path to CCPP prebuild configuration file') method.add_argument('--metafile', '-m', action='store', help='name of metadata file to convert (requires -o)') -parser.add_argument('--basedir', '-b', action='store', - help='relative path to CCPP directory', - required=False, default='.') parser.add_argument('--outputdir', '-o', action='store', help='directory where to write the html files', required='--metafile' in sys.argv or '-m' in sys.argv) @@ -41,11 +38,10 @@ def parse_arguments(): args = parser.parse_args() config = args.config filename = args.metafile - basedir = args.basedir outdir = args.outputdir - return (config, filename, outdir, basedir) + return (config, filename, outdir) -def import_config(configfile, basedir, logger): +def import_config(configfile, logger): """Import the configuration from a given configuration file""" if not os.path.isfile(configfile): @@ -58,6 +54,12 @@ def import_config(configfile, basedir, logger): sys.path.append(configpath) ccpp_prebuild_config = importlib.import_module(configmodule) + # Get the base directory for running metadata2html.py from + # the default build directory value in the CCPP prebuild config + basedir = os.path.join(os.getcwd(), ccpp_prebuild_config.DEFAULT_BUILD_DIR) + logger.info('Relative path to CCPP directory from CCPP prebuild config: {}'.format( + ccpp_prebuild_config.DEFAULT_BUILD_DIR)) + config = {} # Definitions in host-model dependent CCPP prebuild config script config['variable_definition_files'] = ccpp_prebuild_config.VARIABLE_DEFINITION_FILES @@ -106,9 +108,9 @@ def main(): logger = init_log('metadata2html') set_log_level(logger, logging.INFO) # Convert metadata file - (configfile, filename, outdir, basedir) = parse_arguments() + (configfile, filename, outdir) = parse_arguments() if configfile: - config = import_config(configfile, basedir, logger) + config = import_config(configfile, logger) filenames = get_metadata_files_from_config(config, logger) outdir = get_output_directory_from_config(config, logger) for filename in filenames: