Hello all,
Today, we worked on moving Moose on pharo2.0. We needed to update a few baselines because some packages were already present in Pharo2.0. For example,
- RPackage is already present in Pharo 2.0, so no need to load it in the image.
- PetitParser loads Glamour, which loads NECompletion and NEC does not have configuration for pharo2.0.
We decided to move all the moose code to STHub before porting it to 2.0 so that we can save changes somewhere. Some projects are created in STHub in the Moose team:
Fame (Moved all code from FAME on squeaksource to STHub, updated configurationOf to load from STHub + creating a version with latest dev.)
Glamour (in the process of downloading packages but its taking long, but glamour will be difficult because it has dependencies with other projects so may be it should be moved incrementally. Doru, I think you can take lead on that since you know the project better)
Moose (FAMIX + Moose-Core, downloading packages, will be committing next week)
PetitParser (will be moved next week too)
For people interested in moving code, here are the scripts for fetch and push.
==================================
"fetch all FAME packages from their repository"
| go |
go := Gofer new squeaksource: 'Fame'.
((go allResolved select: [:aPac |'*Fam*' match: aPac packageName ])
do: [:each |
self crLog: each packageName.
go package: each packageName.
Transcript show: each printString ; cr.
go fetch.]).
======================================
"commit all FAME packages into the smalltalkhub FAME project"
|go repo|
repo := MCSmalltalkhubRepository
owner: 'Moose'
project: 'Fame'
user: 'XXX'
password: 'XXX'.
go := Gofer new.
go repository: repo.
(((FileSystem disk workingDirectory / 'package-cache')
allFiles select: [:each | '*Fame*.mcz' match: each basename])
groupedBy: [:each | (each base copyUpToLast: $-) ])
keys do: [:name | go package: name; push]
Now, moving to Pharo2.0 is important, so it will be good to kill this boring task by working collaboratively :-)
Usman
P.S: The last step of moving every project is to create a new baseline to point to STHub for the project and preferably create a version with that baseline.