[Glass] loading seaside and zinc

Dale K. Henrichs dale.henrichs at gemtalksystems.com
Fri Nov 15 08:46:44 PST 2013



----- Original Message -----
| From: "Otto Behrens" <otto at finworks.biz>
| To: "Johan Brichau" <johan at yesplan.be>
| Cc: glass at lists.gemtalksystems.com
| Sent: Thursday, November 14, 2013 10:34:06 PM
| Subject: Re: [Glass] loading seaside and zinc
| 
| > Instructions for installing Zinc on Gemstone are on github:
| > https://github.com/glassdb/zinc
| 
| Thanks, yes. But, firstly, we work from a cloned repository, which we
| submodule under our main repo. This is because we like to pin the
| version that works and upgrade explicitly when we need to. We do a
| lot
| of deploys / loads in a day and doing it via github every time is
| expensive and not reliable. We are busy with an upgrade from GS 2 to
| GS 3, which makes it a bit more complicated because we have to use
| the
| correct branch. This is cool, we'll do it.
| 
| Secondly, we are trying to use Metacello to specify all our
| dependencies in one place. We have a configuration to load all the
| packages we use (from a local git repo) and one for all our own code.
| Currently, the glass, seaside and whatever packages is a mix of git
| repos and mcz files. We can change to the
| BaselineOf<OurInfrastructure> model, but this is not going to change
| much, I think.
| 
| I still think that using ConfigurationOfZincHTTPComponents in
| BaselineOfSeaside30 could be a problem. We must find a way to use the
| "spec baseline: 'Zinc' with: ..." approach in BaselineOfSeaside30. Or
| am I missing it here?

Yes I think you are right about this ... however the `lock` api in Metacello is intended to address this kind of issue. The fact that the project names are different: ZincHTTPComponents vs. Zinc is a problem, but if we change the name of the baseline in github to match ZincHTTPComponents we can use the `lock` api ...

Basically the `lock` api allows you to declare a particular projeect spec (project name, project version, project repository)  should be used in all Metacello operations involving that project ... So you can declare that your local git repository for ZincHTTPComponents should be used always ... 

| 
| I have to dig a bit more in the Metacello scripting api and more
| recent stuff as I've been out of the loop a bit, so take my comments
| with a pinch of salt.

Your use case is exactly why I invented the lock command ... you need to have complete control over which repositories get used in your project ... without having to edit (and take ownership) all of the configurations...

| 
| I could be making our lives unnecessarily difficult here, so if you
| spot where I'm missing it, please let me know.
| 
| Thanks for the feedback.
| 
| Otto
| _______________________________________________
| Glass mailing list
| Glass at lists.gemtalksystems.com
| http://lists.gemtalksystems.com/mailman/listinfo/glass
| 


More information about the Glass mailing list