Skip to content

Commit 8732def

Browse files
committed
Enable pub detection in scans
Signed-off-by: Philippe Ombredanne <[email protected]>
1 parent a303e54 commit 8732def

File tree

4 files changed

+43
-0
lines changed

4 files changed

+43
-0
lines changed

src/packagedcode/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
from packagedcode import nuget
2727
from packagedcode import opam
2828
from packagedcode import phpcomposer
29+
from packagedcode import pubspec
2930
from packagedcode import pypi
3031
from packagedcode import readme
3132
from packagedcode import rpm
@@ -82,6 +83,7 @@
8283
win_pe.WindowsExecutable,
8384
readme.ReadmePackage,
8485
build.MetadataBzl,
86+
pubspec.PubspecPackage,
8587
]
8688

8789
PACKAGES_BY_TYPE = {cls.default_type: cls for cls in PACKAGE_TYPES}

tests/packagedcode/data/plugin/help.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,12 @@ Package: pods
222222
metafiles: *.podspec
223223
extensions: .podspec
224224

225+
--------------------------------------------
226+
Package: pubspec
227+
class: packagedcode.pubspec:PubspecPackage
228+
metafiles: pubspec.yaml
229+
extensions: .yaml
230+
225231
--------------------------------------------
226232
Package: pypi
227233
class: packagedcode.pypi:PythonPackage
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"headers": [
3+
{
4+
"tool_name": "scancode-toolkit",
5+
"options": {
6+
"input": "<path>",
7+
"--json": "<file>",
8+
"--package": true,
9+
"--processes": "-1",
10+
"--strip-root": true
11+
},
12+
"notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
13+
"message": null,
14+
"errors": [],
15+
"extra_data": {
16+
"files_count": 1
17+
}
18+
}
19+
],
20+
"files": [
21+
{
22+
"path": "authors-pubspec.yaml",
23+
"type": "file",
24+
"packages": [],
25+
"scan_errors": []
26+
}
27+
]
28+
}

tests/packagedcode/test_plugin.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,3 +139,10 @@ def test_package_command_scan_cran_r_package(self):
139139
expected_file = self.get_test_loc('plugin/cran-package-expected.json')
140140
run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file])
141141
check_json_scan(expected_file, result_file, regen=False)
142+
143+
def test_package_command_scan_pubspec_package(self):
144+
test_dir = self.get_test_loc('pubspec/specs/authors-pubspec.yaml')
145+
result_file = self.get_temp_file('json')
146+
expected_file = self.get_test_loc('plugin/pubspec-expected.json', must_exist=False)
147+
run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file])
148+
check_json_scan(expected_file, result_file, regen=False)

0 commit comments

Comments
 (0)