diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..ab664fb --- /dev/null +++ b/.travis.yml @@ -0,0 +1,17 @@ +language: erlang + +env: + - ST=GemStone-3.1.0.6 + - ST=GemStone-3.2.3 + +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: $BUILDER_CI_HOME/testTravisCI.sh -verbose diff --git a/repository/BaselineOfServiceVM.package/BaselineOfServiceVM.class/instance/baseline..st b/repository/BaselineOfServiceVM.package/BaselineOfServiceVM.class/instance/baseline..st index 63cf3a5..ed3a60f 100644 --- a/repository/BaselineOfServiceVM.package/BaselineOfServiceVM.class/instance/baseline..st +++ b/repository/BaselineOfServiceVM.package/BaselineOfServiceVM.class/instance/baseline..st @@ -5,22 +5,30 @@ baseline: spec for: #'common' do: [ spec - configuration: 'Seaside3' + baseline: 'Seaside3' with: [ spec - version: #'release3.1'; - loads: #('default' 'Zinc' 'Seaside-GemStone-ServiceTask'); - repository: - 'http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main' ]; + loads: + #('Core' 'Seaside-GemStone-ServiceTask' 'Seaside-GemStone-GemServer-Core'); + repository: 'github://GsDevKit/Seaside31:issue_54/repository' ]; + project: 'Seaside3 Zinc Adaptor' + copyFrom: 'Seaside3' + with: [ spec loads: #('Seaside-GemStone-Adaptors-Zinc') ]; yourself. spec package: 'Seaside-GemStone-ServiceVM-Support' with: [ spec requires: #('Seaside3') ]; package: 'Seaside-GemStone-ServiceExamples' - with: [ spec requires: #('Seaside-GemStone-ServiceVM-Support') ]; + with: [ spec requires: #('Seaside-GemStone-ServiceVM-Support' 'Seaside3 Zinc Adaptor') ]; + package: 'Seaside-GemStone-ServiceVM-GemServer' + with: [ spec requires: #('Seaside3') ]; yourself. spec group: 'default' with: #('Core' 'Example'); - group: 'Core' with: #('Seaside-GemStone-ServiceVM-Support'); + group: 'Core' + with: + #('Seaside-GemStone-ServiceVM-Support' 'Seaside-GemStone-ServiceVM-GemServer'); group: 'Example' with: #('Seaside-GemStone-ServiceExamples'); - group: 'Tests' with: #() yourself ] \ No newline at end of file + group: 'Tests' with: #(); + group: 'CI' with: #('Core' 'Tests' 'Example'); + yourself ] \ No newline at end of file diff --git a/repository/BaselineOfServiceVM.package/BaselineOfServiceVM.class/methodProperties.json b/repository/BaselineOfServiceVM.package/BaselineOfServiceVM.class/methodProperties.json index 766d9ab..f7b53c6 100644 --- a/repository/BaselineOfServiceVM.package/BaselineOfServiceVM.class/methodProperties.json +++ b/repository/BaselineOfServiceVM.package/BaselineOfServiceVM.class/methodProperties.json @@ -2,4 +2,4 @@ "class" : { }, "instance" : { - "baseline:" : "dkh 06/12/2014 23:05" } } + "baseline:" : "dkh 12/14/2014 13:36" } } diff --git a/repository/BaselineOfServiceVM.package/BaselineOfServiceVM.class/properties.json b/repository/BaselineOfServiceVM.package/BaselineOfServiceVM.class/properties.json index 694f6d1..d0f76d6 100644 --- a/repository/BaselineOfServiceVM.package/BaselineOfServiceVM.class/properties.json +++ b/repository/BaselineOfServiceVM.package/BaselineOfServiceVM.class/properties.json @@ -4,7 +4,7 @@ ], "classvars" : [ ], - "commentStamp" : "dkh 06/06/2014 08:28", + "commentStamp" : "", "instvars" : [ ], "name" : "BaselineOfServiceVM", diff --git a/repository/BaselineOfServiceVM.package/monticello.meta/version b/repository/BaselineOfServiceVM.package/monticello.meta/version index 64dfd6e..ce09e2b 100644 --- a/repository/BaselineOfServiceVM.package/monticello.meta/version +++ b/repository/BaselineOfServiceVM.package/monticello.meta/version @@ -1 +1 @@ -(name 'BaselineOfServiceVM-dkh.7' message 'load ''default'' + Zinc, etc. from Seaside3...oh and include the Seaside-GemStone-ServiceExamples, too' id 'bb7fef7c-3c52-4291-8829-51d9f3ca760d' date '06/12/2014' time '23:06:14' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.6' message 'correct Seaside3 symbolic version' id '28fef02b-9382-440a-854d-73205e125fe7' date '06/12/2014' time '22:59:33' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.5' message 'update baseline with preferred way to reference Seaside3 project (via configuration and using the #release31 version)' id '3f9fcc79-94f0-42ad-9f85-6128c71d2646' date '06/12/2014' time '13:40:36' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.4' message 'Seaside-GemStone-ServiceTask is already in Seaside31 config' id '928e39ce-6004-4f46-bcc6-459c6fd802a8' date '06/08/2014' time '15:26:31' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.3' message 'simplification of ServiceVM example without breaking existing stuff - build new vm hierarchy under WAGemStoneAbstractServiceVM which is basically WAGemStoneServiceVMTask reafactored to support multiple subclasses - new classes WAGemStoneServiceExampleVM (for old example) and WAGemStoneServiceVM (for new example which will be built upon Nick''s WAGemStoneServiceTask; block-based and much simpler - restore Seaside-GemStone-ServiceTask-NickAger.20 - implementation of WAGemStoneServiceVMTask left alone in case folks are using it in production ... evenutally they should convert and until then .. ' id 'bc871cb0-1433-4400-888a-19011c13cd9c' date '06/08/2014' time '14:26:15' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.2' message 'oops ... forgot the class' id '24ab19b3-b944-4dd8-806b-93b69622682a' date '06/06/2014' time '11:32:03' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.1' message 'initial baseline' id 'afc70878-fed8-4cc5-b6fa-411dbdcdb02b' date '06/06/2014' time '08:29:24' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'BaselineOfServiceVM-dkh.13' message 'Issue #5: Seaside-GemStone-ServiceExamples needs to have an adaptor to be functional ... Zinc is a good one to use' id '1b5b827e-bea9-49cf-a02b-3c4eb9c44a34' date '12/14/2014' time '13:50:45' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.12' message 'Issue #5: ''Development'' and ''Zinc'' not specifically needed by ServiceVM ...' id '30b8b9c4-1475-4952-bd0c-6112707d47a3' date '12/14/2014' time '12:29:59' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.11' message 'Issue #5: work on undefined symbols and sent but not implemented...' id '751e90d2-3806-4bce-9f29-16d08308c5bb' date '12/14/2014' time '11:17:03' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.10' message 'Issue #5: reference issue_54 branch of Seaside31 project for now' id 'a2fc1c43-093d-4056-b626-f4410b75a534' date '12/13/2014' time '16:37:35' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.9' message 'Issue #5: update baseline with CI group' id '103b6a66-b06e-4860-b86a-813a70172d6e' date '12/13/2014' time '16:17:32' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.8' message 'Issue #5: start implementation of ServiceVmGemServer' id '1708798c-123e-4e7d-85e0-fd658d646dce' date '12/13/2014' time '15:59:38' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.7' message 'load ''default'' + Zinc, etc. from Seaside3...oh and include the Seaside-GemStone-ServiceExamples, too' id 'bb7fef7c-3c52-4291-8829-51d9f3ca760d' date '06/12/2014' time '23:06:14' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.6' message 'correct Seaside3 symbolic version' id '28fef02b-9382-440a-854d-73205e125fe7' date '06/12/2014' time '22:59:33' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.5' message 'update baseline with preferred way to reference Seaside3 project (via configuration and using the #release31 version)' id '3f9fcc79-94f0-42ad-9f85-6128c71d2646' date '06/12/2014' time '13:40:36' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.4' message 'Seaside-GemStone-ServiceTask is already in Seaside31 config' id '928e39ce-6004-4f46-bcc6-459c6fd802a8' date '06/08/2014' time '15:26:31' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.3' message 'simplification of ServiceVM example without breaking existing stuff - build new vm hierarchy under WAGemStoneAbstractServiceVM which is basically WAGemStoneServiceVMTask reafactored to support multiple subclasses - new classes WAGemStoneServiceExampleVM (for old example) and WAGemStoneServiceVM (for new example which will be built upon Nick''s WAGemStoneServiceTask; block-based and much simpler - restore Seaside-GemStone-ServiceTask-NickAger.20 - implementation of WAGemStoneServiceVMTask left alone in case folks are using it in production ... evenutally they should convert and until then .. ' id 'bc871cb0-1433-4400-888a-19011c13cd9c' date '06/08/2014' time '14:26:15' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.2' message 'oops ... forgot the class' id '24ab19b3-b944-4dd8-806b-93b69622682a' date '06/06/2014' time '11:32:03' author 'dkh' ancestors ((name 'BaselineOfServiceVM-dkh.1' message 'initial baseline' id 'afc70878-fed8-4cc5-b6fa-411dbdcdb02b' date '06/06/2014' time '08:29:24' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/README.md b/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/instance/gemServer.st b/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/instance/gemServer.st new file mode 100644 index 0000000..c7e19e5 --- /dev/null +++ b/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/instance/gemServer.st @@ -0,0 +1,5 @@ +accessing +gemServer + ^ ServiceVmGemServer + register: 'ServiceVMServer' + for: WAGemStoneServiceExampleVM \ No newline at end of file diff --git a/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/instance/setUp.st b/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/instance/setUp.st new file mode 100644 index 0000000..f4f2615 --- /dev/null +++ b/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/instance/setUp.st @@ -0,0 +1,5 @@ +running +setUp + super setUp. + registry := GemServerRegistry singleton. + GemServerRegistry _singleton: nil \ No newline at end of file diff --git a/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/instance/tearDown.st b/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/instance/tearDown.st new file mode 100644 index 0000000..e19e656 --- /dev/null +++ b/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/instance/tearDown.st @@ -0,0 +1,4 @@ +running +tearDown + super tearDown. + GemServerRegistry _singleton: registry \ No newline at end of file diff --git a/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/instance/testTimeInLondon.st b/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/instance/testTimeInLondon.st new file mode 100644 index 0000000..8a21ba7 --- /dev/null +++ b/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/instance/testTimeInLondon.st @@ -0,0 +1,27 @@ +tests +testTimeInLondon + | gemServer | + gemServer := self gemServer. + [ + | task | + gemServer restartGems. + (Delay forSeconds: 3) wait. + task := WAGemStoneServiceExampleTask + valuable: + (WAGemStoneServiceExampleTimeInLondon + url: 'http://www.time.org/zones/Europe/London.php'). + task addToQueue. + System commitTransaction. + [ + System abortTransaction. + Transcript + cr; + show: task printString. + System commitTransaction. + task hasValue ] + whileFalse: [ (Delay forSeconds: 2) wait ]. + self deny: task hasError. + self assert: task value ~~ nil ] + ensure: [ + gemServer stopGems. + (Delay forSeconds: 3) wait ] \ No newline at end of file diff --git a/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/methodProperties.json b/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/methodProperties.json new file mode 100644 index 0000000..7df1eee --- /dev/null +++ b/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/methodProperties.json @@ -0,0 +1,8 @@ +{ + "class" : { + }, + "instance" : { + "gemServer" : "dkh 12/14/2014 14:47", + "setUp" : "dkh 12/14/2014 14:43", + "tearDown" : "dkh 12/14/2014 14:44", + "testTimeInLondon" : "dkh 12/14/2014 15:05" } } diff --git a/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/properties.json b/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/properties.json new file mode 100644 index 0000000..e748077 --- /dev/null +++ b/repository/Seaside-GemStone-ServiceExamples.package/ServiceExampleGemServerTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Seaside-GemStone-ServiceExamples-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "registry" ], + "name" : "ServiceExampleGemServerTests", + "pools" : [ + ], + "super" : "TestCase", + "type" : "normal" } diff --git a/repository/Seaside-GemStone-ServiceExamples.package/WAGemStoneMaintenanceTask.extension/class/maintenanceTaskServiceVMStatsExample.st b/repository/Seaside-GemStone-ServiceExamples.package/WAGemStoneMaintenanceTask.extension/class/maintenanceTaskServiceVMStatsExample.st deleted file mode 100644 index e93698e..0000000 --- a/repository/Seaside-GemStone-ServiceExamples.package/WAGemStoneMaintenanceTask.extension/class/maintenanceTaskServiceVMStatsExample.st +++ /dev/null @@ -1,29 +0,0 @@ -*seaside-gemstone-serviceexamples -maintenanceTaskServiceVMStatsExample - "self initialize" - - ^ self - name: 'Service VM Stats' - frequency: 1 - valuable: [ :task | - GRPlatform current - doTransaction: [ - | queueSize inProcessSize showStats | - queueSize := WAGemStoneServiceExampleTask queue size. - inProcessSize := WAGemStoneServiceExampleTask inProcess size. - showStats := queueSize > 0 or: [ inProcessSize > 0 ]. - task state | showStats - ifTrue: [ - (ObjectLogEntry - debug: 'SVCE STATS' - object: - 'queue: ' , queueSize asString , ' insts: ' - , WAGemStoneServiceExampleTask instances size asString - , ' scv: ' - , WAGemStoneServiceExampleTask sharedCounterValue asString - , ' hw: ' - , WAGemStoneServiceExampleTask idHighWater asString - , ' inprocess: ' , inProcessSize asString) - addToLog. "record objectLog entry when showStats is false" - task state: showStats ] ] ] - reset: [ :task | task state: true ] " run once per minute" \ No newline at end of file diff --git a/repository/Seaside-GemStone-ServiceExamples.package/WAGemStoneMaintenanceTask.extension/methodProperties.json b/repository/Seaside-GemStone-ServiceExamples.package/WAGemStoneMaintenanceTask.extension/methodProperties.json deleted file mode 100644 index 66f8ced..0000000 --- a/repository/Seaside-GemStone-ServiceExamples.package/WAGemStoneMaintenanceTask.extension/methodProperties.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "class" : { - "maintenanceTaskServiceVMStatsExample" : "dkh 06/07/2014 11:42" }, - "instance" : { - } } diff --git a/repository/Seaside-GemStone-ServiceExamples.package/WAGemStoneMaintenanceTask.extension/properties.json b/repository/Seaside-GemStone-ServiceExamples.package/WAGemStoneMaintenanceTask.extension/properties.json deleted file mode 100644 index 93c8f39..0000000 --- a/repository/Seaside-GemStone-ServiceExamples.package/WAGemStoneMaintenanceTask.extension/properties.json +++ /dev/null @@ -1,2 +0,0 @@ -{ - "name" : "WAGemStoneMaintenanceTask" } diff --git a/repository/Seaside-GemStone-ServiceExamples.package/WAGemStoneServiceExampleTaskComponent.class/properties.json b/repository/Seaside-GemStone-ServiceExamples.package/WAGemStoneServiceExampleTaskComponent.class/properties.json index b6b661e..f6b3924 100644 --- a/repository/Seaside-GemStone-ServiceExamples.package/WAGemStoneServiceExampleTaskComponent.class/properties.json +++ b/repository/Seaside-GemStone-ServiceExamples.package/WAGemStoneServiceExampleTaskComponent.class/properties.json @@ -4,7 +4,7 @@ ], "classvars" : [ ], - "commentStamp" : "dkh 06/09/2014 12:38", + "commentStamp" : "", "instvars" : [ "task" ], "name" : "WAGemStoneServiceExampleTaskComponent", diff --git a/repository/Seaside-GemStone-ServiceExamples.package/monticello.meta/categories.st b/repository/Seaside-GemStone-ServiceExamples.package/monticello.meta/categories.st index 2d10a43..7d7cca7 100644 --- a/repository/Seaside-GemStone-ServiceExamples.package/monticello.meta/categories.st +++ b/repository/Seaside-GemStone-ServiceExamples.package/monticello.meta/categories.st @@ -1,2 +1,3 @@ SystemOrganization addCategory: #'Seaside-GemStone-ServiceExamples-Component'! SystemOrganization addCategory: #'Seaside-GemStone-ServiceExamples-Core'! +SystemOrganization addCategory: #'Seaside-GemStone-ServiceExamples-Tests'! diff --git a/repository/Seaside-GemStone-ServiceExamples.package/monticello.meta/version b/repository/Seaside-GemStone-ServiceExamples.package/monticello.meta/version index 05ceabf..2af52f0 100644 --- a/repository/Seaside-GemStone-ServiceExamples.package/monticello.meta/version +++ b/repository/Seaside-GemStone-ServiceExamples.package/monticello.meta/version @@ -1 +1 @@ -(name 'Seaside-GemStone-ServiceExamples-dkh.25' message 'checkpoint - tweak the seaside component - start new seaside description section in docs - add convenience script for bringing up object log - add zinc script (maybe get rid of this one?)' id 'd5635769-aa12-4ffe-8195-21a07636cedf' date '06/12/2014' time '12:25:47' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.24' message 'checkpoint ... needed a little transaction in the time in london guy ...' id '8af7016e-8d39-423b-b85c-2c8b3d7b9254' date '06/10/2014' time '08:12:28' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.23' message 'finally get example running again after all of the recent rewriting ...' id '730ae9ae-cea9-4faa-93ef-9ba0b5887ee6' date '06/09/2014' time '20:43:28' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.22' message 'fix WAGemStoneServiceExampleTimeInLondon class>>url:' id '61851330-34d0-4ab0-b8ac-5fd9653484f8' date '06/09/2014' time '18:54:25' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.21' message 'Decided to not use WAGemStoneServiceTask as is: - The api is a bit awkward for what I want to illustrate in the example and in the off chance that folks are using WAGemStoneServiceTask in production, I basically copied WAGemStoneServiceTask to WAGemStoneServiceExampleTask and then proceeded to massage it to my will - in concert with that I am now using WAGemStoneServiceExampleVM for the example... - adjusted the serviceVM script to match - finally rewrote the example Seaside component from scratch to match' id 'a107f958-1ed3-4706-90a7-61977928e50d' date '06/09/2014' time '12:47:22' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.20' message 'add WAGemStoneServiceExampleTimeInLondon .. application task class' id 'd254d00e-b015-40dc-8c7d-9b6883fc2a18' date '06/08/2014' time '17:14:27' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.19' message 'simplification of ServiceVM example without breaking existing stuff - build new vm hierarchy under WAGemStoneAbstractServiceVM which is basically WAGemStoneServiceVMTask reafactored to support multiple subclasses - new classes WAGemStoneServiceExampleVM (for old example) and WAGemStoneServiceVM (for new example which will be built upon Nick''s WAGemStoneServiceTask; block-based and much simpler - restore Seaside-GemStone-ServiceTask-NickAger.20 - implementation of WAGemStoneServiceVMTask left alone in case folks are using it in production ... evenutally they should convert and until then .. ' id '109fbd95-00d1-4425-bb99-cc20816b93a1' date '06/08/2014' time '14:26:14' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.18' message 'remove comments ... only needed for the docs, methinks' id '3f9b0cbe-e755-4581-b858-f88989d3810f' date '06/08/2014' time '11:48:56' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.17' message 'refactoring ...' id 'af8988bf-2199-4100-a179-b2c0937b67e8' date '06/08/2014' time '10:46:35' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.16' message 'add comments to render method (WAGemStoneInteractiveServiceExample>>renderContentOn:) to highlight state transitions ... ad webServer script code ...' id 'c5e6bd00-ad17-4765-800b-f7ccdf3ce9bf' date '06/07/2014' time '18:21:23' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.15' message 'start documenting the Seaside loop' id '1a0329c3-f8a1-439f-a91d-b28edf3a1028' date '06/07/2014' time '18:07:42' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.14' message 'more renaming and more docs ...' id '1d6b9060-ef92-45d6-acbb-9ee72fdf3215' date '06/07/2014' time '13:04:42' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.13' message 'rename WAGemStoneServiceTask to WAGemStoneServiceExampleWorkUnit ... edit readme and scripts to match' id '52545f08-6b4f-488e-809a-6666449e904d' date '06/07/2014' time '09:45:34' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.12' message 'remove and consolidate ... drop the restful stuff in favor of tode-base scripts ... example is fuly functional and README is partially finished ... need to complete documentation and rework code/scripts in support of the documentation' id '824d802f-7a51-4171-8b2c-69c567efeb60' date '06/07/2014' time '09:32:43' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.11' message 'WAServiceVMGem class is used to treat service vm as a WAGemStoneRunSmalltalkServer server ... service vm starts up ... WAGemStoneRestfulServiceHandler not compatible with with the Seaside3.1 restful implementation' id '144ae7fa-4333-4222-a4e9-ec9e6935d10c' date '06/06/2014' time '22:01:52' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.10' message '- renamed some classes - cleaned things up a bit - tracking inProcess tasks - vm restart logic - handling 6 tasks per second before target begins falling behind)... - RESTful api runs at 500 requests/second...' id '7c10a623-9e01-4591-9fdc-c33d914b111e' date '08/25/2010' time '13:37:50' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.9' message '- a little more data collection to find the tipping point ... when we start falling behind, because the target http site can''t handle the load (bibliocello looks like it can handle about 2 directory requests/second (seaside repos) ... should look into this...' id '5d9a3373-bc7b-42e7-beb7-600f9f3469ea' date '08/24/2010' time '21:19:20' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.8' message '- stands up to siege pretty well ... - when starting up a vm or at other times, it is necessary to scan the log and reschedule all workunits that are not finished' id 'e8649fa4-a4b6-456b-8107-04213859b847' date '08/24/2010' time '18:08:47' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.7' message '- added a RESTful API for service, so that siege can be used to load up server' id 'c9f176f8-5e82-4bc4-8cda-938ac0a79fe1' date '08/24/2010' time '15:31:17' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.6' message '- pretty close to final form ... passes jcrawler test ...' id '193f996c-cb5e-431f-adbb-e1b1779cc990' date '08/24/2010' time '09:57:23' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.5' message '- would like to fork processing of workunits ...' id '959f9068-4101-4e48-8ee3-167299cf8bed' date '08/24/2010' time '03:54:47' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.4' message '- running on short 200ms cycle... random delays for step2' id '4c6533d4-e97d-4ea2-9d60-dacf7bbce0c3' date '08/24/2010' time '03:27:09' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.3' message '- blocking and nonblocking options for waiting for workunit to be performed...' id 'a478180f-2801-427a-a69b-77ead72d7e72' date '08/24/2010' time '01:03:31' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.2' message '- basic functionality' id '68d35047-42e1-4ab2-afc8-7969a2463454' date '08/24/2010' time '00:29:23' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.1' message '- just getting started' id 'aa7f02fc-479a-422c-8361-cb9087253ce5' date '08/23/2010' time '17:43:59' author 'DaleHenrichs' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Seaside-GemStone-ServiceExamples-dkh.27' message 'Issue #5: implement ServiceExampleGemServerTests' id 'bdbbda8e-e75b-47ed-a172-1a0f0ed02e13' date '12/14/2014' time '15:21:36' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.26' message 'Issue #5: work on undefined symbols and sent but not implemented...' id '915c2c50-6eaa-42ec-a90d-fe07870c46e2' date '12/14/2014' time '11:17:03' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.25' message 'checkpoint - tweak the seaside component - start new seaside description section in docs - add convenience script for bringing up object log - add zinc script (maybe get rid of this one?)' id 'd5635769-aa12-4ffe-8195-21a07636cedf' date '06/12/2014' time '12:25:47' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.24' message 'checkpoint ... needed a little transaction in the time in london guy ...' id '8af7016e-8d39-423b-b85c-2c8b3d7b9254' date '06/10/2014' time '08:12:28' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.23' message 'finally get example running again after all of the recent rewriting ...' id '730ae9ae-cea9-4faa-93ef-9ba0b5887ee6' date '06/09/2014' time '20:43:28' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.22' message 'fix WAGemStoneServiceExampleTimeInLondon class>>url:' id '61851330-34d0-4ab0-b8ac-5fd9653484f8' date '06/09/2014' time '18:54:25' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.21' message 'Decided to not use WAGemStoneServiceTask as is: - The api is a bit awkward for what I want to illustrate in the example and in the off chance that folks are using WAGemStoneServiceTask in production, I basically copied WAGemStoneServiceTask to WAGemStoneServiceExampleTask and then proceeded to massage it to my will - in concert with that I am now using WAGemStoneServiceExampleVM for the example... - adjusted the serviceVM script to match - finally rewrote the example Seaside component from scratch to match' id 'a107f958-1ed3-4706-90a7-61977928e50d' date '06/09/2014' time '12:47:22' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.20' message 'add WAGemStoneServiceExampleTimeInLondon .. application task class' id 'd254d00e-b015-40dc-8c7d-9b6883fc2a18' date '06/08/2014' time '17:14:27' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.19' message 'simplification of ServiceVM example without breaking existing stuff - build new vm hierarchy under WAGemStoneAbstractServiceVM which is basically WAGemStoneServiceVMTask reafactored to support multiple subclasses - new classes WAGemStoneServiceExampleVM (for old example) and WAGemStoneServiceVM (for new example which will be built upon Nick''s WAGemStoneServiceTask; block-based and much simpler - restore Seaside-GemStone-ServiceTask-NickAger.20 - implementation of WAGemStoneServiceVMTask left alone in case folks are using it in production ... evenutally they should convert and until then .. ' id '109fbd95-00d1-4425-bb99-cc20816b93a1' date '06/08/2014' time '14:26:14' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.18' message 'remove comments ... only needed for the docs, methinks' id '3f9b0cbe-e755-4581-b858-f88989d3810f' date '06/08/2014' time '11:48:56' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.17' message 'refactoring ...' id 'af8988bf-2199-4100-a179-b2c0937b67e8' date '06/08/2014' time '10:46:35' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.16' message 'add comments to render method (WAGemStoneInteractiveServiceExample>>renderContentOn:) to highlight state transitions ... ad webServer script code ...' id 'c5e6bd00-ad17-4765-800b-f7ccdf3ce9bf' date '06/07/2014' time '18:21:23' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.15' message 'start documenting the Seaside loop' id '1a0329c3-f8a1-439f-a91d-b28edf3a1028' date '06/07/2014' time '18:07:42' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.14' message 'more renaming and more docs ...' id '1d6b9060-ef92-45d6-acbb-9ee72fdf3215' date '06/07/2014' time '13:04:42' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.13' message 'rename WAGemStoneServiceTask to WAGemStoneServiceExampleWorkUnit ... edit readme and scripts to match' id '52545f08-6b4f-488e-809a-6666449e904d' date '06/07/2014' time '09:45:34' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.12' message 'remove and consolidate ... drop the restful stuff in favor of tode-base scripts ... example is fuly functional and README is partially finished ... need to complete documentation and rework code/scripts in support of the documentation' id '824d802f-7a51-4171-8b2c-69c567efeb60' date '06/07/2014' time '09:32:43' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-dkh.11' message 'WAServiceVMGem class is used to treat service vm as a WAGemStoneRunSmalltalkServer server ... service vm starts up ... WAGemStoneRestfulServiceHandler not compatible with with the Seaside3.1 restful implementation' id '144ae7fa-4333-4222-a4e9-ec9e6935d10c' date '06/06/2014' time '22:01:52' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.10' message '- renamed some classes - cleaned things up a bit - tracking inProcess tasks - vm restart logic - handling 6 tasks per second before target begins falling behind)... - RESTful api runs at 500 requests/second...' id '7c10a623-9e01-4591-9fdc-c33d914b111e' date '08/25/2010' time '13:37:50' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.9' message '- a little more data collection to find the tipping point ... when we start falling behind, because the target http site can''t handle the load (bibliocello looks like it can handle about 2 directory requests/second (seaside repos) ... should look into this...' id '5d9a3373-bc7b-42e7-beb7-600f9f3469ea' date '08/24/2010' time '21:19:20' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.8' message '- stands up to siege pretty well ... - when starting up a vm or at other times, it is necessary to scan the log and reschedule all workunits that are not finished' id 'e8649fa4-a4b6-456b-8107-04213859b847' date '08/24/2010' time '18:08:47' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.7' message '- added a RESTful API for service, so that siege can be used to load up server' id 'c9f176f8-5e82-4bc4-8cda-938ac0a79fe1' date '08/24/2010' time '15:31:17' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.6' message '- pretty close to final form ... passes jcrawler test ...' id '193f996c-cb5e-431f-adbb-e1b1779cc990' date '08/24/2010' time '09:57:23' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.5' message '- would like to fork processing of workunits ...' id '959f9068-4101-4e48-8ee3-167299cf8bed' date '08/24/2010' time '03:54:47' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.4' message '- running on short 200ms cycle... random delays for step2' id '4c6533d4-e97d-4ea2-9d60-dacf7bbce0c3' date '08/24/2010' time '03:27:09' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.3' message '- blocking and nonblocking options for waiting for workunit to be performed...' id 'a478180f-2801-427a-a69b-77ead72d7e72' date '08/24/2010' time '01:03:31' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.2' message '- basic functionality' id '68d35047-42e1-4ab2-afc8-7969a2463454' date '08/24/2010' time '00:29:23' author 'DaleHenrichs' ancestors ((name 'Seaside-GemStone-ServiceExamples-DaleHenrichs.1' message '- just getting started' id 'aa7f02fc-479a-422c-8361-cb9087253ce5' date '08/23/2010' time '17:43:59' author 'DaleHenrichs' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Seaside-GemStone-ServiceVM-GemServer.package/.filetree b/repository/Seaside-GemStone-ServiceVM-GemServer.package/.filetree new file mode 100644 index 0000000..8998102 --- /dev/null +++ b/repository/Seaside-GemStone-ServiceVM-GemServer.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/README.md b/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/class/delayTimeMs.st b/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/class/delayTimeMs.st new file mode 100644 index 0000000..a331a19 --- /dev/null +++ b/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/class/delayTimeMs.st @@ -0,0 +1,3 @@ +accessing +delayTimeMs + ^ 200 \ No newline at end of file diff --git a/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/class/taskClass.st b/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/class/taskClass.st new file mode 100644 index 0000000..80113a5 --- /dev/null +++ b/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/class/taskClass.st @@ -0,0 +1,3 @@ +accessing +taskClass + ^ WAGemStoneServiceVMTask \ No newline at end of file diff --git a/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/instance/startServerOn..st b/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/instance/startServerOn..st new file mode 100644 index 0000000..c78b2db --- /dev/null +++ b/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/instance/startServerOn..st @@ -0,0 +1,6 @@ +service instance-server +startServerOn: portOrResourceName + "start server in current vm. for gemstone, not expected to return." + + self taskClass vmStartup. + super startServerOn: portOrResourceName \ No newline at end of file diff --git a/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/methodProperties.json b/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/methodProperties.json new file mode 100644 index 0000000..4f559f9 --- /dev/null +++ b/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + "delayTimeMs" : "dkh 12/13/2014 15:31", + "taskClass" : "dkh 12/13/2014 15:29" }, + "instance" : { + "startServerOn:" : "dkh 01/06/2015 15:50" } } diff --git a/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/properties.json b/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/properties.json new file mode 100644 index 0000000..40b5a21 --- /dev/null +++ b/repository/Seaside-GemStone-ServiceVM-GemServer.package/ServiceVmGemServer.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Seaside-GemStone-ServiceVM-GemServer", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "ServiceVmGemServer", + "pools" : [ + ], + "super" : "WAGemStoneAbstractTaskGemServer", + "type" : "normal" } diff --git a/repository/Seaside-GemStone-ServiceVM-GemServer.package/monticello.meta/categories.st b/repository/Seaside-GemStone-ServiceVM-GemServer.package/monticello.meta/categories.st new file mode 100644 index 0000000..ab3e9b3 --- /dev/null +++ b/repository/Seaside-GemStone-ServiceVM-GemServer.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Seaside-GemStone-ServiceVM-GemServer'! diff --git a/repository/Seaside-GemStone-ServiceVM-GemServer.package/monticello.meta/initializers.st b/repository/Seaside-GemStone-ServiceVM-GemServer.package/monticello.meta/initializers.st new file mode 100644 index 0000000..e69de29 diff --git a/repository/Seaside-GemStone-ServiceVM-GemServer.package/monticello.meta/package b/repository/Seaside-GemStone-ServiceVM-GemServer.package/monticello.meta/package new file mode 100644 index 0000000..3bfd576 --- /dev/null +++ b/repository/Seaside-GemStone-ServiceVM-GemServer.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Seaside-GemStone-ServiceVM-GemServer') \ No newline at end of file diff --git a/repository/Seaside-GemStone-ServiceVM-GemServer.package/monticello.meta/version b/repository/Seaside-GemStone-ServiceVM-GemServer.package/monticello.meta/version new file mode 100644 index 0000000..8a09ac6 --- /dev/null +++ b/repository/Seaside-GemStone-ServiceVM-GemServer.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'Seaside-GemStone-ServiceVM-GemServer-dkh.2' message 'Issue #5: replace use of ports with portOrResourceNameList in gem server' id 'a38f0876-0392-472c-8f25-48bf83fd5a56' date '01/06/2015' time '16:19:38' author 'dkh' ancestors ((name 'Seaside-GemStone-ServiceVM-GemServer-dkh.1' message 'Issue #5: start implementation of ServiceVmGemServer' id '8d0f0457-16d5-481a-89f4-5f973ffc4973' date '12/13/2014' time '15:59:38' author 'dkh' ancestors () stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Seaside-GemStone-ServiceVM-GemServer.package/properties.json b/repository/Seaside-GemStone-ServiceVM-GemServer.package/properties.json new file mode 100644 index 0000000..f037444 --- /dev/null +++ b/repository/Seaside-GemStone-ServiceVM-GemServer.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/tests/travisCI.st b/tests/travisCI.st new file mode 100644 index 0000000..e10ea38 --- /dev/null +++ b/tests/travisCI.st @@ -0,0 +1,34 @@ +"Load and run tests to be performed by TravisCI" +| gitCache gitPath loadBlock | +Transcript cr; show: 'travis---->travisCI.st'. + +gitCache := 'git_cache'. +gitPath := (FileDirectory default directoryNamed: gitCache) fullName. + +"Upgrade Grease and Metacello" +Gofer new + package: 'GsUpgrader-Core'; + url: 'http://ss3.gemtalksystems.com/ss/gsUpgrader'; + load. +(Smalltalk at: #GsUpgrader) upgradeGrease. + + +"Load ServiceVM" +GsDeployer deploy: [ + Metacello new + baseline: 'ServiceVM'; + repository: 'filetree://', gitPath, '/ServiceVM/repository'; + load: 'CI' ]. + +true ifTrue: [ + "Run all tests in image" + TravisCISuiteHarness + value: TestCase suite + value: 'TravisCISuccess.txt' + value: 'TravisCIFailure.txt'. +] ifFalse: [ + "Run just the ServiceVM tests" + TravisCIHarness + value: #( 'BaselineOfServiceVM' ) + value: 'TravisCISuccess.txt' + value: 'TravisCIFailure.txt' ]. diff --git a/tode/project.ston b/tode/project.ston deleted file mode 100644 index d665011..0000000 --- a/tode/project.ston +++ /dev/null @@ -1,7 +0,0 @@ -TDObjectGatewayNode{#name:'project',#contents:'^ TDProjectSpecEntryDefinition new - baseline: \'ServiceVM\' - repository: \'github://glassdb/ServiceVM:master/repository\' - loads: #(\'default\'); - projectPath: self parent printString; - status: #(#\'active\'); - yourself'} \ No newline at end of file