Wrinting a script to load packages from Monticello

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

Wrinting a script to load packages from Monticello

Damien Cassou-3
Hi,

I would like to write a script that:

- Add repositories to monticello (ie: mc.lukas-renggli.ch/magritte)
- Load latest versions of some packages in this repositories

How can I do that ?

Thanks

--
Damien Cassou


Reply | Threaded
Open this post in threaded view
|

Re: Wrinting a script to load packages from Monticello

John Pierce-2
Hi Damien,

Check out: http://www.saltypickle.com/Home/uploads/SqueakInstaller-jrp.4.cs.

While you may not need all this changeset does it, it does have code
that processes over literal arrays like this:

#((Core 'squeak.saltypickle.com/Core')
  (InstanceEncoder 'squeak.saltypickle.com/InstanceEncoder')
  (GoodsServer 'squeak.saltypickle.com/GoodsServer'))

This array would end up being used by the code to create three MC
repositories and loading the latest versions from these URLs.

Enjoy,

John

On 5/5/06, Damien Cassou <[hidden email]> wrote:

> Hi,
>
> I would like to write a script that:
>
> - Add repositories to monticello (ie: mc.lukas-renggli.ch/magritte)
> - Load latest versions of some packages in this repositories
>
> How can I do that ?
>
> Thanks
>
> --
> Damien Cassou
>
>
>


--
The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore, all
progress depends on the unreasonable man. -- George Bernard Shaw

Reply | Threaded
Open this post in threaded view
|

Re: Wrinting a script to load packages from Monticello

Damien Cassou-3
John Pierce a écrit :
> Hi Damien,
>
> Check out:
> http://www.saltypickle.com/Home/uploads/SqueakInstaller-jrp.4.cs.

Thank you very much John. It's exactely what I needed. Thanks :-)

--
Damien Cassou


Reply | Threaded
Open this post in threaded view
|

Re: Wrinting a script to load packages from Monticello

Damien Cassou-3
In reply to this post by Damien Cassou-3
Here is my script that loads things like magritte, ecompletion, shout,
seaside, pier...

Fell free to comment it.

--
Damien Cassou


| map |
Transcript openLabel: 'Transcript'.
map := SMSqueakMap default.
map loadUpdates.

#('DynamicBindings' 'KomServices' 'KomHttpServer' 'Shout' 'ShoutWorkspace' 'eCompletion') do:
        [ :package |
                map installPackageRelease: (map packageWithNameBeginning: package) lastPublishedRelease].

