Here are the output of both scenarios. Notice that my experiment finishes in WAWalkbackErrorHandler because there is where I have the error.
Thanks for any help. On Sat, May 19, 2012 at 11:20 PM, Mariano Martinez Peck < [email protected]> wrote: > > > On Sat, May 19, 2012 at 9:01 PM, Dale Henrichs <[email protected]>wrote: > >> Mariano, >> >> To shed some light on the exact problem, I think that you should record >> the initialization order of a Metacello load and compare that to the >> initialization order that you are using. >> >> While your algorithm looks like it is correct it doesn't necessarily >> match the actual initialization order you get when using Monticello and >> Metacello... >> >> It would be interesting to find out where the differences in order are >> and then focus on understanding why... >> > > Hi Dale. Well, I did that. I noticed 2 differences: > > 1) If the class already exist and the #initialize is the same, it is not > re-executed. In my case, I execute it always. I know, this is a problem I > have. Nevertheless, the only classes that already exist in the image I am > loading is Zinc...and the problem does not seem related to that. > > 2) The order of the classes/methods inside a package is different. I mean, > I load the packages in order, but inside, for each package, the order I > send #initialize is not the same as Monticello. Example: > > My code: > > Initializing class: WAKeyGenerator class > Initializing class: WAUrlEncoder class > Initializing class: WAServerManager class > Initializing class: WALocale class > Initializing class: WAResponse class > Initializing class: WAXmlEncoder class > Initializing class: WASystemConfiguration class > Initializing class: WASharedConfiguration class > Initializing class: WAAbstractFileLibrary class > > Monticello: > > Initialize class: (Seaside-Core-Libraries) -- WAAbstractFileLibrary > Initialize class: (Seaside-Core-Configuration) -- WASystemConfiguration > Initialize class: (Seaside-Core-Configuration) -- WASharedConfiguration > Initialize class: (Seaside-Core-Document) -- WAUrlEncoder > Initialize class: (Seaside-Core-Document) -- WAXmlEncoder > Initialize class: (Seaside-Core-Utilities) -- WAKeyGenerator > Initialize class: (Seaside-Core-HTTP) -- WALocale > Initialize class: (Seaside-Core-HTTP) -- WAResponse > Initialize class: (Seaside-Core-Server) -- WAServerManager > > So...maybe this is the reason? what I am thinking now that maybe the > problem is not in the initialization but instead of export? I mean, maybe > Monticello exports methods/classes with certain order and that's why it > works? because when exporting I am not using any order at all. > > Thanks > > > > >> >> Dale >> >> ----- Original Message ----- >> | From: "Mariano Martinez Peck" <[email protected]> >> | To: "Pharo Development" <[email protected]> >> | Sent: Saturday, May 19, 2012 11:25:57 AM >> | Subject: [Pharo-project] Order of sending class side #initialize >> | >> | Hi guys. I am doing some experiments with FuelPackageLoader and I >> | have a problem with the initialization. All my unit tests pass but >> | when trying to export/import seaside/pier/magritte, I have a >> | problem. >> | What I do basically, is to ask Metacello the list of packages that I >> | need to loaded for seaside and friends. The list is IN ORDER OF >> | LOADING. So what I do during the import is to load each package in >> | the correct order (the one Metacello told me). For each package I >> | load, I initialize its classes (at the end of the load of the >> | package). The order I initialize classes for a package is: >> | >> | ((aPackage classes select: [:each | each isBehavior]) >> | sort: [:a :b | a allSuperclasses size < b allSuperclasses size ]) >> | do: [:aClass | >> | Transcript show: 'Initializing class: ', aClass name; cr. >> | aClass initializeOnLoad] >> | >> | and >> | >> | Class >> initializeOnLoad >> | (self class includesSelector: #initialize) >> | ifTrue: [self initialize] >> | >> | >> | so...I am having a problem with seaside with a class and it looks >> | like a problem of the order of the initialize. Do you think >> | something is wrong with our approach? any idea? >> | >> | thanks in advance, >> | >> | -- >> | Mariano >> | http://marianopeck.wordpress.com >> | >> | >> >> > > > -- > Mariano > http://marianopeck.wordpress.com > > -- Mariano http://marianopeck.wordpress.com
Initialize class: (Grease-Core-Text) -- GRInflector Initialize class: (Grease-Core-Text) -- GRNumberPrinter Initialize class: (Grease-Pharo-Core) -- GRPharoPlatform Initialize class: (Grease-Pharo-Core) -- GRPharoUtf8CodecStream Initialize class: (Grease-Pharo-Core) -- GRPharoRandomProvider Initialize class: (Seaside-Core-Libraries) -- WAAbstractFileLibrary Initialize class: (Seaside-Core-Configuration) -- WASystemConfiguration Initialize class: (Seaside-Core-Configuration) -- WASharedConfiguration Initialize class: (Seaside-Core-Document) -- WAUrlEncoder Initialize class: (Seaside-Core-Document) -- WAXmlEncoder Initialize class: (Seaside-Core-Utilities) -- WAKeyGenerator Initialize class: (Seaside-Core-HTTP) -- WALocale Initialize class: (Seaside-Core-HTTP) -- WAResponse Initialize class: (Seaside-Core-Server) -- WAServerManager Initialize class: (Seaside-Canvas) -- WARenderCanvas Initialize class: (Javascript-Core) -- JSStream Initialize class: (JQuery-Core-Objects) -- JQuery Initialize class: (Seaside-Examples-Misc) -- WACounter Initialize class: (Seaside-Examples-Misc) -- WAExampleBrowser Initialize class: (Seaside-Examples-Misc) -- WAMultiCounter Initialize class: (RSS-Examples) -- RRDemo Initialize class: (Seaside-Tools-Web) -- WAConfigurationTool Initialize class: (Seaside-Tools-Web) -- WADispatcherBrowser Initialize class: (Seaside-Tools-Web) -- WAStatus Initialize class: (Seaside-Pharo-Tools-Web) -- WAUpTimeTracker Initialize class: (Seaside-Pharo-Tools-Web) -- WAScreenshot Initialize class: (Seaside-Pharo-Tools-Web) -- WAVNCController Initialize class: (Seaside-Pharo-Tools-Web) -- WAVersionUploader Initialize class: (Seaside-Environment) -- WAEnvironment Initialize class: (Seaside-Development-Core) -- WAWalkbackErrorHandler Initialize class: (Seaside-Development-Core) -- WADevelopmentConfiguration Initialize class: (Seaside-Tests-Functional) -- WAExpirySession Initialize class: (Seaside-Tests-Functional) -- WAAllFunctionalTests Initialize class: (Seaside-Welcome) -- WAWelcome Initialize class: (Scriptaculous-Tests-Core-Functional) -- SUAllFunctionalTests Initialize class: (Scriptaculous-Tests-Components) -- SUAllComponentTests Initialize class: (JQuery-Tests-Core-Functional) -- JQAllFunctionalTests Initialize class: (JQuery-Tests-UI-Functional) -- JQUiAllFunctionalTests Initialize class: (Sport-Environmental) -- SpEnvironment Initialize class: (Seaside-Pharo-Development-Core) -- WABrowser Initialize class: (Seaside-Pharo-Development-Core) -- WAMemory Initialize class: (Seaside-Pharo-Development-Core) -- WAPharoInspector Initialize class: (Seaside-Pharo-Development-Core) -- WAPharoWalkback Initialize class: (Magritte-Model-Models) -- MAFileModel Initialize class: (Magritte-Pharo-Model) -- MAExternalFileModel Initialize class: (Magritte-Seaside-Examples) -- MADescriptionEditor Initialize class: (Pier-Model-Document) -- PRDocumentParser Initialize class: (Pier-Model-Utilities) -- PRMacroExpander Initialize class: (Pier-Model-Utilities) -- PRMigrations Initialize class: (Pier-Seaside-Visitors) -- PRViewRenderer Initialize class: (XML-Parser) -- DTDEntityDeclaration Initialize class: (XML-Parser) -- DTDExternalEntityDeclaration Initialize class: (XML-Parser) -- DTDParameterEntityDeclaration Initialize class: (XML-Parser) -- XMLTokenizer Initialize class: (XML-Parser) -- XMLWriter Initialize class: (Pier-Book-Structures) -- BOPortion Initialize class: (Pier-Book-Latex) -- BOLatexStream Initialize class: (Pier-Book-Utilities) -- BOReferenceLink Initialize class: (Pier-Book-Structures) -- BOFigure Initialize class: (Pier-Shout) -- SPHighlightedCode Initialize class: (Pier-FuelPersistence-Core) -- PRFuelPersistency
myExperiment.rtf
Description: RTF file
