[Glass] Early access update: PR #13

Dale Henrichs via Glass glass at lists.gemtalksystems.com
Thu Nov 5 15:14:02 PST 2015



On 11/05/2015 01:46 PM, Jon Paynter wrote:
>
>
> On Thu, Nov 5, 2015 at 12:11 PM, Dale Henrichs 
> <dale.henrichs at gemtalksystems.com 
> <mailto: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.
oh good ... the new version of `project new` is still under test along 
with a few other doc updates and minor bugfixes and I'll probably 
release another EA in a day or two.
>
> ....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'.
>     ].
>
Move the 4 classes to the RouteEvent-Core (use the "Class > move to 
package" menu item) to put the classes into the RouteEvent-Core package 
... at this level it is more about learning the basics of Monticello 
than Metacello ...
>
> 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')
>     ].
This is an alternate approach ... although you do need to create the 
package Route-Event:

   mc create Route-Event

will create the package and then the project list menu items should 
start working

I think this should get you going ...

Dale
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20151105/d06b8763/attachment-0001.html>


More information about the Glass mailing list