(Ring?) Working with 'virtual' code entites
Hi everyone! As you may know Iâm working on code quality/smells/critics. And I want to analyze bigger projects like Moose for example. But Moose works on Pharo3 while my system works on Pharo4. Is is possible to somehow obtain Classes and methods from the repository and perform some analysis on them without installing them in the system? Because in my general workflow I just create a collection of classes like: `packages flatCollect: #definedClasses` and then work with them. So any suggestions are welcome :) Cheers. Uko
yes you should have a look at Ring on the contribution-pharo there is a JET image it can give you an idea. Stef Le 12/12/14 11:46, Yuriy Tymchuk a écrit :
Hi everyone!
As you may know Iâm working on code quality/smells/critics. And I want to analyze bigger projects like Moose for example. But Moose works on Pharo3 while my system works on Pharo4. Is is possible to somehow obtain Classes and methods from the repository and perform some analysis on them without installing them in the system? Because in my general workflow I just create a collection of classes like: `packages flatCollect: #definedClasses` and then work with them.
So any suggestions are welcome :)
Cheers. Uko
Yes, what is missing in the main image -> example how to load a mcz in Ring -> We need to extend CodeImporter to be able to load .st and .cs files into Ring. On Fri, Dec 12, 2014 at 2:55 PM, stepharo <stepharo@free.fr> wrote:
yes you should have a look at Ring on the contribution-pharo there is a JET image it can give you an idea. Stef
Le 12/12/14 11:46, Yuriy Tymchuk a écrit :
Hi everyone!
As you may know Iâm working on code quality/smells/critics. And I want to analyze bigger projects like Moose for example. But Moose works on Pharo3 while my system works on Pharo4. Is is possible to somehow obtain Classes and methods from the repository and perform some analysis on them without installing them in the system? Because in my general workflow I just create a collection of classes like: `packages flatCollect: #definedClasses` and then work with them.
So any suggestions are welcome :)
Cheers. Uko
Le 13/12/14 13:42, Marcus Denker a écrit :
Yes, what is missing in the main image
-> example how to load a mcz in Ring -> We need to extend CodeImporter to be able to load .st and .cs files into Ring.
there is old code of veronica in the oldRIng squeaksource repo called: FilePAckagecontents or something like that I was planning to migrate it but should finish other points first. In fact Ring-FileBasedClasses-VeronicaUquillas.6 contains the FilePackage ring equivalent. I will try to see if it is working. Stef
On Fri, Dec 12, 2014 at 2:55 PM, stepharo <stepharo@free.fr <mailto:stepharo@free.fr>> wrote:
yes you should have a look at Ring on the contribution-pharo there is a JET image it can give you an idea. Stef
Le 12/12/14 11:46, Yuriy Tymchuk a écrit :
Hi everyone!
As you may know Iâm working on code quality/smells/critics. And I want to analyze bigger projects like Moose for example. But Moose works on Pharo3 while my system works on Pharo4. Is is possible to somehow obtain Classes and methods from the repository and perform some analysis on them without installing them in the system? Because in my general workflow I just create a collection of classes like: `packages flatCollect: #definedClasses` and then work with them.
So any suggestions are welcome :)
Cheers. Uko
2014-12-14 11:08 GMT+01:00 stepharo <stepharo@free.fr>:
Le 13/12/14 13:42, Marcus Denker a écrit :
Yes, what is missing in the main image
-> example how to load a mcz in Ring -> We need to extend CodeImporter to be able to load .st and .cs files into Ring.
there is old code of veronica in the oldRIng squeaksource repo called: FilePAckagecontents or something like that I was planning to migrate it but should finish other points first.
In fact Ring-FileBasedClasses-VeronicaUquillas.6 contains the FilePackage ring equivalent. I will try to see if it is working.
Stef
Ah, I read about Ring ( http://rmod.lille.inria.fr/archives/papers/Uqui11a-RingJournalPaper-CSSJourn... ) and that there is a FileContentsBrowser based on this and was already wondering where the code is.
On Fri, Dec 12, 2014 at 2:55 PM, stepharo <stepharo@free.fr> wrote:
yes you should have a look at Ring on the contribution-pharo there is a JET image it can give you an idea. Stef
Le 12/12/14 11:46, Yuriy Tymchuk a écrit :
Hi everyone!
As you may know Iâm working on code quality/smells/critics. And I want to analyze bigger projects like Moose for example. But Moose works on Pharo3 while my system works on Pharo4. Is is possible to somehow obtain Classes and methods from the repository and perform some analysis on them without installing them in the system? Because in my general workflow I just create a collection of classes like: `packages flatCollect: #definedClasses` and then work with them.
So any suggestions are welcome :)
Cheers. Uko
Yes, what is missing in the main image
-> example how to load a mcz in Ring -> We need to extend CodeImporter to be able to load .st and .cs files into Ring.
there is old code of veronica in the oldRIng squeaksource repo called: FilePAckagecontents or something like that I was planning to migrate it but should finish other points first.
In fact Ring-FileBasedClasses-VeronicaUquillas.6 contains the FilePackage ring equivalent. I will try to see if it is working.
Stef
Ah, I read about Ring (http://rmod.lille.inria.fr/archives/papers/Uqui11a-RingJournalPaper-CSSJourn...) and that there is a FileContentsBrowser based on this and was already wondering where the code is.
Now you know. I hope to get some time to rescue her code to be able to remove the PseudoClass (I started to write a new simple external file package with Spec but the conversion MCZ to Ring was missing. If somebody is faster than me, I will use his code happily :) Stef
On Fri, Dec 12, 2014 at 2:55 PM, stepharo <stepharo@free.fr <mailto:stepharo@free.fr>> wrote:
yes you should have a look at Ring on the contribution-pharo there is a JET image it can give you an idea. Stef
Le 12/12/14 11:46, Yuriy Tymchuk a écrit :
Hi everyone!
As you may know Iâm working on code quality/smells/critics. And I want to analyze bigger projects like Moose for example. But Moose works on Pharo3 while my system works on Pharo4. Is is possible to somehow obtain Classes and methods from the repository and perform some analysis on them without installing them in the system? Because in my general workflow I just create a collection of classes like: `packages flatCollect: #definedClasses` and then work with them.
So any suggestions are welcome :)
Cheers. Uko
Uko, I have an experiment in that direction. I still have to package it. I could load ring entities from "not-loaded" packages and run some lint rules on them. Besides the problem of how to read the MC definitions as virtual/ring entities, I found in Lint rules: at several points, RB accesses the system dictionary (instead of accessing your "virtual" environment). I fixed some of those tricky points in my image but sometimes in a nasty way, so I didn't commit... MartÃn On Fri, Dec 12, 2014 at 11:46 AM, Yuriy Tymchuk <yuriy.tymchuk@me.com> wrote:
Hi everyone!
As you may know Iâm working on code quality/smells/critics. And I want to analyze bigger projects like Moose for example. But Moose works on Pharo3 while my system works on Pharo4. Is is possible to somehow obtain Classes and methods from the repository and perform some analysis on them without installing them in the system? Because in my general workflow I just create a collection of classes like: `packages flatCollect: #definedClasses` and then work with them.
So any suggestions are welcome :)
Cheers. Uko
participants (5)
-
Marcus Denker -
Martin Dias -
Nicolai Hess -
stepharo -
Yuriy Tymchuk