[squeak-dev] MC Configurations feature request

Robert Withers robert.withers at pm.me
Sun Jun 7 18:17:38 UTC 2020

On 6/6/20 9:49 PM, David T. Lewis wrote:
> On Fri, Jun 05, 2020 at 03:06:44PM +0000, Robert Withers via Squeak-dev wrote:
>> Hello,
>> Someone is working on Monticello configuration maps, I think it is David
>> Lewis. David, would it be possible to add the feature that a config map
>> can load another config map? I want to set ProCrypto-1-1-1 map to be
>> loaded by PromisesLoader, loading remote promises.
>> K, r
> Hi Robert,

Hi David,

> An MCConfiguration (aka MCM file) is a simple specification of a set of
> Monticello package versions. It serves as a checkpoint specification in
> an update stream, such as the Squeak trunk update stream. It is not intended
> to support dependency management.

Yet it does so. Quite well, I would observe. My preferred dependency 
mechanism needs a tiny little bit more support, configs in configs. I 
will pray for this to happen.

> Metacello is designed to support more complex configuration specifications.
> If a configuration cannot be clearly specified with an MCM configuration map,
> then it is probably time to use Metacello to address the issue.

Yuck. I would prefer a first-class build & dependency language, similar 
to Gradle[1]. It would provide all the conditional aspects and version 
specification for past releases. Also it could be made to callout to 
gcc, cmake, autoconf, etcetera. And automatic [git pull; git commit; git 
push]. This is the build environment for doing round-trip builds and 
investigations, spoken about recently in the vm-dev list.

I am not sure I can express myself effectively, as I don't just want to 
say yuck and carry on. I owe an explanation of my opinion. I strongly 
dislike the auto-construction of #baselineOf and #configurationOf 
methods and their required presence. We should have repositories of 
artifacts and dependency specification in a build declaration script. 
Call it a .sqm for Smalltalk Qualification Module. This has the protocol 
of the new Smalltalk-based Gradle.


[1] Gradle - https://gradle.org/

> Dave

More information about the Squeak-dev mailing list