Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- IceUnknownBranch(Object)>>doesNotUnderstand: #versionFor:
- IceSavedPackage>>latestVersion
- [ :package |
- GoferResolvedReference
- name: package latestVersion info name
- repository: self ] in IceMetacelloRepositoryAdapter>>goferReferences in Block: [ :package | ...
- Array(SequenceableCollection)>>collect:
- IceMetacelloRepositoryAdapter>>goferReferences
- [ aRepository goferReferences asSortedCollection asArray ] in MetacelloGofer(Gofer)>>basicReferencesIn: in Block: [ aRepository goferReferences asSortedCollection a...etc...
- BlockClosure>>on:do:
- MetacelloGofer(Gofer)>>basicReferencesIn:
- [ :cache | ^ cache at: aRepository put: (super basicReferencesIn: aRepository) ] in MetacelloGofer>>basicReferencesIn: in Block: [ :cache | ^ cache at: aRepository put: (super bas...etc...
- [ :dict |
- | cache |
- cache := dict at: cacheName ifAbsent: [ ].
- cache ~~ nil
- ifTrue: [ | value hasEntry |
- hasEntry := true.
- value := cache at: key ifAbsent: [ hasEntry := false ].
- hasEntry
- ifTrue: [ ^ value ] ]
- ifFalse: [ cache := cacheClass new.
- dict at: cacheName put: cache ].
- ^ aBlock value: cache ] in IceMetacelloPharoPlatform(MetacelloPlatform)>>stackCacheFor:cacheClass:at:doing: in Block: [ :dict | ...
- [ ^ aBlock value: dict ] in IceMetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary: in Block: [ ^ aBlock value: dict ]
- BlockClosure>>on:do:
- IceMetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
- IceMetacelloPharoPlatform(MetacelloPlatform)>>stackCacheFor:cacheClass:at:doing:
- MetacelloGofer>>basicReferencesIn:
- [ self basicReferencesIn: aRepository ] in MetacelloGofer(Gofer)>>allResolvedIn: in Block: [ self basicReferencesIn: aRepository ]
- [ self at: key put: aBlock value ] in Dictionary>>at:ifAbsentPut: in Block: [ self at: key put: aBlock value ]
- Dictionary>>at:ifAbsent:
- Dictionary>>at:ifAbsentPut:
- MetacelloGofer(Gofer)>>allResolvedIn:
- [ :repository | resolved addAll: (self allResolvedIn: repository) ] in MetacelloGofer(Gofer)>>allResolved in Block: [ :repository | resolved addAll: (self allResolved...etc...
- Array(SequenceableCollection)>>do:
- MetacelloGofer(Gofer)>>allResolved
- GoferPackageReference(GoferReference)>>resolveAllWith:
- MetacelloEnsureFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>resolvePackageSpecReferences:gofer:
- [ self resolvePackageSpecReferences: packageSpec gofer: gofer ] in MetacelloEnsureFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>retryingResolvePackageSpecReferences:gofer: in Block: [ self resolvePackageSpecReferences: packageSpec g...etc...
- BlockClosure>>on:do:
- MetacelloEnsureFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>retryingResolvePackageSpecReferences:gofer:
- [ | references nearestReference cachedReference externalReference mcVersion loadedVersionInfos |
- cachedReference := nil.
- packageSpec
- searchCacheRepositoryForPackage: [ "check to see if mcz file is already in cacheRepository"
- cachedReference := self
- resolvePackageSpec: packageSpec
- cachedGofer: self loaderPolicy cacheGofer.
- (cachedReference ~~ nil and: [ packageSpec getFile ~~ nil ])
- ifTrue: [ cachedReference name = packageSpec file
- ifTrue:
- [ "exact match between packageSpec file and cache" ^ self scheduleFetchFor: packageSpec cachedReference: cachedReference ] ] ].
- references := self
- retryingResolvePackageSpecReferences: packageSpec
- gofer: gofer. "look up mcz file"
- nearestReference := references last
- asMetacelloCachingResolvedReference.
- (cachedReference ~~ nil
- and: [ cachedReference name = nearestReference name ])
- ifTrue: [ "latest reference in repository matches cachedReference ... "
- ^ self
- scheduleFetchFor: packageSpec
- nearestReference: nearestReference ].
- (self ignoreImage not
- and: [ (loadedVersionInfos := self ancestorsFor: packageSpec) ~~ nil ])
- ifTrue: [ "If the mcz is already loaded into the image, no need to copy"
- loadedVersionInfos
- do: [ :info |
- info name = nearestReference name
- ifTrue: [ | spc |
- spc := packageSpec copy.
- spc file: info name.
- (MetacelloIgnorePackageLoaded signal: spc)
- ifFalse: [ ^ self ] ] ] ].
- externalReference := (references
- select: [ :ref | ref name = nearestReference name ]) first
- asMetacelloCachingResolvedReference.
- self repositoryMap
- at: externalReference name
- put: externalReference repository.
- (self
- resolveDependencies: externalReference
- nearest: nearestReference
- into: (OrderedCollection with: nearestReference))
- do: [ :reference |
- | pSpec l |
- mcVersion := reference version.
- (l := (GoferVersionReference name: reference name)
- resolveAllWith: self loaderPolicy cacheGofer) isEmpty
- ifTrue: [ self cacheRepository storeVersion: mcVersion.
- reference == nearestReference
- ifTrue: [ pSpec := packageSpec ]
- ifFalse: [ pSpec := packageSpec project packageSpec.
- pSpec name: mcVersion package name ].
- self loadData
- addVersion: mcVersion
- versionInfo: mcVersion info
- resolvedReference: reference
- packageSpec: pSpec ] ].
- self
- scheduleFetchFor: packageSpec
- externalReference: externalReference ] in MetacelloEnsureFetchingMCSpecLoader(MetacelloFetchingMCSpecLoader)>>linearLoadPackageSpec:gofer: in Block: [ | references nearestReference cachedReference ex...etc...
- [ :bar |
- bar value: 1.
- aBlock value.
- bar value: 2 ] in IceMetacelloPharoPlatform(MetacelloPharoCommonPlatform)>>do:displaying: in Block: [ :bar | ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement