Re: About loading Seaside into Squeak6.0a-17082 ....
Tobias Pape <[email protected]>
| Newsgroups | gmane.comp.lang.smalltalk.squeak.seaside,gmane.comp.lang.smalltalk.squeak.general |
|---|---|
| Message-ID | <[email protected]> |
Hi > On 26.04.2017, at 23:38, Dale Henrichs <[email protected]> wrote: > > > > On 04/26/2017 02:26 PM, Tobias Pape wrote: >> Hi >>> On 26.04.2017, at 22:31, Dale Henrichs <[email protected]> wrote: >>> >>> >>> On 04/26/2017 11:08 AM, Tobias Pape wrote: >>>> Hi, >>>> (cc squeak-dev) >>>> >>>>> On 26.04.2017, at 19:52, Esteban A. Maringolo <[email protected]> wrote: >>>>> >>>>> You should have a GRSqueakPlatform as subclass, and then evaluate >>>>> "GRSqueakPlatform select", this will create and assign the new >>>>> instance as GRPlatform singleton. >>>>> >>>> Sadly, in his image won't be a GRSqueakPlatform. >>>> Why? because (SystemVersion current version asString) returns 'Squeak6.0alpha', but >>>> MetacelloSqueakPlatform>>defaultPlatformAttributes does not know about that. >>>> And ConfigurationOfGrease>>baseline117: only has an idea of #'squeak4.x' and #'squeak5.x'. >>>> >>>> I've no good idea how to fix that yet. >>> submit a pull request for the Metacello project on github[1] and update the method MetacelloSqueakPlatform>>defaultPlatformAttributes[2] with your new Squeak versions added to the list ... >>> >>> If you want to avoid having to update Metacello for each new Squeak release, add something along the lines of what pharo has been doing for a few years[3] ... then you only need to remember to update that method ... but at least it will be part of the base image ... >>> >>> For GemStone I've included code to generate the default attributes for GemStone based on the GemStone version number ... >>> >> Hey Dale, those are good ideas and I've thought about that, too. >> However, that does not help on its own. because even if this brought us, eg, #'squeak6.x' or #'squeak6alpha', Grease would pick none of them. > Hey Tobias, when a new version of Squeak is nearing release, you presumably need to validate that Seaside and all of it's dependent projects load/run in the new version, at which time you'd update the configuration/baseline as part of the validation ... and also run tests, etc. True. The case here is that someone took a Trunk mid-cycle. But yes, generally we should do that. > Both Grease[1] and Seaside[2] are up on github and use smalltalkCI and travis-ci to run tests, so for that, you could fork Grease and Seaside, edit the .travis.yml file to include the new squeak version; edit the baseline to include the new Squeak version (all of which could be done from your web browser) and when you commit, travis builds are kicked off automatically -- if the tests pass on travis-ci, you issue a pull request for Grease and Seaside and Bob's you uncle ... 1. ask 2. dale answers 3. ??? 4. profit! \o/ no seriously, that process is fine. I was bikeshedding implementation details... long story short: there's no seaside@squeaktrunk at the moment without at least a tiny bit of hand-tuing. Hannes, since I have not much time atm for Seaside, can you try out a bit yourself? You should get things loaded at least if you make `MetacelloSqueakPlatform>>defaultPlatformAttributes` return #'squeak5.0' best regards -Tobias > > [1] https://github.com/SeasideSt/Grease/ > [2] https://github.com/SeasideSt/Seaside >> >> So, this could work: >> 1. have an extraction like gemstone below, but >> 2. ALSO identify as #'squeakTrunk' if version string ends in 'alpha', and >> 3. Change grease baseline 117 (or push number here?) the specific line from #'squeak5.x' to >> a. either #( 'squeak5.x' 'squeak6.x') >> b. or #( 'squeak5.x' 'squeakTrunk') >> c. or have #'squeak6.x' separate. >> >> @squeak-dev: hoping you are ok with (1), are you ok with (2)? >> @seaside-dev: would you rather like (3a), (3b), or (3c)? >> >> Best regards >> -Tobias >> >> >>> Dale >>> >>> [1] https://github.com/dalehenrich/metacello-work >>> [2] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.squeak.package/MetacelloSqueakPlatform.class/instance/defaultPlatformAttributes.st#L11-L19 >>> [3] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-PharoCommonPlatform.package/MetacelloPharoCommonPlatform.class/instance/defaultPlatformAttributes.st#L4-L5 >>> [4] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.gemstone.package/MetacelloGemStonePlatform.class/instance/extractAtrributesFrom..st >>>> Any takers? >>>> >>>> best regards >>>> -Tobias >>>> >>>> >>>>> Regards. >>>>> Esteban A. Maringolo >>>>> >>>>> >>>>> 2017-04-26 14:27 GMT-03:00 H. Hirzel <[email protected]>: >>>>>> The issue is that >>>>>> >>>>>> GRPlatform current >>>>>> >>>>>> >>>>>> returns nil. >>>>>> >>>>>> On 4/26/17, H. Hirzel <[email protected]> wrote: >>>>>>> After replacing >>>>>>> >>>>>>> #greaseInteger >>>>>>> >>>>>>> with >>>>>>> >>>>>>> #asInteger >>>>>>> >>>>>>> I get an error in >>>>>>> >>>>>>> >>>>>>> WAKeyGenerator>>initialize >>>>>>> >>>>>>> initialize >>>>>>> super initialize. >>>>>>> self generator: GRPlatform current newRandom. >>>>>>> self space: >>>>>>> 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-' >>>>>>> >>>>>>> >>>>>>> >>>>>>> So there are issues with the Grease compatibility layer. >>>>>>> >>>>>>> Maybe the configuration map loads the wrong version? >>>>>>> >>>>>>> >>>>>>> Suggestions? >>>>>>> >>>>>>> >>>>>>> On 4/26/17, H. Hirzel <[email protected]> wrote: >>>>>>>> Hello >>>>>>>> >>>>>>>> Loading Seaside into Squeak6.0a-17082 .... gives the following error >>>>>>>> >>>>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger >>>>>>>> >>>>>>>> Details [1] >>>>>>>> >>>>>>>> Is there a particular Squeak6.0a version where Seaside loads fine? >>>>>>>> http://files.squeak.org/6.0alpha/ >>>>>>>> >>>>>>>> Any suggestions how a fix to Grease should look like? >>>>>>>> >>>>>>>> Regards >>>>>>>> --Hannes >>>>>>>> >>>>>>>> --------------------------------------------------------------------------------------------- >>>>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger >>>>>>>> Receiver: Character null >>>>>>>> Arguments and temporary variables: >>>>>>>> aMessage: greaseInteger >>>>>>>> exception: MessageNotUnderstood: >>>>>>>> Character>>greaseInteger >>>>>>>> resumeValue: nil >>>>>>>> Receiver's instance variables: >>>>>>>> Character null >>>>>>>> >>>>>>>> WAUrlEncoder class>>encode:on: >>>>>>>> Receiver: WAUrlEncoder >>>>>>>> Arguments and temporary variables: >>>>>>>> aCharacter: Character null >>>>>>>> aStream: a WriteStream >>>>>>>> printer: a GRNumberPrinter >>>>>>>> Receiver's instance variables: >>>>>>>> superclass: WATableBasedEncoder >>>>>>>> methodDict: a MethodDictionary() >>>>>>>> format: 65538 >>>>>>>> instanceVariables: nil >>>>>>>> organization: ('as yet unclassified') >>>>>>>> >>>>>>>> subclasses: nil >>>>>>>> name: #WAUrlEncoder >>>>>>>> classPool: nil >>>>>>>> sharedPools: nil >>>>>>>> environment: Smalltalk >>>>>>>> category: #'Seaside-Core-Document' >>>>>>>> table: #(nil nil nil nil nil nil nil nil nil nil nil >>>>>>>> nil nil nil >>>>>>>> nil nil nil ni...etc... >>>>>>>> >>>>>>>> WAUrlEncoder class>>initializeTable >>>>>>>> Receiver: WAUrlEncoder >>>>>>>> Arguments and temporary variables: >>>>>>>> stream: a WriteStream >>>>>>>> characterLimit: 255 >>>>>>>> index: 0 >>>>>>>> character: Character null >>>>>>>> value: nil >>>>>>>> Receiver's instance variables: >>>>>>>> superclass: WATableBasedEncoder >>>>>>>> methodDict: a MethodDictionary() >>>>>>>> format: 65538 >>>>>>>> instanceVariables: nil >>>>>>>> organization: ('as yet unclassified') >>>>>>>> >>>>>>>> subclasses: nil >>>>>>>> name: #WAUrlEncoder >>>>>>>> classPool: nil >>>>>>>> sharedPools: nil >>>>>>>> environment: Smalltalk >>>>>>>> category: #'Seaside-Core-Document' >>>>>>>> table: #(nil nil nil nil nil nil nil nil nil nil nil >>>>>>>> nil nil nil >>>>>>>> nil nil nil ni...etc... >>>>>>>> >>>>>> _______________________________________________ >>>>>> seaside mailing list >>>>>> [email protected] >>>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>>>> _______________________________________________ >>>>> seaside mailing list >>>>> [email protected] >>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>>> _______________________________________________ >>>> seaside mailing list >>>> [email protected] >>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>> _______________________________________________ >>> seaside mailing list >>> [email protected] >>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> _______________________________________________ >> seaside mailing list >> [email protected] >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > _______________________________________________ > seaside mailing list > [email protected] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list [email protected] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside