Skip to content

Commit 78547be

Browse files
committed
Update assemble methods
* Update assemble methods for alpine and debian to yield Packages first before other items Signed-off-by: Jono Yang <jyang@nexb.com>
1 parent dc69bc6 commit 78547be

File tree

2 files changed

+27
-20
lines changed

2 files changed

+27
-20
lines changed

src/packagedcode/alpine.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,6 @@ def assemble(cls, package_data, resource, codebase, package_adder):
8181

8282
package.license_expression = cls.compute_normalized_license(package)
8383

84-
85-
dependent_packages = package_data.dependencies
86-
if dependent_packages:
87-
yield from models.Dependency.from_dependent_packages(
88-
dependent_packages=dependent_packages,
89-
datafile_path=resource.path,
90-
datasource_id=package_data.datasource_id,
91-
package_uid=package_uid,
92-
)
93-
9484
root_path = Path(root_resource.path)
9585
# a file ref extends from the root of the filesystem
9686
file_references_by_path = {
@@ -118,6 +108,15 @@ def assemble(cls, package_data, resource, codebase, package_adder):
118108
yield package
119109
yield from resources
120110

111+
dependent_packages = package_data.dependencies
112+
if dependent_packages:
113+
yield from models.Dependency.from_dependent_packages(
114+
dependent_packages=dependent_packages,
115+
datafile_path=resource.path,
116+
datasource_id=package_data.datasource_id,
117+
package_uid=package_uid,
118+
)
119+
121120

122121
class AlpineApkbuildHandler(models.DatafileHandler):
123122
datasource_id = 'alpine_apkbuild'

src/packagedcode/debian.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -241,14 +241,18 @@ def assemble(cls, package_data, resource, codebase, package_adder):
241241
package_file_references.extend(package_data.file_references)
242242
package_uid = package.package_uid
243243

244+
dependencies = []
244245
dependent_packages = package_data.dependencies
245246
if dependent_packages:
246-
yield from models.Dependency.from_dependent_packages(
247-
dependent_packages=dependent_packages,
248-
datafile_path=resource.path,
249-
datasource_id=package_data.datasource_id,
250-
package_uid=package_uid,
247+
deps = list(
248+
models.Dependency.from_dependent_packages(
249+
dependent_packages=dependent_packages,
250+
datafile_path=resource.path,
251+
datasource_id=package_data.datasource_id,
252+
package_uid=package_uid,
253+
)
251254
)
255+
dependencies.extend(deps)
252256

253257
# Multi-Arch can be: "foreign", "same", "allowed", "all", "optional" or
254258
# empty/non-present. See https://wiki.debian.org/Multiarch/HOWTO
@@ -312,12 +316,15 @@ def assemble(cls, package_data, resource, codebase, package_adder):
312316
# yield possible dependencies
313317
dependent_packages = package_data.dependencies
314318
if dependent_packages:
315-
yield from models.Dependency.from_dependent_packages(
316-
dependent_packages=dependent_packages,
317-
datafile_path=res.path,
318-
datasource_id=package_data.datasource_id,
319-
package_uid=package_uid,
319+
deps = list(
320+
models.Dependency.from_dependent_packages(
321+
dependent_packages=dependent_packages,
322+
datafile_path=res.path,
323+
datasource_id=package_data.datasource_id,
324+
package_uid=package_uid,
325+
)
320326
)
327+
dependencies.extend(deps)
321328

322329
resources.append(res)
323330

@@ -353,6 +360,7 @@ def assemble(cls, package_data, resource, codebase, package_adder):
353360

354361
yield package
355362
yield from resources
363+
yield from dependencies
356364

357365

358366
class DebianDistrolessInstalledDatabaseHandler(models.DatafileHandler):

0 commit comments

Comments
 (0)