Skip to content

Commit 837d0d1

Browse files
committed
Push commits at regular intervals
Signed-off-by: Jono Yang <[email protected]>
1 parent 8f1f9ac commit 837d0d1

File tree

1 file changed

+25
-14
lines changed

1 file changed

+25
-14
lines changed

minecode_pipeline/pipes/maven.py

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
from packagedcode.maven import build_url
2828
from packagedcode.models import PackageData
2929

30+
3031
logger = logging.getLogger(__name__)
3132
logger.setLevel(logging.INFO)
3233

@@ -657,19 +658,21 @@ def get_packages(self, content=None):
657658
yield current_purl, package
658659

659660

660-
def collect_packages_from_maven2(project, logger):
661+
def collect_packages_from_maven(commits_per_push=10, logger=None):
662+
# check out repo
663+
repo = federatedcode.clone_repository(
664+
repo_url="https://github.com/JonoYang/test.git",
665+
logger=logger,
666+
)
667+
668+
# download and iterate through maven nexus index
661669
maven_nexus_collector = MavenNexusCollector()
662670
prev_package = None
663671
current_packages = []
664-
for current_package, package in maven_nexus_collector.get_packages():
672+
for i, (current_package, package) in enumerate(maven_nexus_collector.get_packages(), start=1):
665673
if not prev_package:
666674
prev_package = current_package
667675
elif prev_package != current_package:
668-
# check out repo
669-
repo = federatedcode.clone_repository(
670-
repo_url="https://github.com/JonoYang/test.git",
671-
logger=logger,
672-
)
673676
# save purls to yaml
674677
ppath = hashid.get_package_purls_yml_file_path(prev_package)
675678
purls = [package.purl for package in current_packages]
@@ -678,20 +681,28 @@ def collect_packages_from_maven2(project, logger):
678681
file_path=ppath,
679682
data=purls,
680683
)
681-
# commit and push
682-
federatedcode.commit_and_push_changes(
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(
683690
repo=repo,
684-
file_to_commit=ppath,
685-
purl=prev_package,
686-
logger=logger,
691+
files_to_commit=[ppath],
692+
commit_message=commit_message,
687693
)
688-
# delete local clone
689-
federatedcode.delete_local_clone(repo)
694+
695+
# see if we should push
696+
if not bool(i % commits_per_push):
697+
federatedcode.push_changes(repo=repo)
690698

691699
current_packages = []
692700
prev_package = current_package
693701
current_packages.append(package)
694702

703+
# delete local clone
704+
federatedcode.delete_local_clone(repo)
705+
695706

696707
def write_file(base_path, file_path, data):
697708
"""

0 commit comments

Comments
 (0)