[Glass] Update GLASS and MetacelloPreview

Mariano Martinez Peck marianopeck at gmail.com
Wed Nov 27 06:36:13 PST 2013


Thanks Dale.

So just to ease someone else work, I have workarounded 2 problems. The
first one is the one that if the loading fails, when I retry, I get a
Incorrect Project Registrated.
I think this was because I was not surrounding my loading code inside a
MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [ ].
Anyway...since this was a fresh install, as a workaround I copied again the
seaside extent.

Then after, problem updating Metacello/GLASS was that Metacello didn't
understand #onWarning:. Removing that won't work because otherwise you get
the warning saying you will load a new version blah blah and you cannot
proceed from topaz I guess. So I had to surround all my loading code like
this:




iferr 1 stk
iferr 2 stack
run


[
  Metacello new
baseline:  'Metacello';
repository: 'github://dalehenrich/metacello-work:master/repository';
get.
   Metacello new
baseline:  'Metacello';
repository: 'github://dalehenrich/metacello-work:master/repository';
load: 'ALL'.
Metacello new
  baseline: 'GLASS1';
  repository: 'github://glassdb/glass:master/repository';
  get.
Metacello new
  baseline: 'GLASS1';
  repository: 'github://glassdb/glass:master/repository';
  onConflict: [ :ex | ex allow ];
  load: 'default'.


Metacello new
  baseline: 'Zinc';
  repository: 'github://glassdb/zinc:gemstone3.1/repository';
  get.
Metacello new
  baseline: 'Zinc';
  repository: 'github://glassdb/zinc:gemstone3.1/repository';
  load: 'Tests'.

]   on: Warning do: [ :ex |
        Transcript
          cr;
          show: ex description.
        ex resume ]


%
errorCount
!
commit




Cheers,



On Tue, Nov 26, 2013 at 10:38 PM, Mariano Martinez Peck <
marianopeck at gmail.com> wrote:

