I'm creating my first metacello configuration. Right now it's a hello world Seaside app. I want to create two groups: Core and Development. Core loads my code and the Seaside dependencies, and Development loads Core+ extra Seaside development tools.
I've been able to work through a number of issues by reading other configurations...but now I find myself stuck. Metacello *appears* to load my Monticello package, but the class defined inside of the Monticello package is *not* loaded. Here's my configuration: baseline10: spec <version: '1.0-baseline'> spec for: #'common' do: [ spec blessing: #'baseline'. spec repository: '/Users/padillac/code/smalltalk'. spec project: 'Seaside 3.0 Core' with: [ spec className: 'ConfigurationOfSeaside30'; versionString: #'stable'; loads: #('Base' 'Seaside-Tools-OmniBrowser' 'Seaside-Adaptors-Comanche'); repository: 'http://www.squeaksource.com/MetacelloRepository' ]. spec project: 'Seaside 3.0 Development' with: [ spec className: 'ConfigurationOfSeaside30'; versionString: #'stable'; loads: #('Development'); repository: 'http://www.squeaksource.com/MetacelloRepository' ]. spec package: 'SitBuddy-Core' with: [ spec requires: #('Seaside 3.0 Core') ]. spec group: 'Core' with: #('SitBuddy-Core'). spec group: 'Development' with: #('Core' 'Seaside 3.0 Development'). ]. version10: spec <version: '1.0' imports: #('1.0-baseline' )> spec for: #'common' do: [ spec blessing: #'development'. spec description: ''. spec author: 'PatMaddox'. spec timestamp: '5/21/2011 15:52'. spec project: 'Seaside 3.0 Core' with: '3.0.5'. spec project: 'Seaside 3.0 Development' with: '3.0.5'. spec package: 'SitBuddy-Core' with: 'SitBuddy-Core-PatMaddox.1' ]. So here's something I find interesting...when I load my ConfigurationOfSitBuddy and then pull up the MetacelloBrowser, it shows me the baselines and versions. That looks like this: It doesn't show me the Core and Development groups. Now, if I load Core, it pulls down all the stuff and then shows me the packages and groups: The only problem is, SitBuddy-Core doesn't show up in System Browser anywhere. Monticello seems to know about it though: But it thinks there's nothing there :( If I view the mcz file from the repository directly though, I see the class that I expect: So.....I'm just a bit confused. Do I need to specify the class somewhere? Like I said, this is my first time doing a Metacello config, so I'm assuming I'm making a stupid error with metacello or monticello somewhere. Pat Screen shot 2011-05-21 at 6.06.43 PM.png (88K) Download Attachment Screen shot 2011-05-21 at 6.10.08 PM.png (116K) Download Attachment Screen shot 2011-05-21 at 6.11.44 PM.png (44K) Download Attachment Screen shot 2011-05-21 at 6.12.32 PM.png (63K) Download Attachment Screen shot 2011-05-21 at 6.13.39 PM.png (70K) Download Attachment |
Pat,
At first blush this doesn't look like a Metacello issue ... your configuration looks just fine (at least nothing obvious) ... to be sure I am curious how your configuration validates: (MetacelloToolBox validateConfiguration: ConfigurationOfSitBuddy) explore You should get back an empty collection if the configuration validates clean. Secondly, the "missing groups" issue is a MetacelloBrowser artifact ... with no versions loaded you need to select version 1.0 and use the 'browser version' menu item to see the groups and other contents of the version. I am suspicious that you have a bogus package in your package-cache. The package that is loaded in your image, could have come from the package-cache. When you view the package in the repository /Users/padillac/code/smalltalk, you see the expected classes .... Before just clearing the package-cache, you might take a look at the history for the package in the image and the one from the repository .... you should be able to see a UUID ... if the UUIDs are the same, then you must have a corrupt copy in the package-cache ... if the UUIDs are different then you have two separate packages named SitBuddy-Core-PatMaddox.1 floating around. Dale ----- Original Message ----- From: "Pat Maddox" <[hidden email]> To: [hidden email] Sent: Saturday, May 21, 2011 6:15:18 PM Subject: [Metacello] Not loading the classes from my package... I'm creating my first metacello configuration. Right now it's a hello world Seaside app. I want to create two groups: Core and Development. Core loads my code and the Seaside dependencies, and Development loads Core+ extra Seaside development tools. I've been able to work through a number of issues by reading other configurations...but now I find myself stuck. Metacello *appears* to load my Monticello package, but the class defined inside of the Monticello package is *not* loaded. Here's my configuration: baseline10: spec <version: '1.0-baseline'> spec for: #'common' do: [ spec blessing: #'baseline'. spec repository: '/Users/padillac/code/smalltalk'. spec project: 'Seaside 3.0 Core' with: [ spec className: 'ConfigurationOfSeaside30'; versionString: #'stable'; loads: #('Base' 'Seaside-Tools-OmniBrowser' 'Seaside-Adaptors-Comanche'); repository: 'http://www.squeaksource.com/MetacelloRepository' ]. spec project: 'Seaside 3.0 Development' with: [ spec className: 'ConfigurationOfSeaside30'; versionString: #'stable'; loads: #('Development'); repository: 'http://www.squeaksource.com/MetacelloRepository' ]. spec package: 'SitBuddy-Core' with: [ spec requires: #('Seaside 3.0 Core') ]. spec group: 'Core' with: #('SitBuddy-Core'). spec group: 'Development' with: #('Core' 'Seaside 3.0 Development'). ]. version10: spec <version: '1.0' imports: #('1.0-baseline' )> spec for: #'common' do: [ spec blessing: #'development'. spec description: ''. spec author: 'PatMaddox'. spec timestamp: '5/21/2011 15:52'. spec project: 'Seaside 3.0 Core' with: '3.0.5'. spec project: 'Seaside 3.0 Development' with: '3.0.5'. spec package: 'SitBuddy-Core' with: 'SitBuddy-Core-PatMaddox.1' ]. So here's something I find interesting...when I load my ConfigurationOfSitBuddy and then pull up the MetacelloBrowser, it shows me the baselines and versions. That looks like this: It doesn't show me the Core and Development groups. Now, if I load Core, it pulls down all the stuff and then shows me the packages and groups: [image/png:Screen shot 2011-05-21 at 6.06.43 PM.png] [image/png:Screen shot 2011-05-21 at 6.10.08 PM.png] The only problem is, SitBuddy-Core doesn't show up in System Browser anywhere. Monticello seems to know about it though: [image/png:Screen shot 2011-05-21 at 6.11.44 PM.png] But it thinks there's nothing there :( [image/png:Screen shot 2011-05-21 at 6.12.32 PM.png] If I view the mcz file from the repository directly though, I see the class that I expect: [image/png:Screen shot 2011-05-21 at 6.13.39 PM.png] So.....I'm just a bit confused. Do I need to specify the class somewhere? Like I said, this is my first time doing a Metacello config, so I'm assuming I'm making a stupid error with metacello or monticello somewhere. Pat |
Okay cool it must have been something with package-cache. I saw a SitBuddy-PatMaddox.1.mcz and a SitBuddy-PatMaddox.3.mcz separate from SitBuddy-Core ... I deleted those from package-cache and tried again and it's working. Didn't do the investigation because I had already deleted them.
Thanks Dale :) Pat On May 23, 2011, at 10:10 AM, Dale Henrichs wrote: > Pat, > > At first blush this doesn't look like a Metacello issue ... your configuration looks just fine (at least nothing obvious) ... to be sure I am curious how your configuration validates: > > (MetacelloToolBox validateConfiguration: ConfigurationOfSitBuddy) explore > > You should get back an empty collection if the configuration validates clean. > > Secondly, the "missing groups" issue is a MetacelloBrowser artifact ... with no versions loaded you need to select version 1.0 and use the 'browser version' menu item to see the groups and other contents of the version. > > I am suspicious that you have a bogus package in your package-cache. The package that is loaded in your image, could have come from the package-cache. When you view the package in the repository /Users/padillac/code/smalltalk, you see the expected classes .... > > Before just clearing the package-cache, you might take a look at the history for the package in the image and the one from the repository .... you should be able to see a UUID ... if the UUIDs are the same, then you must have a corrupt copy in the package-cache ... if the UUIDs are different then you have two separate packages named SitBuddy-Core-PatMaddox.1 floating around. > > Dale > > > ----- Original Message ----- > From: "Pat Maddox" <[hidden email]> > To: [hidden email] > Sent: Saturday, May 21, 2011 6:15:18 PM > Subject: [Metacello] Not loading the classes from my package... > > I'm creating my first metacello configuration. Right now it's a hello world Seaside app. I want to create two groups: Core and Development. Core loads my code and the Seaside dependencies, and Development loads Core+ extra Seaside development tools. > > I've been able to work through a number of issues by reading other configurations...but now I find myself stuck. Metacello *appears* to load my Monticello package, but the class defined inside of the Monticello package is *not* loaded. > > Here's my configuration: > > baseline10: spec > <version: '1.0-baseline'> > > spec for: #'common' do: [ > spec blessing: #'baseline'. > spec repository: '/Users/padillac/code/smalltalk'. > spec > project: 'Seaside 3.0 Core' with: [ > spec > className: 'ConfigurationOfSeaside30'; > versionString: #'stable'; > loads: #('Base' 'Seaside-Tools-OmniBrowser' 'Seaside-Adaptors-Comanche'); > repository: 'http://www.squeaksource.com/MetacelloRepository' ]. > spec > project: 'Seaside 3.0 Development' with: [ > spec > className: 'ConfigurationOfSeaside30'; > versionString: #'stable'; > loads: #('Development'); > repository: 'http://www.squeaksource.com/MetacelloRepository' ]. > spec package: 'SitBuddy-Core' with: [ > spec requires: #('Seaside 3.0 Core') ]. > spec group: 'Core' with: #('SitBuddy-Core'). > spec group: 'Development' with: #('Core' 'Seaside 3.0 Development'). ]. > > > version10: spec > <version: '1.0' imports: #('1.0-baseline' )> > > spec for: #'common' do: [ > spec blessing: #'development'. > spec description: ''. > spec author: 'PatMaddox'. > spec timestamp: '5/21/2011 15:52'. > spec project: 'Seaside 3.0 Core' with: '3.0.5'. > spec project: 'Seaside 3.0 Development' with: '3.0.5'. > spec package: 'SitBuddy-Core' with: 'SitBuddy-Core-PatMaddox.1' ]. > > > So here's something I find interesting...when I load my ConfigurationOfSitBuddy and then pull up the MetacelloBrowser, it shows me the baselines and versions. That looks like this: > > > > > > > It doesn't show me the Core and Development groups. Now, if I load Core, it pulls down all the stuff and then shows me the packages and groups: > > > > [image/png:Screen shot 2011-05-21 at 6.06.43 PM.png] > > > [image/png:Screen shot 2011-05-21 at 6.10.08 PM.png] > > > > > The only problem is, SitBuddy-Core doesn't show up in System Browser anywhere. Monticello seems to know about it though: > > > > [image/png:Screen shot 2011-05-21 at 6.11.44 PM.png] > > > > But it thinks there's nothing there :( > > > > [image/png:Screen shot 2011-05-21 at 6.12.32 PM.png] > > > > If I view the mcz file from the repository directly though, I see the class that I expect: > > > > [image/png:Screen shot 2011-05-21 at 6.13.39 PM.png] > > > > > > So.....I'm just a bit confused. Do I need to specify the class somewhere? > > Like I said, this is my first time doing a Metacello config, so I'm assuming I'm making a stupid error with metacello or monticello somewhere. > > Pat |
Free forum by Nabble | Edit this page |