#(#('Seaside2.6a3' 'http://www.squeaksource.com/Seaside') #('Scriptaculous' 'http://www.squeaksource.com/Seaside') #('Magritte-All' 'http://mc.lukas-renggli.ch/magritte') #('Pier-All' 'http://mc.lukas-renggli.ch/pier')) do:
        [:package | | repository version url fileToLoad sortMczs userString passwordString|
        fileToLoad _ nil.
        userString _ ''.
        passwordString _ ''.
        url _ package second asUrl asString.
       
        repository _ MCHttpRepository location: url user: userString password: passwordString.
        sortMczs _ [:a :b |
                [(a findBetweenSubStrs: #($.)) allButLast last asInteger > (b findBetweenSubStrs: #($.)) allButLast last asInteger]
                on: Error do: [:ex | false]].

        fileToLoad _ (repository readableFileNames asSortedCollection: sortMczs) detect:
                        [:file | file beginsWith: package first].

        version _ repository versionFromFileNamed: fileToLoad.
        version workingCopy repositoryGroup addRepository: repository.
        repository creationTemplate: 'MCHttpRepository
        location: ''', url, '''
        user: ''', userString, '''
        password: ''', passwordString, ''''.

        version load].

Transcript cr; show: 'Everything installed'; cr.

Reply | Threaded
Open this post in threaded view
|

Re: Wrinting a script to load packages from Monticello

stéphane ducasse-2
It would be nice to improve the interface of the various classes so  
that we can write such script in a much less verbose way.
It looks like assembly somehow.

Stef

On 5 mai 06, at 16:20, Damien Cassou wrote:

> Here is my script that loads things like magritte, ecompletion,  
> shout, seaside, pier...
>
> Fell free to comment it.
>
> --
> Damien Cassou
>
> | map |
> Transcript openLabel: 'Transcript'.
> map := SMSqueakMap default.
> map loadUpdates.
>
> #('DynamicBindings' 'KomServices' 'KomHttpServer' 'Shout'  
> 'ShoutWorkspace' 'eCompletion') do:
> [ :package |
> map installPackageRelease: (map packageWithNameBeginning:  
> package) lastPublishedRelease].
>
> #(#('Seaside2.6a3' 'http://www.squeaksource.com/Seaside') #
> ('Scriptaculous' 'http://www.squeaksource.com/Seaside') #('Magritte-
> All' 'http://mc.lukas-renggli.ch/magritte') #('Pier-All' 'http://
> mc.lukas-renggli.ch/pier')) do:
> [:package | | repository version url fileToLoad sortMczs  
> userString passwordString|
> fileToLoad _ nil.
> userString _ ''.
> passwordString _ ''.
> url _ package second asUrl asString.
>
> repository _ MCHttpRepository location: url user: userString  
> password: passwordString.
> sortMczs _ [:a :b |
> [(a findBetweenSubStrs: #($.)) allButLast last asInteger > (b  
> findBetweenSubStrs: #($.)) allButLast last asInteger]
> on: Error do: [:ex | false]].
>
> fileToLoad _ (repository readableFileNames asSortedCollection:  
> sortMczs) detect:
> [:file | file beginsWith: package first].
>
> version _ repository versionFromFileNamed: fileToLoad.
> version workingCopy repositoryGroup addRepository: repository.
> repository creationTemplate: 'MCHttpRepository
> location: ''', url, '''
> user: ''', userString, '''
> password: ''', passwordString, ''''.
>
> version load].
>
> Transcript cr; show: 'Everything installed'; cr.


Reply | Threaded
Open this post in threaded view
|

Re: Wrinting a script to load packages from Monticello

Colin Putney
In reply to this post by Damien Cassou-3

On May 5, 2006, at 4:57 AM, Damien Cassou wrote:

> Hi,
>
> I would like to write a script that:
>
> - Add repositories to monticello (ie: mc.lukas-renggli.ch/magritte)
> - Load latest versions of some packages in this repositories
>
> How can I do that ?

Looks like you've already got something going, but you might also be  
interested in the installers I wrote for OmniBrowser and Monticello2.:

http://www.wiresong.ca/static/releases/OBInstaller-cwp.11.st
http://www.wiresong.ca/static/releases/MDInstaller.1.st

Colin

Reply | Threaded
Open this post in threaded view
|

Re: Wrinting a script to load packages from Monticello

Bert Freudenberg-3

Am 05.05.2006 um 18:13 schrieb Colin Putney:

>
> On May 5, 2006, at 4:57 AM, Damien Cassou wrote:
>
>> Hi,
>>
>> I would like to write a script that:
>>
>> - Add repositories to monticello (ie: mc.lukas-renggli.ch/magritte)
>> - Load latest versions of some packages in this repositories
>>
>> How can I do that ?
>
> Looks like you've already got something going, but you might also  
> be interested in the installers I wrote for OmniBrowser and  
> Monticello2.:
>
> http://www.wiresong.ca/static/releases/OBInstaller-cwp.11.st
> http://www.wiresong.ca/static/releases/MDInstaller.1.st

And, MC config maps serve exactly the same purpose.

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: Wrinting a script to load packages from Monticello

Edgar J. De Cleene
In reply to this post by stéphane ducasse-2
stéphane ducasse puso en su mail :

> It would be nice to improve the interface of the various classes so
> that we can write such script in a much less verbose way.
> It looks like assembly somehow.
>
> Stef
Our student Alejandro Cavagna do this attached.

You could mix any of .cs, mcz and save and load  the configuration on other
image.

http://wiki.gnulinex.org/squeakros/76 is the Spanish page for this, if you
wish I convince he do a English one on minnow.

He also collaborate with me in several server things , like a Squeak image
"almost" drived from a remote regular browser.

Cheers.

Edgar




HtmlScreenHandler17.st (738 bytes) Download Attachment
HtmlScreenHandler17.st (13K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

RE: Wrinting a script to load packages from Monticello

Sebastián Sastre
In reply to this post by Bert Freudenberg-3
Bert,

        I've cassually made a pair of them today. I've made a pair of .bat
commands to aid the process.

        I proceed this way:

        1. execute Clear.bat
        2. execute GenerateBase.bat
        3. execute StartSqueakLoadingProject.bat

        The only manual thing I have to do is to edit the version numbers of
my packages in ProjectLoader.st file.
       
        Note I unzip a Seaside-2.5.zip image (the .image and .changes files)
with 7z and that ziped image already has an updated SqueakMap.

        Regards,

Sebastian



> -----Mensaje original-----
> De: [hidden email]
> [mailto:[hidden email]] En
> nombre de Bert Freudenberg
> Enviado el: Viernes, 05 de Mayo de 2006 17:48
> Para: The general-purpose Squeak developers list
> Asunto: Re: Wrinting a script to load packages from Monticello
>
>
> Am 05.05.2006 um 18:13 schrieb Colin Putney:
>
> >
> > On May 5, 2006, at 4:57 AM, Damien Cassou wrote:
> >
> >> Hi,
> >>
> >> I would like to write a script that:
> >>
> >> - Add repositories to monticello (ie: mc.lukas-renggli.ch/magritte)
> >> - Load latest versions of some packages in this repositories
> >>
> >> How can I do that ?
> >
> > Looks like you've already got something going, but you
> might also be
> > interested in the installers I wrote for OmniBrowser and
> > Monticello2.:
> >
> > http://www.wiresong.ca/static/releases/OBInstaller-cwp.11.st
> > http://www.wiresong.ca/static/releases/MDInstaller.1.st
>
> And, MC config maps serve exactly the same purpose.
>
> - Bert -
>
>



ProjectPrerequisitesLoader.st (645 bytes) Download Attachment
ProjectLoader.st (483 bytes) Download Attachment
ClearDOTbat (140 bytes) Download Attachment
GenerateBaseDOTbat (48 bytes) Download Attachment
StartSqueakLoadingProjectDOTbat (43 bytes) Download Attachment