77 mark_repo_as_processed ,
88 release_repo ,
99 update_last_processed_commit ,
10+ update_repository_license ,
1011)
1112from crowdgit .enums import RepositoryState
1213from crowdgit .errors import (
2223from crowdgit .services import (
2324 CloneService ,
2425 CommitService ,
26+ LicenseService ,
2527 MaintainerService ,
2628 QueueService ,
2729 SoftwareValueService ,
@@ -46,13 +48,15 @@ def __init__(
4648 software_value_service : SoftwareValueService ,
4749 vulnerability_scanner_service : VulnerabilityScannerService ,
4850 maintainer_service : MaintainerService ,
51+ license_service : LicenseService ,
4952 queue_service : QueueService ,
5053 ):
5154 self .clone_service = clone_service
5255 self .commit_service = commit_service
5356 self .software_value_service = software_value_service
5457 self .vulnerability_scanner_service = vulnerability_scanner_service
5558 self .maintainer_service = maintainer_service
59+ self .license_service = license_service
5660 self .queue_service = queue_service
5761 self ._shutdown = False
5862
@@ -159,6 +163,7 @@ def _bind_repository_context(self, repository: Repository, repo_name: str) -> No
159163 (self .maintainer_service , "maintainer_processing" ),
160164 (self .software_value_service , "software_value_processing" ),
161165 (self .vulnerability_scanner_service , "vulnerability_scan_processing" ),
166+ (self .license_service , "license_detection" ),
162167 (self .queue_service , "queue_service" ),
163168 ]
164169
@@ -174,6 +179,7 @@ def _reset_all_contexts(self) -> None:
174179 self .maintainer_service ,
175180 self .software_value_service ,
176181 self .vulnerability_scanner_service ,
182+ self .license_service ,
177183 self .queue_service ,
178184 ]
179185
@@ -236,6 +242,8 @@ async def _process_single_repository(self, repository: Repository):
236242 repository .id , batch_info .repo_path , repository .url
237243 )
238244 await self .maintainer_service .process_maintainers (repository , batch_info )
245+ license_spdx = await self .license_service .detect (batch_info .repo_path )
246+ await update_repository_license (repository .id , license_spdx )
239247 await self .commit_service .process_single_batch_commits (
240248 repository ,
241249 batch_info ,
0 commit comments