Skip to content

Commit 3312a5c

Browse files
committed
Add temporary execute mode for wrapper
Signed-off-by: jiyeong.seok <[email protected]>
1 parent 82e7a53 commit 3312a5c

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

src/fosslight_dependency/_package_manager.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import base64
1212
import subprocess
1313
import shutil
14+
import stat
1415
import fosslight_util.constant as constant
1516
import fosslight_dependency.constant as const
1617
from packageurl.contrib import url2purl
@@ -116,6 +117,7 @@ def run_gradle_task(self):
116117
if ret_plugin:
117118
logger.warning('Also it cannot run android-dependency-scanning plugin.')
118119
if ret_task:
120+
current_mode = change_file_mode(cmd_gradle)
119121
if ret_alldeps:
120122
cmd = f"{cmd_gradle} allDeps"
121123
try:
@@ -145,6 +147,7 @@ def run_gradle_task(self):
145147
except Exception as e:
146148
logger.error(f'Fail to run {cmd}: {e}')
147149
ret_task = False
150+
change_file_mode(cmd_gradle, current_mode)
148151

149152
if os.path.isfile(gradle_backup):
150153
os.remove(const.SUPPORT_PACKAE.get(self.package_manager_name))
@@ -422,3 +425,18 @@ def check_and_run_license_scanner(platform, license_scanner_bin, file_dir):
422425
license_name = ""
423426

424427
return license_name
428+
429+
430+
def change_file_mode(filepath, mode=''):
431+
current_mode = os.stat(filepath).st_mode
432+
433+
if not os.path.exists(filepath):
434+
logger.debug(f"The file{filepath} does not exist.")
435+
else:
436+
if not mode:
437+
new_mode = current_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
438+
else:
439+
new_mode = mode
440+
os.chmod(filepath, new_mode)
441+
logger.debug(f"File mode of {filepath} has been changed to {oct(new_mode)}.")
442+
return current_mode

src/fosslight_dependency/package_manager/Maven.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import fosslight_util.constant as constant
1414
import fosslight_dependency.constant as const
1515
from fosslight_dependency._package_manager import PackageManager
16-
from fosslight_dependency._package_manager import version_refine, get_url_to_purl
16+
from fosslight_dependency._package_manager import version_refine, get_url_to_purl, change_file_mode
1717
from fosslight_dependency.dependency_item import DependencyItem, change_dependson_to_purl
1818
from fosslight_util.oss_item import OssItem
1919

@@ -142,7 +142,7 @@ def run_maven_plugin(self):
142142
else:
143143
cmd_mvn = "mvn"
144144
cmd = f"{cmd_mvn} license:aggregate-download-licenses"
145-
145+
current_mode = change_file_mode(cmd_mvn)
146146
ret = subprocess.call(cmd, shell=True)
147147
if ret != 0:
148148
logger.error(f"Failed to run maven plugin: {cmd}")
@@ -159,6 +159,7 @@ def run_maven_plugin(self):
159159
except Exception as e:
160160
logger.error(f"Failed to run '{cmd}': {e}")
161161
self.set_direct_dependencies(False)
162+
change_file_mode(cmd_mvn, current_mode)
162163

163164
def create_dep_stack(self, dep_line):
164165
dep_stack = []

0 commit comments

Comments
 (0)