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. |
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, 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. |
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. |
Free forum by Nabble | Edit this page |