X Tutup
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 17 additions & 0 deletions .smalltalk.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
SmalltalkCISpec {
#loading : [
SCIMetacelloLoadSpec {
#baseline : 'Grease',
#directory : 'repository',
#load : [ 'Tests' ],
#platforms : [ #squeak, #pharo ]
},
SCIMetacelloLoadSpec {
#baseline : 'Grease',
#directory : 'repository',
#onWarningLog : true,
#load : [ 'Tests' ],
#platforms : [ #gemstone ]
}
]
}
37 changes: 11 additions & 26 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,11 @@
language: erlang

env:

- ST=Pharo-1.4 BASELINE=Grease LOADS="'Tests'" REPOSITORY="filetree://${TRAVIS_BUILD_DIR}/repository"
- ST=Pharo-2.0 BASELINE=Grease LOADS="'Tests'" REPOSITORY="filetree://${TRAVIS_BUILD_DIR}/repository"
- ST=Pharo-3.0 BASELINE=Grease LOADS="'Tests'" REPOSITORY="filetree://${TRAVIS_BUILD_DIR}/repository"
- ST=Pharo-4.0 BASELINE=Grease LOADS="'Tests'" REPOSITORY="filetree://${TRAVIS_BUILD_DIR}/repository"
- ST=Squeak-4.4 BASELINE=Grease LOADS="'Tests'" REPOSITORY="filetree://${TRAVIS_BUILD_DIR}/repository"
- ST=Squeak-4.5 BASELINE=Grease LOADS="'Tests'" REPOSITORY="filetree://${TRAVIS_BUILD_DIR}/repository"
- ST=GemStone-2.4.4.2 BASELINE=Grease LOADS="'Tests'" REPOSITORY="filetree://${TRAVIS_BUILD_DIR}/repository"
- ST=GemStone-3.1.0.6 BASELINE=Grease LOADS="'Tests'" REPOSITORY="filetree://${TRAVIS_BUILD_DIR}/repository"
- ST=GemStone-3.2.2 BASELINE=Grease LOADS="'Tests'" REPOSITORY="filetree://${TRAVIS_BUILD_DIR}/repository"

install:

- export PROJECT_HOME="$(pwd)"
- cd $HOME
- wget -q -O builderCI.zip https://github.com/dalehenrich/builderCI/zipball/master
- unzip -q builderCI.zip
- cd dalehenrich-builderCI*
- source build_env_vars
- ln -s $PROJECT_HOME $GIT_PATH
- ./build_image.sh

