[squeak-dev] Modularity

Levente Uzonyi leves at elte.hu
Tue May 3 22:54:37 UTC 2011


On Tue, 3 May 2011, Chris Muller wrote:

>> http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-May/150658.html
>
> Hi Chris, virtually everything in that post has been fulfilled by the
> advancements made to SqueakMap.  We have Community-Supported Packages,

I have to disagree with you:

"1. Establish the status and the rules for "Community Supported Packages"."

We can tag packages as community supported on SqueakMap, but where are the 
rules?

"2. Create the "Configurations" package and start populating it with some
examples (Omnibrowser, FFI, Magma ...) to see how that 'feels' like."

This is halfway there. Some packages have configurations, others don't.

"3. Encourage people to bring their packages up to 'community standards'
and include them in the Configurations."

TBD

"4. Provide a better installer than these awful doIts for Metacallo."

Those doIts became pretty good, we should use #stableVersion for
realases and #bleedingEdge for head.

"5. Establish a test server to automatically verify the community
standards for supported packages (i.e., load packages randomly, ensure
no conflicts, run tests, report results)."

We don't have such thing at the moment. The installation of Hudson didn't 
happen so far.

> see "Connectors" as a working example of this,

"* No conflicts. Neither class names nor -override categories. The
rationale is that all community supported packages can be loaded
together without creating conflicts."

Collections, Kernel and System are dirty after loading Connectors, 
because it's "stealing" methods.

"* Tests mandatory. A community supported package MUST have tests. The
rationale is that since we provide the guarantee that the package has
been tested, we need to ensure that testing can be automated to the
maximum extent possible. It doesn't mean 100% coverage but *some*
meaningful set of tests need to be provided or else we can't say if we
broke it in the latest update."

There are only 4 tests, which is very little. The tests leave garbage 
on the desktop and when you want to get rid of it, you'll get debuggers.

So Connectors doesn't match these requirements.

IMHO all community supported packages should also be unloadble. Which 
means that there's no garbage left after unloading.


Levente

snip



More information about the Squeak-dev mailing list