res = os.path.realpath(os.path.join(*args))
if verbose:
if True: # ".pyconf" in res:
- logger.info("osJoin %-80s in %s" % (res, CALN.caller_name()))
+ logger.info("osJoin %-80s in %s" % (res, CALN.caller_name(1)))
return res
class ConfigOpener:
if cfg.LOCAL.archive_dir == "default":
cfg.LOCAL.archive_dir = os.path.abspath( osJoin(cfg.VARS.salometoolsway, "..", "ARCHIVES"))
+ # if the sat tag was not set permanently by user
+ if cfg.LOCAL.tag == None:
+ # get the tag with git, and store it
+ sat_version=src.system.git_describe(cfg.VARS.salometoolsway)
+ if sat_version == False:
+ sat_version=cfg.INTERNAL.sat_version
+ cfg.LOCAL.tag=sat_version
+
+
# apply overwrite from command line if needed
for rule in self.get_command_line_overrides(options, ["LOCAL"]):
exec('cfg.' + rule) # this cannot be factorized because of the exec
"The projects definition\n")
for project_pyconf_path in cfg.PROJECTS.project_file_paths:
+ if not os.path.isabs(project_pyconf_path):
+ # for a relative path (archive case) we complete with sat path
+ project_pyconf_path = os.path.join(cfg.VARS.salometoolsway,
+ project_pyconf_path)
if not os.path.exists(project_pyconf_path):
msg = _("WARNING: The project file %s cannot be found. "
"It will be ignored\n" % project_pyconf_path)
projects_cfg.PROJECTS.projects[project_name]=project_cfg
projects_cfg.PROJECTS.projects[project_name]["file_path"] = \
project_pyconf_path
+ # store the project tag if any
+ product_project_git_tag = src.system.git_describe(os.path.dirname(project_pyconf_path))
+ if product_project_git_tag:
+ projects_cfg.PROJECTS.projects[project_name]["git_tag"] = product_project_git_tag
+ else:
+ projects_cfg.PROJECTS.projects[project_name]["git_tag"] = "unknown"
merger.merge(cfg, projects_cfg)
cfg.PATHS.PRODUCTPATH.append(cfg.VARS.personal_products_dir, "")
cfg.PATHS["ARCHIVEPATH"] = src.pyconf.Sequence(cfg.PATHS)
cfg.PATHS.ARCHIVEPATH.append(cfg.VARS.personal_archives_dir, "")
+ cfg.PATHS["ARCHIVEFTP"] = src.pyconf.Sequence(cfg.PATHS)
cfg.PATHS["JOBPATH"] = src.pyconf.Sequence(cfg.PATHS)
cfg.PATHS.JOBPATH.append(cfg.VARS.personal_jobs_dir, "")
cfg.PATHS["MACHINEPATH"] = src.pyconf.Sequence(cfg.PATHS)
cfg.PATHS.MACHINEPATH.append(cfg.VARS.personal_machines_dir, "")
+ cfg.PATHS["LICENCEPATH"] = src.pyconf.Sequence(cfg.PATHS)
# initialise the path with local directory
cfg.PATHS["ARCHIVEPATH"].append(cfg.LOCAL.archive_dir, "")
for PATH in ["APPLICATIONPATH",
"PRODUCTPATH",
"ARCHIVEPATH", #comment this for default archive #8646
+ "ARCHIVEFTP",
"JOBPATH",
- "MACHINEPATH"]:
+ "MACHINEPATH",
+ "LICENCEPATH"]:
if PATH not in cfg.PROJECTS.projects[project]:
continue
cfg.PATHS[PATH].append(cfg.PROJECTS.projects[project][PATH], "")
product_file_path = src.find_file_in_lpath(product_file_name, cfg.PATHS.PRODUCTPATH)
if product_file_path:
products_dir = os.path.dirname(product_file_path)
+ # for a relative path (archive case) we complete with sat path
+ if not os.path.isabs(products_dir):
+ products_dir = os.path.join(cfg.VARS.salometoolsway,
+ products_dir)
try:
prod_cfg = src.pyconf.Config(open(product_file_path),
PWD=("", products_dir))
check_path(pinfo.environ.env_script),
2)
+ # display run-time environment
zz = src.environment.SalomeEnviron(config,
src.fileEnviron.ScreenEnviron(logger),
False)