ExoRepo/src/ExoRepo/MetacelloCommonMCSpecLoader...

16 lines
634 B
Smalltalk

Extension { #name : #MetacelloCommonMCSpecLoader }
{ #category : #'*ExoRepo' }
MetacelloCommonMCSpecLoader >> linearLoadPackageSpecs: packageSpecs repositories: repositories [
| gofer sanitizedRepos |
gofer := MetacelloGofer new.
sanitizedRepos := OrderedCollection withAll: repositories.
sanitizedRepos := sanitizedRepos collect: [:each |
(each class = MCHttpRepository and: [each location beginsWith: 'gitea'])
ifTrue: [ MCRepository fromUrl: each location ] ifFalse: [ each ]
].
sanitizedRepos do: [:repo | gofer repository: repo ].
packageSpecs do: [:pkg | pkg loadUsing: self gofer: gofer ].
]