Re: About loading Seaside into Squeak6.0a-17082 ....
Dale Henrichs <[email protected]>
| Newsgroups | gmane.comp.lang.smalltalk.squeak.seaside |
|---|---|
| Message-ID | <[email protected]> |
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. 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] 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