diff --git a/src/fosslight_dependency/_package_manager.py b/src/fosslight_dependency/_package_manager.py index 946792b3..bfd1e0e7 100644 --- a/src/fosslight_dependency/_package_manager.py +++ b/src/fosslight_dependency/_package_manager.py @@ -354,11 +354,12 @@ def check_license_name(license_txt, is_filepath=False): def change_file_mode(filepath, mode=''): - current_mode = os.stat(filepath).st_mode + current_mode = '' if not os.path.exists(filepath): logger.debug(f"The file{filepath} does not exist.") else: + current_mode = os.stat(filepath).st_mode if not mode: new_mode = current_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH else: diff --git a/src/fosslight_dependency/package_manager/Maven.py b/src/fosslight_dependency/package_manager/Maven.py index 1fbf317a..a3fe9397 100644 --- a/src/fosslight_dependency/package_manager/Maven.py +++ b/src/fosslight_dependency/package_manager/Maven.py @@ -134,15 +134,17 @@ def clean_run_maven_plugin_output(self): def run_maven_plugin(self): logger.info('Run maven license scanning plugin with temporary pom.xml') + current_mode = '' if os.path.isfile('mvnw') or os.path.isfile('mvnw.cmd'): if self.platform == const.WINDOWS: cmd_mvn = "mvnw.cmd" else: cmd_mvn = "./mvnw" + current_mode = change_file_mode(cmd_mvn) else: cmd_mvn = "mvn" cmd = f"{cmd_mvn} license:aggregate-download-licenses" - current_mode = change_file_mode(cmd_mvn) + ret = subprocess.call(cmd, shell=True) if ret != 0: logger.error(f"Failed to run maven plugin: {cmd}") @@ -159,7 +161,8 @@ def run_maven_plugin(self): except Exception as e: logger.error(f"Failed to run '{cmd}': {e}") self.set_direct_dependencies(False) - change_file_mode(cmd_mvn, current_mode) + if current_mode: + change_file_mode(cmd_mvn, current_mode) def create_dep_stack(self, dep_line): dep_stack = []