Advertisement
Guest User

Untitled

a guest
Mar 14th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. IceUnknownBranch(Object)>>doesNotUnderstand: #versionFor:
  2. IceSavedPackage>>latestVersion
  3. [ :package |
  4. GoferResolvedReference
  5.     name: package latestVersion info name
  6.     repository: self ] in IceMetacelloRepositoryAdapter>>goferReferences in Block: [ :package | ...
  7. Array(SequenceableCollection)>>collect:
  8. IceMetacelloRepositoryAdapter>>goferReferences
  9. [ aRepository goferReferences asSortedCollection asArray ] in MetacelloGofer(Gofer)>>basicReferencesIn: in Block: [ aRepository goferReferences asSortedCollection a...etc...
  10. BlockClosure>>on:do:
  11. MetacelloGofer(Gofer)>>basicReferencesIn:
  12. [ :cache | ^ cache at: aRepository put: (super basicReferencesIn: aRepository) ] in MetacelloGofer>>basicReferencesIn: in Block: [ :cache | ^ cache at: aRepository put: (super bas...etc...
  13. [ :dict |
  14. | cache |
  15. cache := dict at: cacheName ifAbsent: [  ].
  16. cache ~~ nil
  17.     ifTrue: [ | value hasEntry |
  18.         hasEntry := true.
  19.         value := cache at: key ifAbsent: [ hasEntry := false ].
  20.         hasEntry
  21.             ifTrue: [ ^ value ] ]
  22.     ifFalse: [ cache := cacheClass new.
  23.         dict at: cacheName put: cache ].
  24. ^ aBlock value: cache ] in IceMetacelloPharoPlatform(MetacelloPlatform)>>stackCacheFor:cacheClass:at:doing: in Block: [ :dict | ...
  25. [ ^ aBlock value: dict ] in IceMetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary: in Block: [ ^ aBlock value: dict ]
  26. BlockClosure>>on:do:
  27. IceMetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
  28. IceMetacelloPharoPlatform(MetacelloPlatform)>>stackCacheFor:cacheClass:at:doing:
  29. MetacelloGofer>>basicReferencesIn:
  30. [ self basicReferencesIn: aRepository ] in MetacelloGofer(Gofer)>>allResolvedIn: in Block: [ self basicReferencesIn: aRepository ]
  31. [ self at: key put: aBlock value ] in Dictionary>>at:ifAbsentPut: in Block: [ self at: key put: aBlock value ]
  32. Dictionary>>at:ifAbsent:
  33. Dictionary>>at:ifAbsentPut:
  34. MetacelloGofer(Gofer)>>allResolvedIn:
  35. [ :repository | resolved addAll: (self allResolvedIn: repository) ] in MetacelloGofer(Gofer)>>allResolved in Block: [ :repository | resolved addAll: (self allResolved...etc...
  36. Array(SequenceableCollection)>>do:
  37. MetacelloGofer(Gofer)>>allResolved
  38. GoferPackageReference(GoferReference)>>resolveAllWith:
  39. MetacelloEnsureFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>resolvePackageSpecReferences:gofer:
  40. [ self resolvePackageSpecReferences: packageSpec gofer: gofer ] in MetacelloEnsureFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>retryingResolvePackageSpecReferences:gofer: in Block: [ self resolvePackageSpecReferences: packageSpec g...etc...
  41. BlockClosure>>on:do:
  42. MetacelloEnsureFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>retryingResolvePackageSpecReferences:gofer:
  43. [ | references nearestReference cachedReference externalReference mcVersion loadedVersionInfos |
  44. cachedReference := nil.
  45. packageSpec
  46.     searchCacheRepositoryForPackage: [ "check to see if mcz file is already in cacheRepository"
  47.         cachedReference := self
  48.             resolvePackageSpec: packageSpec
  49.             cachedGofer: self loaderPolicy cacheGofer.
  50.         (cachedReference ~~ nil and: [ packageSpec getFile ~~ nil ])
  51.             ifTrue: [ cachedReference name = packageSpec file
  52.                     ifTrue:
  53.                         [ "exact match between packageSpec file and cache" ^ self scheduleFetchFor: packageSpec cachedReference: cachedReference ] ] ].
  54. references := self
  55.     retryingResolvePackageSpecReferences: packageSpec
  56.     gofer: gofer.   "look up mcz file"
  57. nearestReference := references last
  58.     asMetacelloCachingResolvedReference.
  59. (cachedReference ~~ nil
  60.     and: [ cachedReference name = nearestReference name ])
  61.     ifTrue: [ "latest reference in repository matches cachedReference ... "
  62.         ^ self
  63.             scheduleFetchFor: packageSpec
  64.             nearestReference: nearestReference ].
  65. (self ignoreImage not
  66.     and: [ (loadedVersionInfos := self ancestorsFor: packageSpec) ~~ nil ])
  67.     ifTrue: [ "If the mcz is already loaded into the image, no need to copy"
  68.         loadedVersionInfos
  69.             do: [ :info |
  70.                 info name = nearestReference name
  71.                     ifTrue: [ | spc |
  72.                         spc := packageSpec copy.
  73.                         spc file: info name.
  74.                         (MetacelloIgnorePackageLoaded signal: spc)
  75.                             ifFalse: [ ^ self ] ] ] ].
  76. externalReference := (references
  77.     select: [ :ref | ref name = nearestReference name ]) first
  78.     asMetacelloCachingResolvedReference.
  79. self repositoryMap
  80.     at: externalReference name
  81.     put: externalReference repository.
  82. (self
  83.     resolveDependencies: externalReference
  84.     nearest: nearestReference
  85.     into: (OrderedCollection with: nearestReference))
  86.     do: [ :reference |
  87.         | pSpec l |
  88.         mcVersion := reference version.
  89.         (l := (GoferVersionReference name: reference name)
  90.             resolveAllWith: self loaderPolicy cacheGofer) isEmpty
  91.             ifTrue: [ self cacheRepository storeVersion: mcVersion.
  92.                 reference == nearestReference
  93.                     ifTrue: [ pSpec := packageSpec ]
  94.                     ifFalse: [ pSpec := packageSpec project packageSpec.
  95.                         pSpec name: mcVersion package name ].
  96.                 self loadData
  97.                     addVersion: mcVersion
  98.                     versionInfo: mcVersion info
  99.                     resolvedReference: reference
  100.                     packageSpec: pSpec ] ].
  101. self
  102.     scheduleFetchFor: packageSpec
  103.     externalReference: externalReference ] in MetacelloEnsureFetchingMCSpecLoader(MetacelloFetchingMCSpecLoader)>>linearLoadPackageSpec:gofer: in Block: [ | references nearestReference cachedReference ex...etc...
  104. [ :bar |
  105. bar value: 1.
  106. aBlock value.
  107. bar value: 2 ] in IceMetacelloPharoPlatform(MetacelloPharoCommonPlatform)>>do:displaying: in Block: [ :bar | ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement