[Glass] Early access update: PR #13

Jon Paynter via Glass glass at lists.gemtalksystems.com
Thu Nov 5 13:46:35 PST 2015


On Thu, Nov 5, 2015 at 12:11 PM, Dale Henrichs <
dale.henrichs at gemtalksystems.com> wrote:

> Jon,
>
> I would like you to check the source in MetacelloToolBox>>baselineNamed:.
> It should look like the following:
>
> baselineNamed: baseName
>   | baselineName |
>   "Check if the class does not exist"
>   baselineName := self baselineNameFrom: baseName.
>   (Smalltalk includesKey: baselineName asSymbol)
>     ifFalse: [
>       "Create the configuration class"
>       self ensureMetacello.
>       BaselineOf
>         subclass: baselineName asSymbol
>         instanceVariableNames: ''
>         classVariableNames: ''
>         poolDictionaries: ''
>         category: baselineName.
>       MetacelloPlatform current registerPackageNamed: baselineName.
>       (MetacelloPlatform current globalNamed: baselineName asSymbol)
>         compile: 'baseline: spec <baseline>'
>         classified: 'baseline'    "a bit of a hack here to create an
> initial null basline method" ].
>   project := (MetacelloPlatform current globalNamed: baselineName asSymbol)
>     project
>
> Note the #compile:classified: method when the class is being created ...
> if you don't have that code in you image, then you haven't updated to the
> latest version of Metacello:
>
the #compile:classified: method is indeed missing


>
>   updateGsDevKit -s
>
> and then in the tODE shell of your stone:
>
>   project load Tode
>
so I ran the commands, and they both ran without errors

i noticed my copy was a bit behind the times:
   Updating GsDevKit_home
>>>>>>
Already on 'master'
Your branch is ahead of 'origin/master' by 58 commits.



>
> which should refresh tODE as well as the Metacello and GLASS1 (see the
> "Update Script for Client/Server and Server" section of the EA #15[1]).
>
> If you have that code, then it's back to the drawing board ... BTW I'm
> bullet-proofing the `project new` command and adding a --force option that
> should do some self cleaning in the event of errors ...
>
running project new works "better" - but this time I got an error message
back from git because user & email were not set.

So I fixed that, manually removed the project, re-ran "project new" and now
I appear to have a working project.

....but even after reading the pdf doc on metacello from the pharo book --
I dont know how to add stuff to the project.  It seems I need a
ConfiigurationOf<myProject> class to be created somewhere... or I need to
know how to edit the #baseline: method to add existing categories.

I have an existing category named 'Route-Events' with 4 classes.

So I changed the #baseline: method from
baseline: spec
    <baseline>
    spec for: #'common' do: [
        spec package: 'RouteEvent-Core'.
    ].


to:
baseline: spec
    <baseline>
    spec for: #'common' do: [
        spec package: 'RouteEvent-Core';
            package: 'Route-Events' with: [ spec requires: #(
'RouteEvent-Core')].

        spec group: 'default' with: #('RouteEvent-Core' 'Route-Event')
    ].

then I tried refreshing and re-opening the project list window, but I cant
get 'browse categories' or 'browse classes' from the project window to
display the additional classes or the new category.

what am I missing here?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20151105/69dcc0d2/attachment.html>


More information about the Glass mailing list