Search code examples
smalltalkpharomonticello

Saving several Monticello packages at once


I am working with Pharo Smalltalk. Suppose you want to save your own group of packages into a local repository, you know that your packages are prefixed with "MyPrefix". What's the right message to do it? In code:

| myPkgs |
myPkgs := MCPackage allInstances select: [: mcPkg | mcPkg name beginsWith: 'MyPrefix' ].
myPkgs do: [ : myPkg | myPkg ??? ].

It would be too difficult to script that one for a web based repository?


Solution

  • packages := Gofer new allResolved
            collect: [ :each | each packageName ] as: Set.
    packages := packages select: [ :e | e beginsWith: 'Prefix' ].
    
    gofer := Gofer new
        disablePackageCache;
        directory: '/path/to/repo'.
    packages do: [ :p | gofer package: p ].
    gofer commit: ''.