> Thanks Dale,
>
> I tried to execute that but I get (from topaz) this error: Invalid project
> registration. Stack below.
> I might have tried to load a first time, which somehow fail and now I am
> trying again...
>
> Any ideas?
>
>
>
> ERROR 2318 , a UserDefinedError occurred (error 2318), reason:halt,
> Invalid project registration (UserDefinedError)
> topaz > exec iferr 1 : stk
> ==> 1 AbstractException >> _signalWith:             (envId 0) @5 line 25
> 2 AbstractException >> signal                   (envId 0) @2 line 47
> 3 Object >> error:                              (envId 0) @6 line 7
> 4 MetacelloProjectRegistration >> validate      (envId 0) @4 line 3
> 5 MetacelloProjectRegistration >> merge:        (envId 0) @4 line 6
> 6 [] in  MetacelloScriptEngine >> handleProjectSpecLoaded: (envId 0) @3
> line 14
> 7 MetacelloProjectRegistration >> copyOnWrite:  (envId 0) @8 line 13
> 8 [] in  MetacelloScriptEngine >> handleProjectSpecLoaded: (envId 0) @2
> line 11
> 9 [] in  MetacelloProjectRegistration class >>
> registrationForProjectSpec:ifAbsent:ifPresent: (envId 0) @2 line 6
> 10 [] in  MetacelloProjectRegistry >> registrationFor:ifPresent:ifAbsent:
> (envId 0) @2 line 7
> 11 AbstractDictionary >> at:ifPresent:           (envId 0) @4 line 6
> 12 MetacelloProjectRegistry >> registrationFor:ifPresent:ifAbsent: (envId
> 0) @13 line 7
> 13 MetacelloProjectRegistration class >>
> registrationForProjectSpec:ifAbsent:ifPresent: (envId 0) @5 line 5
> 14 MetacelloScriptEngine >> handleProjectSpecLoaded: (envId 0) @3 line 3
> 15 MetacelloProjectSpecLoadedNotification >> handleResolutionFor: (envId
> 0) @2 line 2
> 16 [] in  MetacelloScriptEngine >> handleNotificationsForAction: (envId 0)
> @2 line 13
> 17 AbstractException >> _executeHandler:         (envId 0) @3 line 8
> 18 AbstractException >> _signalWith:             (envId 0) @1 line 1
> 19 AbstractException >> signal                   (envId 0) @2 line 47
> 20 [] in  MetacelloMCProjectSpec >> loadVersion: (envId 0) @32 line 40
> 21 [] in  MetacelloPlatform >> useStackCacheDuring:defaultDictionary:
> (envId 0) @2 line 9
> 22 ExecBlock >> on:do:                           (envId 0) @3 line 42
> 23 MetacelloPlatform >> useStackCacheDuring:defaultDictionary: (envId 0)
> @9 line 10
> 24 MetacelloMCProjectSpec >> loadVersion:        (envId 0) @21 line 24
> 25 MetacelloProjectSpecForLoad >> performLoad    (envId 0) @26 line 18
> 26 MetacelloGenericProjectSpec >> load           (envId 0) @6 line 4
> 27 MetacelloProjectReferenceSpec >> loadUsing:gofer: (envId 0) @5 line 6
> 28 [] in  MetacelloCommonMCSpecLoader >>
> linearLoadPackageSpecs:repositories: (envId 0) @2 line 6
> 29 Collection >> do:                             (envId 0) @5 line 10
> 30 MetacelloCommonMCSpecLoader >> linearLoadPackageSpecs:repositories:
> (envId 0) @5 line 6
> 31 [] in  MetacelloFetchingMCSpecLoader >>
> linearLoadPackageSpecs:repositories: (envId 0) @2 line 4
> 32 ExecBlock >> ensure:                          (envId 0) @2 line 12
> 33 MetacelloLoaderPolicy >> pushLoadDirective:during: (envId 0) @6 line 7
> 34 MetacelloLoaderPolicy >> pushLinearLoadDirectivesDuring:for: (envId 0)
> @3 line 3
> 35 MetacelloFetchingMCSpecLoader >> linearLoadPackageSpecs:repositories:
> (envId 0) @3 line 4
> 36 MetacelloCommonMCSpecLoader >> load           (envId 0) @15 line 7
> 37 MetacelloMCVersionSpecLoader >> load          (envId 0) @13 line 16
> 38 MetacelloMCVersion >> executeLoadFromArray:   (envId 0) @9 line 7
> 39 [] in  MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @2 line
> 11
> 40 [] in  MetacelloPlatform >> useStackCacheDuring:defaultDictionary:
> (envId 0) @2 line 9
> 41 ExecBlock >> on:do:                           (envId 0) @3 line 42
> 42 MetacelloPlatform >> useStackCacheDuring:defaultDictionary: (envId 0)
> @9 line 10
> 43 [] in  MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @6 line
> 11
> 44 ExecBlock >> ensure:                          (envId 0) @2 line 12
> 45 [] in  MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @2 line
> 12
> 46 MetacelloPlatform >> do:displaying:           (envId 0) @2 line 3
> 47 MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @17 line 7
> 48 [] in  MetacelloMCVersion >> doLoadRequiredFromArray: (envId 0) @3 line
> 10
> 49 ExecBlock >> ensure:                          (envId 0) @2 line 12
> 50 MetacelloMCVersion >> doLoadRequiredFromArray: (envId 0) @22 line 16
> 51 String >> loadRequiredForMetacelloMCVersion:  (envId 0) @3 line 3
> 52 MetacelloMCVersion >> load:                   (envId 0) @2 line 3
> 53 [] in  MetacelloScriptEngine >>
> load:onProjectDownGrade:onProjectUpgrade: (envId 0) @10 line 16
> 54 ExecBlock >> on:do:                           (envId 0) @3 line 42
> 55 [] in  MetacelloScriptEngine >> handleNotificationsForAction: (envId 0)
> @6 line 6
> 56 ExecBlock >> on:do:                           (envId 0) @3 line 42
> 57 [] in  MetacelloScriptEngine >> handleNotificationsForAction: (envId 0)
> @4 line 14
> 58 ExecBlock >> on:do:                           (envId 0) @3 line 42
> 59 [] in  MetacelloScriptEngine >> handleNotificationsForAction: (envId 0)
> @2 line 20
> 60 ExecBlock >> on:do:                           (envId 0) @3 line 42
> 61 MetacelloScriptEngine >> handleNotificationsForAction: (envId 0) @2
> line 24
>
>
>
> On Tue, Nov 26, 2013 at 4:24 PM, Dale K. Henrichs <
> dale.henrichs at gemtalksystems.com> wrote:
>
>> Actually adding in a `get` command to refresh the baseline (equivalent to
>> updateProject for a configuration) will ensure two things:
>>
>>   1. that the git cache is flushed for each project (since you are using
>> github-based projects)
>>   2. that you've got the latest version of the baseline loaded in your
>> image
>>
>> So this would ensure a fresh load:
>>
>>
>>   Metacello new
>> baseline:  'Metacello';
>>  repository: 'github://dalehenrich/metacello-work:master/repository';
>>  get'.
>>    Metacello new
>> baseline:  'Metacello';
>>  repository: 'github://dalehenrich/metacello-work:master/repository';
>>
>>         onWarning: [:ex |
>>           Transcript
>>             cr;
>>             show: ex description.
>>         ex resume];
>> load: 'ALL'.
>>  Metacello new
>>   baseline: 'GLASS1';
>>   repository: 'github://glassdb/glass:master/repository';
>>   get.
>> Metacello new
>>   baseline: 'GLASS1';
>>   repository: 'github://glassdb/glass:master/repository';
>>   onConflict: [ :ex | ex allow ];
>>   onWarning: [ :ex |
>>         Transcript
>>           cr;
>>           show: ex description.
>>         ex resume ];
>>   load: 'default'.
>>
>> Dale
>> ------------------------------
>>
>> *From: *"Mariano Martinez Peck" <marianopeck at gmail.com>
>> *To: *glass at lists.gemtalksystems.com
>> *Sent: *Tuesday, November 26, 2013 10:39:23 AM
>> *Subject: *[Glass] Update GLASS and MetacelloPreview
>>
>> Hi Dale,
>>
>> Could you please confirm me if these were the correct scripts to update
>> GLASS and MetacelloPreview?
>>
>>
>> [Metacello new
>> baseline:  'Metacello';
>>  repository: 'github://dalehenrich/metacello-work:master/repository';
>> load: 'ALL'.
>> ] on: Warning do: [ :ex |
>>  ex resume.
>> ].
>>  Metacello new
>>   baseline: 'GLASS1';
>>   repository: 'github://glassdb/glass:master/repository';
>>   onConflict: [ :ex | ex allow ];
>>   onWarning: [ :ex |
>>         Transcript
>>           cr;
>>           show: ex description.
>>         ex resume ];
>>   load: 'default'.
>>
>> Thanks!
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>> _______________________________________________
>> Glass mailing list
>> Glass at lists.gemtalksystems.com
>> http://lists.gemtalksystems.com/mailman/listinfo/glass
>>
>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>



-- 
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20131127/7fa8d0c4/attachment.html>


More information about the Glass mailing list