script: $PROJECT_HOME/tests/testTravisCI.sh -verbose
language: smalltalk
sudo: false
smalltalk:
- Pharo-5.0
- Pharo-4.0
- Pharo-3.0
- Squeak-4.5
- Squeak-5.0
- GemStone-3.1.0.6
- GemStone-3.2.12
- GemStone-3.3.0
39 changes: 35 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ The Grease Portability Library [![Build Status](https://travis-ci.org/SeasideSt

The main repository of Grease is on Smalltalkhub: (http://www.smalltalkhub.com/#!/~Seaside/Grease11). This repository mirrors it.

The Travis CI builds currently test Grease for Pharo1.4, Pharo2.0, Pharo3.0, Pharo4.0, Squeak 4.4, Squeak 4.5, Gemstone 2.4.4.1, Gemstone 3.1.0.6 and Gemstone 3.2.2

Grease enhances the ANSI Smalltalk standard. With only a few exceptions, we assume platforms are fully ANSI-compliant. Platforms want to support Seaside and standardization makes this easier for the project’s developers and its porters.

Grease defines expected APIs with unit tests. Platforms can quickly determine if they are compatible and users can examine the tests to determine exactly which behaviours they can count on.
Expand All @@ -17,9 +15,42 @@ Grease does not try to solve all problems. We are not testing Sockets or HTTP cl

Grease is widely adopted. Implementations exist already for all platforms that support Seaside 3.x. As well as Seaside, new versions of Magritte, Pier, and Monticello are already being implemented on top of Grease.

##GemStone Installation
##Travis builds

The [Travis CI builds](https://travis-ci.org/SeasideSt/Grease) currently test Grease for the following platforms and versions:

| Squeak | Pharo | GemStone |
| --------------- | ---------------- | -------------------- |
| Squeak 5.0 | Pharo 5.0 | GemStone 3.3.0 |
| Squeak 4.5 | Pharo 4.0 | GemStone 3.2.12 |
| | Pharo 3.0 | GemStone 3.1.0.6 |

##Installation

###Squeak and Pharo

Make sure you have the [MetacelloPreview version](https://github.com/dalehenrich/metacello-work), otherwise the load will not work. You have two options for loading: from Smalltalkhub or from Github.

Load from Smalltalkhub:
```Smalltalk
Metacello new
configuration: 'Grease';
repository: 'http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main';
version: #stable;
load
```
-or-
Load from: Github:
```Smalltalk
Metacello new
baseline: 'Grease';
githubUser: 'SeasideSt' project: 'Grease' commitish: '' path: 'repository';
load
```
###GemStone

GsUpgrader works on all versions of GemStone against all Versions of GLASS:
Grease is part of the GLASS setup. You can upgrade your version of Grease using [GsUpgrader](https://github.com/GsDevKit/gsUpgrader).
GsUpgrader works on all versions of GemStone against all versions of GLASS:

```Smalltalk
Gofer new
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ baseline: spec
group: 'Tests' with: #('Core Tests' 'Slime Tests');
group: 'default' with: #('Slime') ].
spec
for: #'squeak'
for: #'squeak4.x'
do: [
spec
package: 'Grease-Core'
Expand All @@ -31,6 +31,21 @@ baseline: spec
package: 'Grease-Tests-Squeak-Core'
with: [ spec requires: #('Grease-Tests-Pharo-Core') ].
self slimeForSqueakPharo1xPharo2x: spec ].
spec
for: #'squeak5.x'
do: [
spec
package: 'Grease-Core'
with: [ spec includes: #('Grease-Squeak5-Core') ];
package: 'Grease-Tests-Core'
with: [ spec includes: #('Grease-Tests-Squeak-Core' 'Grease-Tests-Squeak5-Core') ];
package: 'Grease-Squeak5-Core'
with: [ spec requires: #('Grease-Core') ];
package: 'Grease-Tests-Squeak-Core'
with: [ spec requires: #('Grease-Tests-Core') ];
package: 'Grease-Tests-Squeak5-Core'
with: [ spec requires: #('Grease-Tests-Squeak-Core') ].
self slimeForSqueakPharo1xPharo2x: spec ].
spec
for: #'pharo1.0'
do: [
Expand Down Expand Up @@ -86,7 +101,7 @@ baseline: spec
group: 'Slime' with: #('Grease-Slime');
group: 'Slime Tests' with: #('Grease-Tests-Slime') ].
spec
for: #'pharo4.x'
for: #(#'pharo4.x' #'pharo5.x')
do: [
spec
package: 'Grease-Core'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
"class" : {
},
"instance" : {
"baseline:" : "dkh 05/26/2015 11:45",
"baseline:" : "JohanBrichau 2/27/2016 13:46",
"initializeLatin1ToUtf8Encodings" : "JohanBrichau 10/19/2014 10:00",
"slimeForSqueakPharo1xPharo2x:" : "JohanBrichau 02/16/2014 03:49" } }
Original file line number Diff line number Diff line change
@@ -1 +1 @@
SystemOrganization addCategory: #'BaselineOfGrease'!
SystemOrganization addCategory: #BaselineOfGrease!
Original file line number Diff line number Diff line change
@@ -1 +1 @@
(name 'BaselineOfGrease-dkh.9' message 'Update baseline for GemStone 3.3' id 'af9364dd-14bc-4e5e-9fc7-0abe08732ab2' date '05/26/2015' time '11:46:07' author 'dkh' ancestors ((name 'BaselineOfGrease-JohanBrichau.8' message 'separate package for Squeak' id '91c019c7-2b8b-40c3-97d9-2047a69512a7' date '03/22/2015' time '12:01:37' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.7' message 'included Pharo 4 and did some baseline formatting' id '3722041d-d4b5-4496-a25a-0e891fe9a945' date '11/08/2014' time '09:28:01' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.6' message 'added initializeLatin1ToUtf8Encodings' id '4d976044-1aa9-44b6-bab0-b66ac758b3cd' date '10/19/2014' time '10:05:25' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.6' message 'added initializeLatin1ToUtf8Encodings' id 'b4ac5766-d472-4557-beff-59e5b733bce0' date '10/19/2014' time '10:04:55' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-dkh.5' message 'typoe' id '93eb3230-7956-4a6e-85dc-243f3dd895a1' date '06/04/2014' time '15:13:26' author 'dkh' ancestors ((name 'BaselineOfGrease-dkh.4' message 'woops specified the package branch incorrectly ... I think I got it right this time...' id '3003ee31-9d17-4dd1-9b9a-f8a80e4f0ba1' date '06/04/2014' time '15:12:31' author 'dkh' ancestors ((name 'BaselineOfGrease-dkh.3' message 'add Grease-Tests-GemStone-Core.v32 to baseline' id '26f128ca-b62e-4295-9a58-a9758b670c37' date '06/04/2014' time '14:57:48' author 'dkh' ancestors ((name 'BaselineOfGrease-JohanBrichau.2' message 'forgotten methods' id '38758da9-c922-4530-a19e-f8783900e787' date '02/16/2014' time '03:50:22' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.1' message 'first baseline' id 'b89398df-14c6-4b6a-a2ba-91ad806bb07f' date '02/16/2014' time '01:49:46' author 'JohanBrichau' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())
(name 'BaselineOfGrease-JohanBrichau.14' message 'Ensure Squeak5 tests package is loaded in Squeak5' id 'abde1bd6-a8d6-45fc-a922-bcf63ec38f03' date '27 February 2016' time '1:47:23.046532 pm' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.13' message 'Forked Grease-Tests-Pharo-Core into Grease-Tests-Squeak5-Core' id '3a01ebbc-8859-45db-ae5a-e5de8073d3a4' date '27 February 2016' time '1:40:18.726436 pm' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.12' message 'added Pharo-Tests to Squeak5 load' id 'ffe11ade-e4f1-496d-ae59-74543cfad134' date '27 February 2016' time '1:21:56.832518 pm' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.11' message 'added pharo5 platform to baseline' id '5c0332e9-ef4c-43cd-9066-7c9fe9ed6506' date '27 February 2016' time '12:12:12.067693 pm' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.10' message 'added squeak 5 platform' id '18f9d568-869f-4550-804a-b0ba101f33f3' date '13 December 2015' time '8:36:25.150207 pm' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-dkh.9' message 'Update baseline for GemStone 3.3' id 'af9364dd-14bc-4e5e-9fc7-0abe08732ab2' date '26 May 2015' time '11:46:07 am' author 'dkh' ancestors ((name 'BaselineOfGrease-JohanBrichau.8' message 'separate package for Squeak' id '91c019c7-2b8b-40c3-97d9-2047a69512a7' date '22 March 2015' time '12:01:37 pm' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.7' message 'included Pharo 4 and did some baseline formatting' id '3722041d-d4b5-4496-a25a-0e891fe9a945' date '8 November 2014' time '9:28:01 am' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.6' message 'added initializeLatin1ToUtf8Encodings' id '4d976044-1aa9-44b6-bab0-b66ac758b3cd' date '19 October 2014' time '10:05:25 am' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.6' message 'added initializeLatin1ToUtf8Encodings' id 'b4ac5766-d472-4557-beff-59e5b733bce0' date '19 October 2014' time '10:04:55 am' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-dkh.5' message 'typoe' id '93eb3230-7956-4a6e-85dc-243f3dd895a1' date '4 June 2014' time '3:13:26 pm' author 'dkh' ancestors ((name 'BaselineOfGrease-dkh.4' message 'woops specified the package branch incorrectly ... I think I got it right this time...' id '3003ee31-9d17-4dd1-9b9a-f8a80e4f0ba1' date '4 June 2014' time '3:12:31 pm' author 'dkh' ancestors ((name 'BaselineOfGrease-dkh.3' message 'add Grease-Tests-GemStone-Core.v32 to baseline' id '26f128ca-b62e-4295-9a58-a9758b670c37' date '4 June 2014' time '2:57:48 pm' author 'dkh' ancestors ((name 'BaselineOfGrease-JohanBrichau.2' message 'forgotten methods' id '38758da9-c922-4530-a19e-f8783900e787' date '16 February 2014' time '3:50:22 am' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.1' message 'first baseline' id 'b89398df-14c6-4b6a-a2ba-91ad806bb07f' date '16 February 2014' time '1:49:46 am' author 'JohanBrichau' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"class" : {
"initialize" : "dkh 06/15/2015 15:15" },
"initialize" : "dkh 06/15/2015 10:48" },
"instance" : {
"crlf" : "dkh 11/06/2009 08:45",
"invalidUtf8" : "dkh 11/06/2009 08:45",
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
(name 'Grease-GemStone300-Core-dkh.7' message 'restore GRUtf8CodecStream class>>initialize as part fix for https://github.com/GsDevKit/GsDevKit/issues/27 ... will have to wait until backport to GLASS 1.0-beta9.2.1 is completed ...' id '8be8bc71-c4c5-4c56-8ab3-5301389fe266' date '06/15/2015' time '15:17:22' author 'dkh' ancestors ((name 'Grease-GemStone300-Core-dkh.6' message 'Missed some spots in Grease relating to the fix for https://github.com/GsDevKit/GsDevKit/issues/27' id 'af0b39f3-714b-4b01-9c72-7536a3c128e8' date '06/15/2015' time '10:56:56' author 'dkh' ancestors ((name 'Grease-GemStone300-Core-JohanBrichau.5' message 'Fix for slow handling of utf8 encoding in GS3.x (see https://github.com/GsDevKit/Grease/issues/2 )' id 'a1323a4e-ce99-4e85-bf25-ffeaaa9463f5' date '10/19/2014' time '08:40:18' author 'JohanBrichau' ancestors ((name 'Grease-GemStone300-Core-dkh.4' message '1.0.6.1 (dkh.159):- GemStone 3.0.1 fix for Issue 130: remote breakpoints don''''t work http://code.google.com/p/glassdb/issues/detail?id=130' id '5c8d2bf0-4319-4099-b4b1-83abcc7195b0' date '10/14/2011' time '17:52:12' author 'dkh' ancestors ((name 'Grease-GemStone300-Core-dkh.3' message '1.0.6.1 (dkh.159):- port to GemStone 3.0.1 (#generatehardBreak changed for 3.0)' id '2c389d30-c4d2-4def-b488-82d82b241d1d' date '10/14/2011' time '17:04:58' author 'dkh' ancestors ((name 'Grease-GemStone300-Core-DaleHenrichs.2' message '- pick up some missing methods' id 'a36f8f57-31fc-4a76-84d8-d68331d70935' date '07/22/1910' time '16:42:48' author 'DaleHenrichs' ancestors ((name 'Grease-GemStone300-Core-DaleHenrichs.1' message '- Exception>>greaseString is gemstone version specific' id '0a2c8aaf-061e-45b6-8070-54e4b203adf3' date '07/22/1910' time '14:18:53' author 'DaleHenrichs' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())
(name 'Grease-GemStone300-Core-dkh.6' message 'Missed some spots in Grease relating to the fix for https://github.com/GsDevKit/GsDevKit/issues/27' id 'af0b39f3-714b-4b01-9c72-7536a3c128e8' date '15 June 2015' time '10:56:56 am' author 'dkh' ancestors ((name 'Grease-GemStone300-Core-JohanBrichau.5' message 'Fix for slow handling of utf8 encoding in GS3.x (see https://github.com/GsDevKit/Grease/issues/2 )' id 'a1323a4e-ce99-4e85-bf25-ffeaaa9463f5' date '19 October 2014' time '8:40:18 am' author 'JohanBrichau' ancestors ((name 'Grease-GemStone300-Core-dkh.4' message '1.0.6.1 (dkh.159):- GemStone 3.0.1 fix for Issue 130: remote breakpoints don''''t work http://code.google.com/p/glassdb/issues/detail?id=130' id '5c8d2bf0-4319-4099-b4b1-83abcc7195b0' date '14 October 2011' time '5:52:12 pm' author 'dkh' ancestors ((name 'Grease-GemStone300-Core-dkh.3' message '1.0.6.1 (dkh.159):- port to GemStone 3.0.1 (#generatehardBreak changed for 3.0)' id '2c389d30-c4d2-4def-b488-82d82b241d1d' date '14 October 2011' time '5:04:58 pm' author 'dkh' ancestors ((name 'Grease-GemStone300-Core-DaleHenrichs.2' message '- pick up some missing methods' id 'a36f8f57-31fc-4a76-84d8-d68331d70935' date '22 July 1910' time '4:42:48 pm' author 'DaleHenrichs' ancestors ((name 'Grease-GemStone300-Core-DaleHenrichs.1' message '- Exception>>greaseString is gemstone version specific' id '0a2c8aaf-061e-45b6-8070-54e4b203adf3' date '22 July 1910' time '2:18:53 pm' author 'DaleHenrichs' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
file library
fileExists: aString
^ (FileDirectory on: aString) exists
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
file library
fileStreamOn: aString do: aBlock binary: aBoolean
^ aBoolean
ifTrue: [
FileStream oldFileNamed: aString do: [ :stream |
stream binary.
aBlock value: stream ] ]
ifFalse: [
MultiByteFileStream oldFileNamed: aString do: [ :stream |
stream
ascii;
wantsLineEndConversion: true.
aBlock value: stream ] ]
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
"directoriesIn:" : "NickAger 3/9/2012 11:33",
"doSilently:" : "JohanBrichau 9/10/2013 11:39",
"ensureExistenceOfFolder:" : "jf 1/21/2009 17:31",
"fileExists:" : "pmm 7/16/2015 16:36",
"fileStreamOn:do:binary:" : "pmm 7/16/2015 16:39",
"filesIn:" : "lr 7/25/2011 19:51",
"isProcessTerminated:" : "jf 2/6/2009 15:58",
"label" : "jf 2/9/2010 00:56",
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
private
invalidUtf8
^ GRInvalidUtf8Error signal: 'Invalid UTF-8 input'
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
"decode:" : "pmm 2/17/2012 19:45",
"decoderFor:" : "jf 9/30/2009 00:46",
"encoderFor:" : "jf 9/30/2009 00:46",
"invalidUtf8" : "JohanBrichau 1/18/2016 08:13",
"name" : "pmm 2/20/2009 13:25",
"url" : "pmm 2/20/2009 12:50" } }
Loading
X Tutup