Metacello mirror support?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Metacello mirror support?

Dale Henrichs
Just a quick note to solicit ideas comments on the idea of somehow supporting mirrored sites in Metacello ...

Version repositoryOverrides is too heavy handed to use with mirrors and editing every configuration version in the known universe to point to the mirror site isn't a good solution ...

Perhaps something like a mirror map at the platform or version level would be a better approach ... basically you'd provide a mapping between between a repository url and a set of urls that would be searched in it's place the code would look something like the following:


  version := (Smalltalk at: #ConfigurationOfMetacello) version: '1.0-beta.29'.
  version mirrorMap: {
    'http://www.squeaksource.com/metacello' -> {
      'http://www.squeaksource.com/metacello'.
      'http://www.dsal.cl/squeaksource/metacello'.
      'http://seaside.gemstone.com/ss/metacello'
      }.
    }

Then, everywhere that there is a reference to fetch mcz files from http://www.squeaksource.com/metacello, the other two repositories are searched as well ... I can imagine that this would be very straightforward to implement


We could arrange for doing official mirrors, but then we would be able to include references to mirrors that are maintained at the repository level ...

I am planning a release in the near future, so now would be a good time to add mirror support...

Dale
Reply | Threaded
Open this post in threaded view
|

Re: Metacello mirror support?

Guillermo Polito
I want this!!!  I don't know the internals of metacello, so I really can't tell where to put it, hehe.

But... let's have a look at maven (sorry :P):

1) I have my project configuration in my pom.xml.  Ok, there I can handle my project and write down configurations that only apply to it.  This one is the one I see as the ConfigurationOfMyProject.

2) then I have a global configuration, where I can write down stuff that applies for every project I have.

3) also, maven comes with lots of repositories already configurated, so when I want to download something, he just figures out one place where it is, and he gets it.

Maybe common configurations (or configuration inheritance) can be useful.

Cheers,
Guille, just thinking aloud :)

On Mon, Aug 29, 2011 at 1:37 PM, Dale Henrichs <[hidden email]> wrote:
Just a quick note to solicit ideas comments on the idea of somehow supporting mirrored sites in Metacello ...

Version repositoryOverrides is too heavy handed to use with mirrors and editing every configuration version in the known universe to point to the mirror site isn't a good solution ...

Perhaps something like a mirror map at the platform or version level would be a better approach ... basically you'd provide a mapping between between a repository url and a set of urls that would be searched in it's place the code would look something like the following:


 version := (Smalltalk at: #ConfigurationOfMetacello) version: '1.0-beta.29'.
 version mirrorMap: {
   'http://www.squeaksource.com/metacello' -> {
     'http://www.squeaksource.com/metacello'.
     'http://www.dsal.cl/squeaksource/metacello'.
     'http://seaside.gemstone.com/ss/metacello'
     }.
   }

Then, everywhere that there is a reference to fetch mcz files from http://www.squeaksource.com/metacello, the other two repositories are searched as well ... I can imagine that this would be very straightforward to implement


We could arrange for doing official mirrors, but then we would be able to include references to mirrors that are maintained at the repository level ...

I am planning a release in the near future, so now would be a good time to add mirror support...

Dale