[Glass] Metacello support

Dale Henrichs via Glass glass at lists.gemtalksystems.com
Thu Nov 6 10:09:33 PST 2014

On Thu, Nov 6, 2014 at 2:14 AM, Dario Trussardi via Glass <
glass at lists.gemtalksystems.com> wrote:

> Ciao Dale,
> Dario,
> At the end of the day, I think that you should load the latest version of
> Metacello[1] and then use `Metacello new` for loading things ... once you
> start using `Metacello new` and get an error we can track down versions
> reliably ... the utf8 issue is most likely fixed in a later version of
> FileTree[2] and you should use the latest version for FileTree as well
> Dale
> [1] https://github.com/dalehenrich/metacello-work#pharo-older-than-pharo30
> [2] https://github.com/dalehenrich/filetree#installing
> I update Pharo1.4  ( based on Seaside   3.1.0-gemstone )
> with  [ 1 ]
>   The system when i load  ((Smalltalk at: #ConfigurationOfMetacello)
> project
>   version: #'previewBootstrap') load.
> returns the error :   Name not found  Seaside-Tools-Core

I need a stack and the contents of the Transcript ... I have a guess as to
where this might be coming from, but without a stack I cannot help.

> The following command work well in any case
> "Load the Preview version of Metacello from GitHub" (Smalltalk at:
> #Metacello) new configuration: 'MetacelloPreview'; version: #stable;
> repository: 'github://dalehenrich/metacello-work:configuration'; load.
> "Now load latest version of Metacello" Metacello new baseline: 'Metacello';
> repository: 'github://dalehenrich/metacello-work:master/repository'; get.
> Metacello new baseline: 'Metacello'; repository: '
> github://dalehenrich/metacello-work:master/repository'; onConflict: [:ex
> | ex allow]; load

The above was run in Pharo1.4? After the previously reported error?
Presumably the name not found came from an attempt to prime the registry,
but I am suspicious that there might be trouble lurking ...

If you want the _best_ results, I suggest that you start with a fresh 1.4
image, load the Metacello Preview as above, then using `Metacello new`
commands load the rest of the code ... the only way that  you could get a
complaint about Seaside-Tools-Core would be if you've already loaded
Seaside and/or loaded the Seaside configurations ... I don't think this is
a requirement, but if we continue to have issues that aren't explainable,
then I'd like to be assured that we have an image that is not tainted by
partial loads ....

> After [ 2 ]  the  ( ConfigurationOfFileTree project currentVersion )
>  answer:    >= [ConfigurationOfFileTree]

Remember, currentVersion is suspect, especially once you have started using
the Metacello Preview and especially once you've started loading projects
from GitHub ... in your case if [2] completed successfully, then you are
using a version of FileTree that was loaded from Github using
BaselineOfFileTree and ConfigurationOfFileTree has no bearing ...

In tODE the `project list` displays the version for each project, but I
guess I haven't pulled the logic into the Metacello aPI (yet[3]), but the
following will provide better information that using #currentVersion:

(Metacello image
    project: 'FileTree';
    collect: [ :projectSpec |
        registrationForProjectSpec: projectSpec
        ifAbsent: [  ]
        ifPresent: [ :existing :new |
          existing baseName , ' ' , existing currentVersionString , '['
            , existing currentBranchName , ']' ] ]

When two entries are present the baseline is the one that is loaded, so I'd
like to see the result of this expression from your Pharo1.4 image.

[3] https://github.com/dalehenrich/metacello-work/issues/310

> Into Gemstone   i do:
> Gofer new package: 'GsUpgrader-Core'; url: '
> http://ss3.gemtalksystems.com/ss/gsUpgrader'; load. (Smalltalk at:
> #GsUpgrader) upgradeMetacello. (Smalltalk at: #Metacello) new baseline:
> 'FileTree'; repository: '
> github://dalehenrich/filetree:gemstone2.4/repository'; load.
> After ( ConfigurationOfFileTree project currentVersion )   answer:  >=
> [ConfigurationOfFileTree]

Again in GemStone, I'd like to see the result of the above expression, so I
know where we stand...

> Now after update the system returns the same error
> When i work on package istance from Gemtools Monticello ( browse or  load
>> command )  the system erase the error:
>> a ArgumentError occurred (error 2718), string contents are ill-formed
>> Utf8 at byte offset 38, - G/S[MonvisoGruppi3104 IP100 *******:3]
> Now that you're using the latest version of FileTree on both sides and you
are still getting the error, we can eliminate the known problems (but it is
still possible that the package was produced by erroneous code) ...

> The string decodeFromUTF8 begin with:

Ah you've got a handle on the utf8 bytes. Please send me the undecoded utf8
string so that I can figure out what might be going wrong.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20141106/41fdc6e8/attachment.html>

More information about the Glass mailing list