On Thu, Jun 21, 2012 at 11:56 AM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
On Thu, Jun 21, 2012 at 11:35 AM, Guillermo Polito <guillermopolito@gmail.com> wrote:
PAvel, the kernel does not need any of the three actually. Why you need text in the kernel?
Because of TextContants. The users are:
Smalltalk allClasses select: [:each | each poolDictionaryNames includes: 'TextConstants' ]Â ->Â an OrderedCollection(CharacterBlock CharacterScanner CompositionScanner EncryptedMultiDisplayScanner FontSet LogicalFontManager MetacelloScriptLoader MultiCharacterBlockScanner MultiCharacterScanner MultiDisplayScanner ParseNode ScriptLoader StandardFonts StrikeFont StrikeFontSet TTCFont TTCFontDescription TTCFontSet TTFontDescription TTFontReader Text TextAlignment TextLine TextStyle UpdatingStringMorph)
so we thought the problem is Compiler. But we don't want that package in the kernel either ;) So...I removed 'Compiler' and 'Text' from #kernelPackageNames. The problem is now that during the shrinking we are removing Compiler, but we need it after ;)
I would move out TextConstants from this package (maybe to to a separate one) and moreover split this pool to two. DefaultFontFamily and so on should not be needed for Compiler :-)
PharoKernel shrinking report Error: MessageNotUnderstood: CompiledMethod>>parserClass 341 2 BlockClosure>>cull: 3 BlockClosure>>cull:cull: 4 5 BlockClosure>>cull: 6 7 BlockClosure>>ensure: 8 MethodContext(ContextPart)>>handleSignal: 9 MessageNotUnderstood(Exception)>>signal 10 CompiledMethod(Object)>>doesNotUnderstand: #parserClass 11 CompiledMethod>>getSourceReplacingSelectorWith: 12 ClassDescription class(Behavior)>>addTraitSelector:withMethod: 13 14 OrderedCollection>>do: 15 ClassDescription class(Behavior)>>updateMethodDictionarySelector: 16 17 Array(SequenceableCollection)>>do: 18 ClassDescription class(Behavior)>>noteChangedSelectors: 19 ClassDescription class(Behavior)>>removeSelector: 20 ClassDescription class(ClassDescription)>>removeSelector: 21 22 Array(SequenceableCollection)>>do: 23 ClassDescription class(ClassDescription)>>removeCategory: 24 25 OrderedCollection>>do: 26 27 Set>>do: 28 SystemNavigation>>removeAllButPackages: 29 30 BlockClosure>>on:do: 31 BlockClosure>>ifError: 32 SmalltalkImage>>privShrinkingProcess 33 34
So I think SystemNavigation default removeAllButPackages: self kernelPackageNames. should not remove Compiler and we should do it at the end of the process?
Pavel?
Can some Traits guru explain me why we need Compiler for removing of methods? :-) -- Pavel
On Thu, Jun 21, 2012 at 8:38 AM, Pavel Krivanek <pavel.krivanek@gmail.com> wrote:
This update significantly breaks the PharoKernel generation because classes in categories Text-Edition and Text-Scanning categories cannot be in this image.
Please reject and rollback this update. We need to split the package into three (Text-Core, Text-Edition, Text-Scanning) and check extension methods ownership. We need working PharoKernel for work on related jobs.
Cheers, -- Pavel
On Wed, Jun 20, 2012 at 6:21 PM, Esteban Lorenzano <estebanlm@gmail.com> wrote:
20145 -----
Issue 5945:   Nice packaging for Text stuff     http://code.google.com/p/pharo/issues/detail?can=2&q=5945
-- Mariano http://marianopeck.wordpress.com