SeasideSt / Seaside

The framework for developing sophisticated web applications in Smalltalk.
MIT License
519 stars 71 forks source link

Squeak loading fails due to STON #1420

Open marschall opened 4 months ago

marschall commented 4 months ago

Our Squeak 5.3 and 6.0 CI tests fail because loading the packages fails with

^^^^^^^^^^^^^^^^^^ Warning: This package depends on the following classes:
  ZnUrl
  ZnMimeType
You must resolve these dependencies before you will be able to load these definitions: 
  ZnMimeType class>>fromSton:
  ZnMimeType class>>stonName
  ZnMimeType>>stonContainSubObjects
  ZnMimeType>>stonOn:
  ZnUrl>>stonContainSubObjects
  ZnUrl>>stonOn:
 ^^^^^^^^^^^^^^^^^^

Build was unable to report intermediate build status.

It looks like we're trying to load STON for Parasol and Parasol is loaded because 'Seaside-Tests-Parasol' is part of 'Tests'.

STON has a dependency on Zinc which is not declared. This works in Pharo where Zinc is already present but fails on Squeak.

I filed https://github.com/svenvc/ston/issues/43

jbrichau commented 4 months ago

Zinc will actually not work in Squeak, as far as I know. It is even doubtful that STON works in Squeak.. so unless someone will start porting and maintaining those two projects for Squeak (doubtful), perhaps we should rather aim to remove the functional tests using Parasol from the Squeak build?

Moreover, Parasol uses STON to read and write JSON... which should be unnecessary imho. I think that should be replaced with Seaside-Json.

jbrichau commented 4 months ago

I added a PR on Parasol to remove the dependency on STON: https://github.com/SeasideSt/Parasol/pull/68

marschall commented 3 months ago

Zinc will actually not work in Squeak, as far as I know. It is even doubtful that STON works in Squeak.. so unless someone will start porting and maintaining those two projects for Squeak (doubtful), perhaps we should rather aim to remove the functional tests using Parasol from the Squeak build?

Yeah I think that makes sense.

Moreover, Parasol uses STON to read and write JSON... which should be unnecessary imho. I think that should be replaced with Seaside-Json.

I think that makes sense as well.