Issue 3609 in pharo: Integrate RPackage

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

Issue 3609 in pharo: Integrate RPackage

pharo
Status: Accepted
Owner: [hidden email]

New issue 3609 by [hidden email]: Integrate RPackage
http://code.google.com/p/pharo/issues/detail?id=3609


RPackage aims to replace PackageInfo with a faster and cleaner  
implementation.

What RPackage is already able to do (or at least until you find something  
wrong;)) is:
- synchronize and initialize with the current PackageOrganizer in the  
system (RPackageOrhanizer class>> initializeDefault)
- update itself when changes are made in the system (new category, new  
class, new method, ... ) (see all tests in RPackageMCSynchronisationTest).

To point I am working on is to modify monticello to make it work using  
RPackage. I have currently A version that does not seem to crash all (:)  
that means that it save and load from a repository without error, and  
viewing changes seems to match with what you would expect). Now what could  
be cool is that the monticello tests green.
To have all this running in your image, that's what should evaluate:

    Gofer new
                squeaksource: 'PharoTaskForces';
                package: 'ConfigurationOfRPackage';
                load.
    (Smalltalk globals at: #ConfigurationOfRPackage) loadDefault.
    "to be sure that the organizer is initialized before loading anything  
else:"
    (Smalltalk globals at: #RPackageOrganizer) initializeDefault.

    Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'Monticello-cyrilledelaunay.505';
                merge.

     Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'MonticelloGUI-cyrilledelaunay.88';
                merge.








Reply | Threaded
Open this post in threaded view
|

Re: Issue 3609 in pharo: Integrate RPackage

pharo

Comment #1 on issue 3609 by [hidden email]: Integrate RPackage
http://code.google.com/p/pharo/issues/detail?id=3609

Another point to look at:

   Monticello needs to know what are the sub-categories of a package before  
saving it to a repository.
That work was concretly done by PackageOrganize,r which was looking for  
category-names  matching  with the packageInfo name.
For now I just copied this code, but I guess at the end we should avoid  
this kind of behavior by storing properly in a RPackage what are its  
sub-categories ?


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3609 in pharo: Integrate RPackage

pharo

Comment #2 on issue 3609 by [hidden email]: Integrate RPackage
http://code.google.com/p/pharo/issues/detail?id=3609

The decision in RPackage is to match categories 1-to-1 to packages. Thus,  
an RPackage will not have subcategories.


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3609 in pharo: Integrate RPackage

pharo

Comment #3 on issue 3609 by [hidden email]: Integrate RPackage
http://code.google.com/p/pharo/issues/detail?id=3609

Hi,

I made a Hudson for RPackage (loading it in the latest 1.3)

                https://pharo-ic.lille.inria.fr/hudson/job/Pharo%20RPackage/


load fails, #extensionClasses not understood (called in GoferCleanup)


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3609 in pharo: Integrate RPackage

pharo

Comment #4 on issue 3609 by [hidden email]: Integrate RPackage
http://code.google.com/p/pharo/issues/detail?id=3609

Ok, it should work now with that:


"load rpackage"
Gofer new
                squeaksource: 'PharoTaskForces';
                package: 'ConfigurationOfRPackage';
                load.
(Smalltalk globals at: #ConfigurationOfRPackage) loadDefault.
    "to be sure that the organizer is initialized before loading anything  
else:"

(Smalltalk globals at: #RPackageOrganizer) initializeDefault.

Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'Monticello-cyrilledelaunay.506';
                merge.

Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'MonticelloGUI-cyrilledelaunay.88';
                merge.


The problem was that Gorfer was sending some messages to RPackage that were  
only defined for PackageInfo. I will also change the build script


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3609 in pharo: Integrate RPackage

pharo

Comment #5 on issue 3609 by [hidden email]: Integrate RPackage
http://code.google.com/p/pharo/issues/detail?id=3609

Finally I does not have the rigth to edit the file rpackage.st.


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3609 in pharo: Integrate RPackage

pharo

Comment #6 on issue 3609 by [hidden email]: Integrate RPackage
http://code.google.com/p/pharo/issues/detail?id=3609

fixed the permissions


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3609 in pharo: Integrate RPackage

pharo

Comment #7 on issue 3609 by [hidden email]: Integrate RPackage
http://code.google.com/p/pharo/issues/detail?id=3609

"load rpackage"
Gofer new
                squeaksource: 'PharoTaskForces';
                package: 'ConfigurationOfRPackage';
                load.
(Smalltalk globals at: #ConfigurationOfRPackage) loadDefault.
    "to be sure that the organizer is initialized before loading anything  
else:"

(Smalltalk globals at: #RPackageOrganizer) initializeDefault.
(Smalltalk globals at: #RPackageOrganizer )  
removeMockPackagesFromOldOrganizer.

Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'Monticello-cyrilledelaunay.506';
                merge.

Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'MonticelloGUI-cyrilledelaunay.88';
                merge.


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3609 in pharo: Integrate RPackage

pharo

Comment #8 on issue 3609 by [hidden email]: Integrate RPackage
http://code.google.com/p/pharo/issues/detail?id=3609

RPackage tests and Monticello tests should be green in a 1.3 core image  
with that:

"load rpackage"
Gofer new
                squeaksource: 'PharoTaskForces';
                package: 'ConfigurationOfRPackage';
                load.
(Smalltalk globals at: #ConfigurationOfRPackage) loadDefault.
    "to be sure that the organizer is initialized before loading anything  
else:"

(Smalltalk globals at: #RPackageOrganizer) initializeDefault.
(Smalltalk globals at: #RPackageOrganizer )  
removeMockPackagesFromOldOrganizer.

Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'Monticello-cyrilledelaunay.511';
                merge.

Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'MonticelloGUI-cyrilledelaunay.88';
                merge.
               
Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'Tests-cyrilledelaunay.272';
                merge.


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3609 in pharo: Integrate RPackage

pharo

Comment #9 on issue 3609 by [hidden email]: Integrate RPackage
http://code.google.com/p/pharo/issues/detail?id=3609

Added the convienience method  
SimplePackageOrganizerBrowser>>openOnGlobalPackages.

Because the class comments were lacking a working example. If agreed, then  
we could change the class comment to use this method as an example.
Fernando


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3609 in pharo: Integrate RPackage

pharo

Comment #10 on issue 3609 by [hidden email]: Integrate RPackage
http://code.google.com/p/pharo/issues/detail?id=3609

I start to have good result when running all test in a1.3 core image.  
Failing tests and errors are the same from a standard core image and from  
the one using RPackage, except:
=> PharoCorePackageDepenciesTests >> #testFile
=> PharoCorePackageDepenciesTests >> #testMonticello
Both are not necessary due to a wrong behavior of RPackage, but also to  
some dependies found that were not expected (the expected depencies are  
harcoded).
=> ChangeHooksTest>>#testClassRecategorizedEvent2
This one is a bit hard to fix.

Here is what you should evaluate to have RPackage integrated to your system:

"load rpackage"
Gofer new
                squeaksource: 'PharoTaskForces';
                package: 'ConfigurationOfRPackage';
                load.
(Smalltalk globals at: #ConfigurationOfRPackage) loadDefault.
    "to be sure that the organizer is initialized before loading anything  
else:"

"(Smalltalk globals at: #RPackageOrganizer) initializeDefault."
(Smalltalk globals at: #RPackageOrganizer )  
removeMockPackagesFromOldOrganizer.

Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'Monticello-cyrilledelaunay.518';
                merge.

Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'MonticelloGUI-cyrilledelaunay.89';
                merge.
               
Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'Tests-cyrilledelaunay.282';
                merge.
               
Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'ScriptLoader13-cyrilledelaunay.41';
                merge.
               
Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'Gofer-Core-cyrilledelaunay.131';
                merge.
Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'Gofer-Tests-cyrilledelaunay.130';
                merge.
Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'SUnit-cyrilledelaunay.40124';
                merge.
               
Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'SUnitGUI-cyrilledelaunay.72';
                merge.
               
Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'System-Settings-cyrilledelaunay.216';
                merge.
               
Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'FixUnderscores-cyrilledelaunay.21';
                merge.
               
Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'HelpSystem-Core-cyrilledelaunay.77';
                merge.

Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'Metacello-Help-cyrilledelaunay.12';
                merge.
               
Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'Metacello-ToolBox-cyrilledelaunay.88';
                merge.


Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'SUnitGUI-cyrilledelaunay.72';
                merge.
               
Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'System-Installers-cyrilledelaunay.12';
                merge.
               
Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'System-Settings-cyrilledelaunay.216';
                merge.
               
Gofer new
                squeaksource: 'DelaunayTmpStuffs';
                version: 'System-Support-cyrilledelaunay.441';
                merge.