Skip to content

Commit 06854d7

Browse files
committed
Merge branch 'master' of https://github.com/SeasideSt/Grease into SeasideSt-master
Conflicts: .travis.yml
2 parents cde5434 + e299075 commit 06854d7

File tree

443 files changed

+2987
-1080
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

443 files changed

+2987
-1080
lines changed

.travis.yml

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,12 @@ smalltalk:
66
- Pharo-4.0
77
- Pharo-3.0
88
- Squeak-5.1
9-
- Squeak-5.0
10-
- Squeak-4.6
11-
- Squeak-4.5
129
- GemStone-3.1.0.6
13-
- GemStone-3.2.15
14-
- GemStone-3.3.3
10+
- GemStone-3.2.16
11+
- GemStone-3.3.4
1512
cache:
1613
directories:
1714
- $SMALLTALK_CI_CACHE
18-
matrix:
19-
allow_failures:
20-
- smalltalk: Pharo-6.0
15+
#matrix:
16+
# allow_failures:
17+
# - smalltalk: Pharo-6.0

README.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,32 @@ The Grease Portability Library [![Build Status](https://travis-ci.org/SeasideSt
33

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

6-
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.
6+
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.
77

88
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.
99

10-
Grease takes a pragmatic approach to compatibility. Sometimes a method behaves so differently on two platforms, for example, that we are forced to avoid it or to standardize on a new selector. To get standard exception signaling on all platforms, Grease is forced to provide special exception classes that can be subclassed. Sometimes we need to put “right” aside and settle, instead, on a solution that can be implemented everywhere.
10+
Grease takes a pragmatic approach to compatibility. Sometimes a method behaves so differently on two platforms, for example, that we are forced to avoid it or to standardize on a new selector. To get standard exception signaling on all platforms, Grease is forced to provide special exception classes that can be subclassed. Sometimes we need to put “right” aside and settle, instead, on a solution that can be implemented everywhere.
1111

12-
Grease tries to be concise and consistent. Despite its pragmatic approach, we still want to be “right” as much as possible. Because it’s hard to remove functionality once it has been added, we need to carefully consider each addition before proceeding. We’re moving slowly and looking for methods that are commonly used and that have clear names and semantics.
12+
Grease tries to be concise and consistent. Despite its pragmatic approach, we still want to be “right” as much as possible. Because it’s hard to remove functionality once it has been added, we need to carefully consider each addition before proceeding. We’re moving slowly and looking for methods that are commonly used and that have clear names and semantics.
1313

14-
Grease does not try to solve all problems. We are not testing Sockets or HTTP clients. We don’t expect platforms to have standard SSL or graphics libraries. Its scope may grow over time, but for now we’re focusing on extending the functionality of the core classes defined in the ANSI standard (collections, exceptions, streams, blocks, etc.) and on other pieces of functionality that are critical to the Seaside project (e.g. random number generation and secure hashing).
14+
Grease does not try to solve all problems. We are not testing Sockets or HTTP clients. We don’t expect platforms to have standard SSL or graphics libraries. Its scope may grow over time, but for now we’re focusing on extending the functionality of the core classes defined in the ANSI standard (collections, exceptions, streams, blocks, etc.) and on other pieces of functionality that are critical to the Seaside project (e.g. random number generation and secure hashing).
1515

1616
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.
1717

18-
##Travis builds
18+
## Travis builds
1919

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

2222
| Squeak | Pharo | GemStone |
2323
| --------------- | ---------------- | -------------------- |
24-
| Squeak 5.0 | Pharo 5.0 | GemStone 3.3.0 |
25-
| Squeak 4.5 | Pharo 4.0 | GemStone 3.2.12 |
26-
| | Pharo 3.0 | GemStone 3.1.0.6 |
24+
| Squeak 5.1 | Pharo 6.0 | GemStone 3.3.4 |
25+
| | Pharo 5.0 | GemStone 3.2.16 |
26+
| | Pharo 4.0 | GemStone 3.1.0.6 |
27+
| | Pharo 3.0 | |
2728

28-
##Installation
29+
## Installation
2930

30-
###Squeak and Pharo
31+
### Squeak and Pharo
3132

3233
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.
3334

@@ -47,7 +48,7 @@ Metacello new
4748
githubUser: 'SeasideSt' project: 'Grease' commitish: '' path: 'repository';
4849
load
4950
```
50-
###GemStone
51+
### GemStone
5152

5253
Grease is part of the GLASS setup. You can upgrade your version of Grease using [GsUpgrader](https://github.com/GsDevKit/gsUpgrader).
5354
GsUpgrader works on all versions of GemStone against all versions of GLASS:
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2-
"noMethodMetaData" : true,
32
"separateMethodMetaAndSource" : false,
4-
"useCypressPropertiesFile" : true }
3+
"noMethodMetaData" : true,
4+
"useCypressPropertiesFile" : true
5+
}

repository/BaselineOfGrease.package/BaselineOfGrease.class/instance/baseline..st

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,25 @@ baseline: spec
119119
spec
120120
group: 'Slime' with: #('Grease-Pharo40-Slime');
121121
group: 'Slime Tests' with: #('Grease-Tests-Slime') ].
122+
spec
123+
for: #(#'pharo6.x')
124+
do: [
125+
spec
126+
package: 'Grease-Core'
127+
with: [ spec includes: #('Grease-Pharo60-Core') ];
128+
package: 'Grease-Tests-Core'
129+
with: [ spec includes: #('Grease-Tests-Pharo20-Core') ];
130+
package: 'Grease-Pharo60-Core'
131+
with: [ spec requires: #('Grease-Core') ];
132+
package: 'Grease-Tests-Pharo20-Core'
133+
with: [ spec requires: #('Grease-Tests-Core') ];
134+
package: 'Grease-Pharo40-Slime'
135+
with: [ spec requires: #('Grease-Core') ];
136+
package: 'Grease-Tests-Slime'
137+
with: [ spec requires: #('Grease-Pharo40-Slime') ].
138+
spec
139+
group: 'Slime' with: #('Grease-Pharo40-Slime');
140+
group: 'Slime Tests' with: #('Grease-Tests-Slime') ].
122141
spec
123142
for: #'gemstone'
124143
do: [

repository/BaselineOfGrease.package/BaselineOfGrease.class/methodProperties.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
"class" : {
33
},
44
"instance" : {
5-
"baseline:" : "dkh 02/28/2017 13:53",
5+
"baseline:" : "JohanBrichau 5/25/2017 12:45",
66
"initializeLatin1ToUtf8Encodings" : "JohanBrichau 10/19/2014 10:00",
77
"slimeForSqueakPharo1xPharo2x:" : "JohanBrichau 02/16/2014 03:49" } }
Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
{
2-
"category" : "BaselineOfGrease",
3-
"classinstvars" : [
4-
],
5-
"classvars" : [
6-
],
72
"commentStamp" : "",
8-
"instvars" : [
9-
],
10-
"name" : "BaselineOfGrease",
11-
"pools" : [
12-
],
133
"super" : "BaselineOf",
14-
"type" : "normal" }
4+
"category" : "BaselineOfGrease",
5+
"classinstvars" : [ ],
6+
"pools" : [ ],
7+
"classvars" : [ ],
8+
"instvars" : [ ],
9+
"name" : "BaselineOfGrease",
10+
"type" : "normal"
11+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
(name 'BaselineOfGrease-dkh.17' message 'eliminate some seaside.gemstone.com references' id '01c1cf6a-4d84-47d2-97f0-b9c4d7fffd58' date '02/28/2017' time '13:54:50' author 'dkh' ancestors ((name 'BaselineOfGrease-dkh.16' message 'merged by GitFileTree-MergeDriver' id '644ab134-dd42-4b9f-948b-c277cd963d5d' date '08/26/2016' time '05:20:50' author 'dkh' ancestors ((name 'BaselineOfGrease-dkh.15' message 'merged by GitFileTree-MergeDriver' id '86b6f4f6-f95f-4bd7-9224-f31c5460e354' date '04/04/2016' time '09:40:53' author 'dkh' ancestors () stepChildren ())(name 'BaselineOfGrease-dkh.15' message 'merged by GitFileTree-MergeDriver' id '415af41c-2c3d-40a8-9f75-d9e8de921224' date '08/26/2016' time '02:19:29' author 'dkh' ancestors ((name 'BaselineOfGrease-dkh.10' message 'update for GemStone 3.4 ...' id 'ad7f9331-d83f-4976-bf57-1d1e81111fc6' date '12/21/2015' time '15:07:11' author 'dkh' ancestors () stepChildren ())(name 'BaselineOfGrease-JohanBrichau.14' message 'Ensure Squeak5 tests package is loaded in Squeak5' id 'abde1bd6-a8d6-45fc-a922-bcf63ec38f03' date '02/27/2016' time '01:47:23' 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 '02/27/2016' time '01:40:18' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.12' message 'added Pharo-Tests to Squeak5 load' id 'ffe11ade-e4f1-496d-ae59-74543cfad134' date '02/27/2016' time '01:21:56' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.11' message 'added pharo5 platform to baseline' id '5c0332e9-ef4c-43cd-9066-7c9fe9ed6506' date '02/27/2016' time '12:12:12' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.10' message 'added squeak 5 platform' id '18f9d568-869f-4550-804a-b0ba101f33f3' date '12/13/2015' time '08:36:25' author 'JohanBrichau' ancestors ((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 ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())
1+
(name 'BaselineOfGrease-dkh.19' message 'merged by GitFileTree-MergeDriver' id 'b05179de-cbe6-4b80-824b-f6220d2c9252' date '25 May 2017' time '11:41:41.478907 am' author 'dkh' ancestors ((name 'BaselineOfGrease-dkh.17' message 'eliminate some seaside.gemstone.com references' id '01c1cf6a-4d84-47d2-97f0-b9c4d7fffd58' date '28 February 2017' time '1:54:50 pm' author 'dkh' ancestors ((name 'BaselineOfGrease-dkh.16' message 'merged by GitFileTree-MergeDriver' id '644ab134-dd42-4b9f-948b-c277cd963d5d' date '26 August 2016' time '5:20:50 am' author 'dkh' ancestors ((name 'BaselineOfGrease-dkh.15' message 'merged by GitFileTree-MergeDriver' id '86b6f4f6-f95f-4bd7-9224-f31c5460e354' date '4 April 2016' time '9:40:53 am' author 'dkh' ancestors () stepChildren ())(name 'BaselineOfGrease-dkh.15' message 'merged by GitFileTree-MergeDriver' id '415af41c-2c3d-40a8-9f75-d9e8de921224' date '26 August 2016' time '2:19:29 am' author 'dkh' ancestors ((name 'BaselineOfGrease-dkh.10' message 'update for GemStone 3.4 ...' id 'ad7f9331-d83f-4976-bf57-1d1e81111fc6' date '21 December 2015' time '3:07:11 pm' author 'dkh' ancestors () 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 am' 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 am' 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 am' 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 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 am' 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 ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'BaselineOfGrease-JohanBrichau.18' message 'Pharo 6 compatibility' id 'd2d614aa-b80c-0d00-b4b6-ae9900bfc9db' date '25 May 2017' time '12:46:04.246978 pm' author 'JohanBrichau' ancestors ((name 'BaselineOfGrease-JohanBrichau.17' message 'Added pharo6' id '52335469-982c-483b-a975-4518820b9bcf' date '25 May 2017' time '11:20:35.004053 am' author 'JohanBrichau' ancestors ((id '644ab134-dd42-4b9f-948b-c277cd963d5d')) stepChildren ())) stepChildren ())) stepChildren ())
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
{
2-
}
1+
{ }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
adding
1+
accessing
22
add: anAssociation
33
self privateAt: anAssociation key put: anAssociation value.
44
^ anAssociation

repository/Grease-Core.package/GROrderedMultiMap.class/instance/addAll..st

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
adding
2+
"protocol: adding"
23
addAll: aDictionary
34
aDictionary keysAndValuesDo: [ :key :value |
45
self privateAt: key put: value ].

0 commit comments

Comments
 (0)