[squeak-dev] Re: Metacello class >>#load ( was Re: unsupported
projects )
Sean P. DeNigris
sean at clipperadams.com
Sat May 15 03:54:45 UTC 2010
Chris Cunnington-3 wrote:
>
> First of all, what is it you're doing with AppleScript? I don't quite get
> what you're automating.
> ...snip...
> I'm guessing that you used AppleScript on some configurations that had
> #load, and now you've found one that doesn't.
>
Yes, not enough context in my example. The Applescript project is a
dependency of ExternalWebBrowser that is automatically loaded during the
initialization of a class in ExternalWebBrowser.
And, my musing was not about how to get this specifically to load (I hacked
away during the installation and got it running), but what I see as a gap in
the current spec format.
What I am pulling for, is a way to know exactly what versions of what fork a
Config is made for. For example, this Config only had a #pharo part in the
baseline, no #common (I'm guessing this is why it failed in Squeak).
However, it didn't work in Pharo 1.0 *or* 1.1. If it was clear from looking
at the spec what variants it works on (e.g. Pharo 1.x, or 0.9 to 1.3, or
whatever), then it wouldn't be a mystery when it failed on another. There
could even be a warning dialog telling the installer 'hey this may not work
on this platform, do you still want to try?' (a la SqMap).
Chris Cunnington-3 wrote:
>
> My summary is this: if you install a config and it has #load on the class
> side, you're golden. If not, then you're in a world of the unknown.
> ...snip...
> But for me: no #load, means no go. And
> until we can get a standard API here, then it's flawed.
>
Yes, I've run into this. I've always been able to load, but sometimes it
involves throwing several messages at the wall - it would definitely be
easier if they all had a load.
In this case, it's: (ConfigurationOfExternalWebBrowser project)
latestVersion load.
Sean
Sean P. DeNigris wrote:
>
> Where I am hitting the wall is managing compatibility with different
> flavors of Squeak. Let me recount my latest experience...
>
>> I want to install ExternalWebBrowser.
>> Oh good, there is a ConfigurationOf... in the SqS MetacelloRepository
>> Let me make sure it works and then I'll add it to my ImageSetup script
>> Results
>> Pharo 1.1 trunk update 11364: ExternalWebBrowserMacOS
>> class>>isApplescriptAvailable references SMSqueakMap, which was removed
>> from Pharo. Ugh, okay, I'll manually install Applescript via Gofer and
>> Monticello, then restart
>> Pharo 1.0: same problem
>> Squeak 4.1 trunk update 10145: MetacelloMCProjectSpec's instance
>> variable 'className' is nil; when asSymbol is called on it, DNU asSymbol
>> Squeak 4.1 official release: same problem
>
> So my question is - what platform does this config target? It failed for
> all the current Squeak and Pharo images!
>
> As a user, I would like to either:
> * have a specific place (depending on my platform) to find the correct
> config
> * or, even easier (and I suspect much less duplication, since many configs
> may work with multiple platforms), a way to mark ConfigurationsOf as
> working with particular platforms. Then, you could at least issue a
> warning, like SqMap, that 'the Config was not approved for this platform,
> do you want to continue.' If this info was built into the Metacello
> model, one might even be able to query the MetacelloRepository for configs
> approved for the current platform.
>
> The way it is now, I think I spent more time above than manually resolving
> the dependencies.
> What are your experiences with this issue, if any?
>
> Thanks.
> Sean
>
--
View this message in context: http://forum.world.st/Metacello-class-load-was-Re-unsupported-projects-tp2217446p2217478.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.
More information about the Squeak-dev
mailing list
|