Thanks! It helps! Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Oct 6, 2014, at 1:47 PM, Eliot Miranda <eliot.miranda@gmail.com> wrote:
Hi Alexandre,
On Mon, Oct 6, 2014 at 9:34 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Thanks Eliot. I know this. I meant code snippet to programmatically, within Pharo, do some queries.
Such as?
Some times ago I worked on a MCZ importer in Moose. I will have a look at it.
The key is to ask a repository for the versions it has, get one or more versions, and create snapshots from these versions:
e.g. SpurBootstrapMonticelloPackagePatcher in VMMaker.oscog creates patched versions of packages. To create a repository, e.g.
MCRepositoryGroup default repositories detect: [:r| r description = url] ifNone: [MCHttpRepository location: url user: 'squeak' password: 'squeak']
but there's also the package cache:
MCCacheRepository default
You can ask them what versions they have:
repository versionNamesForPackageNamed: package name
You can create these versions, and store them:
(trunk possiblyNewerVersionsOfAnyOf: latestUnbranched) do: [:unpatched| dest storeVersion: (trunk versionNamed: unpatched)]
And you can create "snapshots" of these versions which contain all the definitions:
version: version withPatches: patches for: package | snapshot ancestry | snapshot := MCPatcher apply: (self patchForPackage: package withPatches: patches snapshot: version snapshot) to: version snapshot. ancestry := MCWorkingAncestry new addAncestor: version info. ^MCVersion package: version package info: (ancestry infoWithName: (self spurBranchNameForInfo: version info package: package) message: version info name, ' patched for Spur by ', (CCodeGenerator shortMonticelloDescriptionForClass: self class), '\\' withCRs, version info message) snapshot: snapshot dependencies: {} "punt on computing dependencies; there are't any so far"
HTH
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
On Oct 6, 2014, at 1:25 PM, Eliot Miranda <eliot.miranda@gmail.com> wrote:
Hi Alexandre,
.mcz's are just zip files. The attached extracts the .st file as the package name with a .st extension instead of a .mcz extension.
HTH
On Mon, Oct 6, 2014 at 6:49 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Hi!
Anyone has some code snippet to extract data from .mcz file ? Getting all the classes, doing some queries...
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
-- best, Eliot <mzex> -- best, Eliot