Diego and I are looking at migrating the moose site to a newer pier.
We use the PierCodeExporter for that.
The moose site is a pretty old pier (Pier1 on Pharo 1.0rc1 10492). It doesn’t have grease
loaded.
The exporter doesn’t use a lot of grease functionality.
We could have tried loading Grease, but decided to just copy paste
the functionality needed.
http://smalltalkhub.com/mc/Pier/Pier3Addons/main/Pier-Exporter1-DiegoLont.1…
Then the compilation fails because there are too many news entries,
resulting in a method that is too large to compile.
In PRKernelCodeExporter>>writeCodeFor: structure
we changed the repeated
structure addChild: (self newsABCD: aKernel).
to an array of selectors with a perform: loop.
+ stream << ' #('.
+ structure enumerator do: [ :each | stream << ' #''' <<
(each asSelector) << ':''' ] separatedBy: [ stream cr ].
+ stream << ' ) do: [ :each | ' << String cr <<
' structure addChild: (self perform: each with: aKernel) ].' << String cr.
-
- structure enumerator do: [ :each |
- stream << ' structure addChild: (self ' << (each asSelector)
<< ': aKernel).' << String cr ].
This was enough for moose, but needs method splitting for larger sites.
http://smalltalkhub.com/mc/Pier/Pier3Addons/main/Pier-Exporter-Code-DiegoLo…
With this we are able to generate the code. Next step is loading in a newer Pier.
to be continued.
Stephan