[squeak-dev] ConfigurationOfXYZ ensureRecentMetacello pattern.

gettimothy gettimothy at zoho.com
Sat Sep 19 13:55:20 UTC 2020


Hi Folks,



I am "fixing" the ConfigurationOfXTreams , ConfigurationOfXMLParser...etc so I can load the packages for a project I am working on into Squeak6.0 alpha.



There is a pattern on the ensureMetacello:' that I think you should be aware of.





For example in ConfigurationOfXTreams, there is all these contortions.



ensureMetacello

"Bootstrap Gofer (if necessary), load latest mcz file for ConfigurationOfMetacello (using old

Gofer API), then load the latest version of Metacello itself."

| meta |

meta := 'ConfigurationOfMetacello-dkh.674'.

Smalltalk at: #MetacelloProject ifAbsent: [

"list of repositories to try, in case primary repository is not accessible"

self bootstrapPackage: meta from: 'http://www.squeaksource.com/MetacelloRepository'.

Smalltalk at: #ConfigurationOfMetacello ifPresent: [:config | config load].

Smalltalk at: #MetacelloProject ifAbsent: [

self bootstrapPackage: meta from: 'http://seaside.gemstone.com/ss/metacello'.

Smalltalk at: #ConfigurationOfMetacello ifPresent: [:config | config load].

Smalltalk at: #MetacelloProject ifAbsent: [self error: 'Couldn''t l......]





That stuff failed.



However to get it to work, In a Workspace I run 



Installer ensureRecentMetacello


.

And then replace the class side method in the ConfigurationOfXYZ with the same.



ensureMetacello

 Installer ensureRecentMetacello





ConfigurationofXtreams has another method with some contortions that I just comment out.

ConfigurationofXTreams class > ensureMetacelloBaseConfiguration  comment out.




At that point the installs are going swimmingly.


My point is that IIRC there was a lengthy discussion about ensureRecentMetacello on new Squeak a few months back.



Is it possible that ConfigurationOfXYZ --all of them--have the gobbledy-gook to be replaced?



thanks for your time.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200919/8d4a682e/attachment.html>


More information about the Squeak-dev mailing list