So I know that some of you already started to use Moose under Pharo 1.1, and now it is time to assess the situation.
I took the latest Pharo Core on the web 11383.
I loaded the latest Pharo Conf 1.1-beta1.10517
Then I loaded default of ConfigurationOfMoose.
After loading, the first issue I knew beforehand is that there was a conflicting dependency between the version of MorphTreeWidget loaded by Moose default and the one which now comes by default with Pharo 1.1
I built two new default versions for Glamour and Moose with Pharo1.1 by removing this dependency:
(ConfigurationOfMoose project version: 'default11') load
should load a working Moose (not tested)
Tests got something like 200 errors, however most of them seem to have common roots (meaning fix one problem and you fix dozens of tests). There seem to be nothing really serious, just fixing changes in API and also compiler semantics, with strange things around.
1) For example, the following snippet of code is valid (I didn't even know that!) but the semantic has changed:
[ :i ] value: 1 -> returns 1 under Pharo 1.0, and nil under Pharo 1.1
2) Also it seems that the compiler now considers _ as a message send. Just try
MSEUtilities signatureFromSmalltalkSelector: #_
and you get a nice primitive failed. Of course the importer did not like it :)
I just replaced _ with :=
3) fix deprecation asSortedArray -> asArray sort in Hashtable
4) One fix NOT commited in Glamour:
Message send autoDeselect: produces DNU, rewritten as autoDeselection:
I started to do that, I'm now at 20 failures and 42 errors.
The fun thing is that the changes are not necessarily complicated, but the effects on tests can be weird (like above). So it's difficult sometimes to tell what is the problem. Now failing tests are mostly in GroupTest (some difference in importing the model, perhaps simply due to changes in the system classes imported) and MooseAlgos, a couple of other packages...
If someone knows how to replace the following snipper, it will solve a lot of error tests in MooseAlgos actually.
Stream endOfStreamSignal signal
I was not allowing dragging on my visualizations, however, I got that request and was trying it now...
I have a problem with some edges
the external edges (the ones that are crossing among packages).
When dragging they don't move
If i click on them, they appear where they should be connecting the respective entities.
I would like to know if it is possible to display text with some style
information (emphasis, color) in a GLMTextPresentation ?
I tryed to set a styled text as parameter of GLMTextPresentation >>
display:, but style informations are taken into account.
We are extremely happy to announce version 4.0 of the Moose Suite:
This is the first fully open source release of Moose: it is based on
Pharo 1.0 (released under MIT), and all its components are available
under a BSD or MIT license.
• New meta-meta-model: FM3 implemented in Fame
• New FAMIX 3 meta-model defined using Fame
• New query interface for FAMIX
• FAMIX extensions for Java to support annotations and exceptions
• Glamour: a new generic engine for scripting browsers
• Merlin: a new framework for defining wizards
• MooseAlgos: Improved generic algorithms for graph and data
• PetitParser: a novel framework for defining modular parsers
• Improved Mondrian engine for scripting graph-based visualizations
• Arki: a framework for fast creation of custom reports
Improved user interface:
• Extensible Moose Finder based on Glamour with integrated
visualizations and query facilities
• Moose meta-model browser
• Wizard-based importers for Smalltalk and Java (with inFusion)
• Customizable System Complexity visualization
• Customizable Distribution Map visualization
• Several dedicated browsers and viualizations
Better technical infrastructure:
• Hudson-based integration server
• Metacello project versioning
• Fame lint rules
• The Moose Book: http://themoosebook.org
• The Package Blueprint visualization
• Enriched DSM (eDSM): a suite of tools for detecting dependency cycles
• SmallDude: duplication detection engine
• Distribution Map engine
• Aspect Maps: a visual tool for understanding Java aspects
• Spy: a Smalltalk dynamic analysis instrumentation
• AutoMoose: an integration of Moose with the command line
• Moose JEE: a set of tools dedicated to the analysis of JEE systems
• CAnalyzer: a parser and a set of visualizations to analyze C systems
• Tighter integration with inFusion for Java parsing
A complete list of issues fixed in this release can be found at:http://code.google.com/p/moose-technology/issues/list?can=1&q=status=F...
An incomplete set of future actions:
• Trait-based FAMIX metamodel for better conceptual clarity and more
• Better layered architecture nearing Pharo core: the goal is to ease
the path from a Moose prototype to a stand-alone tool for Pharo.
• Improved FAMIX query API
• Improved Glamour engine
• Improved Mondrian engine
• EyeSee engine for drawing charts
• Better browsers for various analyses use cases
• Parsers for various languages
• Tests reorganization
• <your project as a default tool in Moose Suite> ;)
The Moose Team
I have a browser, which is a GLMTabulator.
I would like to dynamically change its number of rows.
Is there a way to do that?
My idea was:
Every time I want to update my browser, I delete all existing rows and
rebuild the ones i want. Is it possible?