Fixing network issues while installing packages via delayed repeated attemps, following Kendrick readme instructions (https://is.gd/nusive)

This commit is contained in:
Offray Vladimir Luna Cárdenas 2022-08-10 16:56:57 -05:00
parent 4058186ae1
commit fe8962e1e7
1 changed files with 25 additions and 18 deletions

View File

@ -10,27 +10,34 @@ Class {
{ #category : #accessing }
ExoRepo >> load [
"I load the configuration of this package using a external Gitea repository."
"While more Git independient providers are implemented in Monticello, I will
use Iceberg to download the repository and load it from a local directory"
| localRepo repoName |
"Sometimes repoName and packageName are different, following Pharo's conventions.
For example the repoName can be MyPackage, while packageName can be My-Package"
| localRepo repoName count |
repoName := self repositoryName.
"Local and remote repo definition"
self local exists ifFalse: [
(IceRepositoryCreator new
location: self local;
remote: (IceGitRemote url: self repository asString, '.git');
createRepository)
register
].
"Package loading"
localRepo := 'gitlocal://', self local fullName.
^ Metacello new
repository: localRepo;
baseline: repoName;
load.
self local exists
ifFalse: [ (IceRepositoryCreator new
location: self local;
remote: (IceGitRemote url: self repository greaseString , '.git');
createRepository) register ].
localRepo := 'gitlocal://' , self local fullName.
count := 1.
[ true ]
whileTrue: [ [ ^ Metacello new
repository: localRepo;
baseline: repoName;
onConflictUseLoaded;
onWarningLog;
load ]
on: IceGenericError
do: [ :ex |
Notification
signal: (String with: Character cr) , ex description , (String with: Character cr)
, 'RETRYING ' , count greaseString.
(Delay forSeconds: 2) wait.
ex retry ].
count := count + 1 ]
]
{ #category : #accessing }