Skip to content

Commit eed21c7

Browse files
authored
Merge pull request #145 from fosslight/skip_pkg_dir
Skip merge if path includes package dir
2 parents fb938af + 9e352b4 commit eed21c7

File tree

4 files changed

+25
-29
lines changed

4 files changed

+25
-29
lines changed

requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ progress
55
pyyaml
66
beautifulsoup4
77
fosslight_util>=2.1.12,<3.0.0
8-
fosslight_source>=2.1.4,<3.0.0
8+
fosslight_source>=2.1.12,<3.0.0
99
fosslight_dependency>=4.1.3,<5.0.0
10-
fosslight_binary>=5.1.2,<6.0.0
10+
fosslight_binary>=5.1.9,<6.0.0
1111
fosslight_prechecker>=4.0.0,<5.0.0

src/fosslight_scanner/common.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -168,10 +168,12 @@ def correct_scanner_result(all_scan_item):
168168
try:
169169
remove_src_idx_list = []
170170
for idx_src, src_fileitem in enumerate(src_fileitems):
171-
src_fileitem.exclude = check_exclude_dir(src_fileitem.source_name_or_path, src_fileitem.exclude)
171+
if check_package_dir(src_fileitem.source_name_or_path):
172+
continue
172173
dup_flag = False
173174
for bin_fileitem in bin_fileitems:
174-
bin_fileitem.exclude = check_exclude_dir(bin_fileitem.source_name_or_path, bin_fileitem.exclude)
175+
if check_package_dir(bin_fileitem.source_name_or_path):
176+
continue
175177
if src_fileitem.source_name_or_path == bin_fileitem.source_name_or_path:
176178
dup_flag = True
177179
src_all_licenses_non_empty = all(oss_item.license for oss_item in src_fileitem.oss_items)
@@ -202,14 +204,12 @@ def correct_scanner_result(all_scan_item):
202204
return all_scan_item
203205

204206

205-
def check_exclude_dir(source_name_or_path, file_item_exclude):
206-
if file_item_exclude:
207-
return True
208-
_exclude_dirs = ["venv", "node_modules", "Pods", "Carthage"]
209-
exclude = False
207+
def check_package_dir(source_name_or_path):
208+
_package_dirs = ["venv", "node_modules", "Pods", "Carthage"]
209+
is_pkg = False
210210

211-
for exclude_dir in _exclude_dirs:
212-
if exclude_dir in source_name_or_path.split(os.path.sep):
213-
exclude = True
211+
for package_dir in _package_dirs:
212+
if package_dir in source_name_or_path.split(os.path.sep):
213+
is_pkg = True
214214
break
215-
return exclude
215+
return is_pkg

src/fosslight_scanner/fosslight_scanner.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
from fosslight_util.timer_thread import TimerThread
2626
import fosslight_util.constant as constant
2727
from fosslight_util.output_format import check_output_formats_v2
28-
from fosslight_prechecker._precheck import run_lint as prechecker_lint
2928
from fosslight_util.cover import CoverItem
3029
from fosslight_util.oss_item import ScannerItem
3130
from fosslight_util.output_format import write_output_file

tests/test_common.py

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import os
88
import pytest
9-
from fosslight_scanner.common import copy_file, run_analysis, call_analysis_api, check_exclude_dir, \
9+
from fosslight_scanner.common import copy_file, run_analysis, call_analysis_api, check_package_dir, \
1010
create_scancodejson, correct_scanner_result
1111

1212

@@ -172,24 +172,21 @@ def __init__(self, file_items):
172172
"FOSSLIGHT_BINARY": [bin_file_item]
173173
})
174174

175-
def mock_check_exclude_dir(source_name_or_path, file_item_exclude):
176-
return file_item_exclude
177-
178-
monkeypatch.setattr("fosslight_scanner.common.check_exclude_dir", mock_check_exclude_dir)
179175
# When
180176
result = correct_scanner_result(all_scan_item)
181177
# Then
182178
assert len(result.file_items["FOSSLIGHT_BINARY"][0].oss_items) == 1
183179

184180

185-
@pytest.mark.parametrize("source_name_or_path, file_item_exclude, expected", [
186-
("project/venv/file.py", False, True),
187-
("project/node_modules/file.js", False, True),
188-
("project/Pods/file.m", False, True),
189-
("project/Carthage/file.swift", False, True),
190-
("project/src/file.py", False, False),
191-
("project/src/file.py", True, True),
192-
("project/venv/file.py", True, True),
181+
@pytest.mark.parametrize("source_name_or_path, expected", [
182+
("project/venv/file.py", True),
183+
("project/node_modules/file.js", True),
184+
("project/Pods/file.m", True),
185+
("project/Carthage/file.swift", True),
186+
("project/src/file.py", False),
187+
("project/venv/file.py", True),
193188
])
194-
def test_check_exclude_dir(source_name_or_path, file_item_exclude, expected):
195-
assert check_exclude_dir(source_name_or_path, file_item_exclude) == expected
189+
def test_check_package_dir(source_name_or_path, expected):
190+
result = check_package_dir(source_name_or_path)
191+
# Then
192+
assert result == expected

0 commit comments

Comments
 (0)