Skip to content

Commit 6b3372d

Browse files
committed
Create write_purls_to_repo #660
Signed-off-by: Jono Yang <[email protected]>
1 parent b92a8bd commit 6b3372d

File tree

2 files changed

+34
-20
lines changed

2 files changed

+34
-20
lines changed

minecode_pipeline/pipes/__init__.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,31 @@
66
# See https://github.com/aboutcode-org/purldb for support or download.
77
# See https://aboutcode.org for more information about nexB OSS projects.
88
#
9+
10+
from aboutcode import hashid
11+
from scanpipe.pipes import federatedcode
12+
13+
14+
def write_purls_to_repo(repo, package, packages, push_commit=False):
15+
# save purls to yaml
16+
ppath = hashid.get_package_purls_yml_file_path(package)
17+
purls = [p.purl for p in packages]
18+
federatedcode.write_data_as_yaml(
19+
base_path=repo.working_dir,
20+
file_path=ppath,
21+
data=purls,
22+
)
23+
24+
change_type = "Add" if ppath in repo.untracked_files else "Update"
25+
commit_message = f"""\
26+
{change_type} list of available {package} versions
27+
"""
28+
federatedcode.commit_changes(
29+
repo=repo,
30+
files_to_commit=[ppath],
31+
commit_message=commit_message,
32+
)
33+
34+
# see if we should push
35+
if push_commit:
36+
federatedcode.push_changes(repo=repo)

minecode_pipeline/pipes/maven.py

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from collections import namedtuple
2222
from scanpipe.pipes.fetch import fetch_http
2323
from scanpipe.pipes import federatedcode
24+
from minecode_pipeline.pipes import write_purls_to_repo
2425
from jawa.util.utf import decode_modified_utf8
2526
from packagedcode.maven import get_urls
2627
from packagedcode.maven import build_filename
@@ -673,29 +674,14 @@ def collect_packages_from_maven(commits_per_push=10, logger=None):
673674
if not prev_package:
674675
prev_package = current_package
675676
elif prev_package != current_package:
677+
push_commit = not bool(i % commits_per_push)
676678
# save purls to yaml
677-
ppath = hashid.get_package_purls_yml_file_path(prev_package)
678-
purls = [package.purl for package in current_packages]
679-
federatedcode.write_data_as_yaml(
680-
base_path=repo.working_dir,
681-
file_path=ppath,
682-
data=purls,
683-
)
684-
685-
change_type = "Add" if ppath in repo.untracked_files else "Update"
686-
commit_message = f"""\
687-
{change_type} list of available {current_package} versions
688-
"""
689-
federatedcode.commit_changes(
679+
write_purls_to_repo(
690680
repo=repo,
691-
files_to_commit=[ppath],
692-
commit_message=commit_message,
681+
package=prev_package,
682+
packages=current_packages,
683+
push_commit=push_commit
693684
)
694-
695-
# see if we should push
696-
if not bool(i % commits_per_push):
697-
federatedcode.push_changes(repo=repo)
698-
699685
current_packages = []
700686
prev_package = current_package
701687
current_packages.append(package)

0 commit comments

Comments
 (0)