Get list of all package versions

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

Get list of all package versions

Johan Brichau-3
Hi,

I want to use Metacello to script the copying of the mcz files referenced by a version (or #bleedingedge) in the configuration.
However, the script on [1] fails to fetch the packages because the repositories list is empty in the loaderpolicy that is created as part of the script.

How can I make the policy use the repositories provided in the metacello config?
Also, is there a way to get a list of the packages for all possible platforms? Right now, I'm only getting the packages for the platform on which I am executing the script.

thx
Johan

[1] https://code.google.com/p/metacello/wiki/MaintainingSecondaryRepository

--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Get list of all package versions

Dale Henrichs-3
Johan,

As it happens I wrote some tODE tool code a while ago that allows me to basically deploy the FileTree packages (commit the packages and update configs) for 4-5 different platforms all from a GemStone image, so I'm certain that the code can be extracted to do what you are trying to do ... 

The code is going to be rooted in MCNewFileTreeTodeTool>>deploy[4], which calls MCNewFileTreeTodeTool>>doDeploy[5], which calls MCNewFileTreeTodeTool>>createVersionMapFor:[6], which calls MCTodeDeployTool>>createBranchMapFor:version:[7] ... and I think that you will be interested in the dictionary returned here ... Here's what a branchMap looks like:

.        -> aDictionary( 'squeak43'->aSet( aGoferVersionReference name: 'MonticelloFileTree-Core.squeak43-dkh.161', aGoferVersionReference name: 'Montic...
..       -> MCNewFileTreeTodeTool>>createVersionMapFor: @20 line 39
(class)@ -> Dictionary
(oop)@   -> 312617985
1@       -> 'gemstone24'->aSet( aGoferVersionReference name: 'MonticelloFileTree-Core.gemstone24-dkh.154', aGoferVersionReference name: 'MonticelloFileT...
2@       -> 'pharo11'->aSet( aGoferVersionReference name: 'MonticelloFileTree-Core.pharo11-dkh.154', aGoferVersionReference name: 'MonticelloFileTree-Fi...
3@       -> 'pharo13'->aSet( aGoferVersionReference name: 'MonticelloFileTree-Core.pharo13-dkh.154', aGoferVersionReference name: 'MonticelloFileTree-Fi...
4@       -> 'pharo14'->aSet( aGoferVersionReference name: 'MonticelloFileTree-Core.pharo14-dkh.154', aGoferVersionReference name: 'MonticelloFileTree-Fi...
5@       -> 'pharo20'->aSet( aGoferVersionReference name: 'MonticelloFileTree-FileSystem-Utilities.pharo20-EstebanLorenzano.19', aGoferVersionReference ...
6@       -> 'pharo30'->aSet( aGoferVersionReference name: 'MonticelloFileTree-Core.pharo30-dkh.154', aGoferVersionReference name: 'MonticelloFileTree-Fi...
7@       -> 'squeak43'->aSet( aGoferVersionReference name: 'MonticelloFileTree-Core.squeak43-dkh.161', aGoferVersionReference name: 'MonticelloFileTree-...

 it lists a set of package versions per platform ... if this is what you are looking for then I think you should be able to extract the code without too much trouble ... there's quite a bit involved but I think it is pretty straightforward ... Here'e the command that initiated the run that produced the above dictionary:

  ./deploy 1.0.5 @configRepo http://ss3.gemstone.com/ss/FileTree @repo @commitMessage false

the "tokens" on the above line correspond to the tokens collection in the code ...

MCTodeDeployTool[1], MCNewFileTreeTodeTool[2] and TDAbstractDevTool[3] are the primary classes in involved. but there might be calls to Monticello tools and/or Git tools that might or might not be interesting, just let me know if you need a pointer to a method that you can't find ...

Dale




On Wed, Mar 19, 2014 at 9:25 AM, Johan Brichau <[hidden email]> wrote:
Hi,

I want to use Metacello to script the copying of the mcz files referenced by a version (or #bleedingedge) in the configuration.
However, the script on [1] fails to fetch the packages because the repositories list is empty in the loaderpolicy that is created as part of the script.

How can I make the policy use the repositories provided in the metacello config?
Also, is there a way to get a list of the packages for all possible platforms? Right now, I'm only getting the packages for the platform on which I am executing the script.

thx
Johan

[1] https://code.google.com/p/metacello/wiki/MaintainingSecondaryRepository

--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Get list of all package versions

Johan Brichau-3
Thanks Dale, that sounds like what I need.
I will take a look!

Johan

On 19 Mar 2014, at 22:17, Dale Henrichs <[hidden email]> wrote:

> Johan,
>
> As it happens I wrote some tODE tool code a while ago that allows me to basically deploy the FileTree packages (commit the packages and update configs) for 4-5 different platforms all from a GemStone image, so I'm certain that the code can be extracted to do what you are trying to do ...
>
> The code is going to be rooted in MCNewFileTreeTodeTool>>deploy[4], which calls MCNewFileTreeTodeTool>>doDeploy[5], which calls MCNewFileTreeTodeTool>>createVersionMapFor:[6], which calls MCTodeDeployTool>>createBranchMapFor:version:[7] ... and I think that you will be interested in the dictionary returned here ... Here's what a branchMap looks like:
>
> .        -> aDictionary( 'squeak43'->aSet( aGoferVersionReference name: 'MonticelloFileTree-Core.squeak43-dkh.161', aGoferVersionReference name: 'Montic...
> ..       -> MCNewFileTreeTodeTool>>createVersionMapFor: @20 line 39
> (class)@ -> Dictionary
> (oop)@   -> 312617985
> 1@       -> 'gemstone24'->aSet( aGoferVersionReference name: 'MonticelloFileTree-Core.gemstone24-dkh.154', aGoferVersionReference name: 'MonticelloFileT...
> 2@       -> 'pharo11'->aSet( aGoferVersionReference name: 'MonticelloFileTree-Core.pharo11-dkh.154', aGoferVersionReference name: 'MonticelloFileTree-Fi...
> 3@       -> 'pharo13'->aSet( aGoferVersionReference name: 'MonticelloFileTree-Core.pharo13-dkh.154', aGoferVersionReference name: 'MonticelloFileTree-Fi...
> 4@       -> 'pharo14'->aSet( aGoferVersionReference name: 'MonticelloFileTree-Core.pharo14-dkh.154', aGoferVersionReference name: 'MonticelloFileTree-Fi...
> 5@       -> 'pharo20'->aSet( aGoferVersionReference name: 'MonticelloFileTree-FileSystem-Utilities.pharo20-EstebanLorenzano.19', aGoferVersionReference ...
> 6@       -> 'pharo30'->aSet( aGoferVersionReference name: 'MonticelloFileTree-Core.pharo30-dkh.154', aGoferVersionReference name: 'MonticelloFileTree-Fi...
> 7@       -> 'squeak43'->aSet( aGoferVersionReference name: 'MonticelloFileTree-Core.squeak43-dkh.161', aGoferVersionReference name: 'MonticelloFileTree-...
>
>  it lists a set of package versions per platform ... if this is what you are looking for then I think you should be able to extract the code without too much trouble ... there's quite a bit involved but I think it is pretty straightforward ... Here'e the command that initiated the run that produced the above dictionary:
>
>   ./deploy 1.0.5 @configRepo http://ss3.gemstone.com/ss/FileTree @repo @commitMessage false
>
> the "tokens" on the above line correspond to the tokens collection in the code ...
>
> MCTodeDeployTool[1], MCNewFileTreeTodeTool[2] and TDAbstractDevTool[3] are the primary classes in involved. but there might be calls to Monticello tools and/or Git tools that might or might not be interesting, just let me know if you need a pointer to a method that you can't find ...
>
> Dale
>
>
> [1] https://github.com/dalehenrich/tode/tree/master/repository/Topez-Server-Core.package/MCTodeDeployTool.class
> [2] https://github.com/dalehenrich/tode/tree/master/repository/Topez-Server-Core.package/MCNewFileTreeTodeTool.class
> [3] https://github.com/dalehenrich/tode/tree/master/repository/Topez-Server-Core.package/TDAbstractDevTool.class
> [4] https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/MCNewFileTreeTodeTool.class/instance/deploy.st
> [5] https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/MCNewFileTreeTodeTool.class/instance/doDeploy.st
> [6] https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/MCNewFileTreeTodeTool.class/instance/createVersionMapFor..st
> [7] https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/MCTodeDeployTool.class/instance/createBranchMapFor.version..st
>
>
> On Wed, Mar 19, 2014 at 9:25 AM, Johan Brichau <[hidden email]> wrote:
> Hi,
>
> I want to use Metacello to script the copying of the mcz files referenced by a version (or #bleedingedge) in the configuration.
> However, the script on [1] fails to fetch the packages because the repositories list is empty in the loaderpolicy that is created as part of the script.
>
> How can I make the policy use the repositories provided in the metacello config?
> Also, is there a way to get a list of the packages for all possible platforms? Right now, I'm only getting the packages for the platform on which I am executing the script.
>
> thx
> Johan
>
> [1] https://code.google.com/p/metacello/wiki/MaintainingSecondaryRepository
>
> --
> You received this message because you are subscribed to the Google Groups "Metacello" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups "Metacello" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.