Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gs64 support #90

Merged
merged 14 commits into from
Dec 11, 2023
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .github/workflows/loading-gs64-components.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: 'GS64 Components Loading'
on:
- push
- pull_request
- workflow_dispatch

jobs:
component-loading:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
load-spec:
- Deployment
name: GS64 + ${{ matrix.load-spec }}
steps:
- uses: actions/checkout@v3
- name: Load component in image
uses: ba-st-actions/gs64-ci@v2
with:
project_name: 'Sagan'
load_spec: 'Sagan-${{ matrix.load-spec }}'
17 changes: 17 additions & 0 deletions .github/workflows/unit-tests-gs64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: 'GS64 Unit Tests'
on:
- push
- pull_request
- workflow_dispatch

jobs:
unit-tests:
runs-on: ubuntu-latest
name: GS64 Unit Tests
steps:
- uses: actions/checkout@v3
- name: Load Image and Run Tests
uses: ba-st-actions/gs64-ci@v2
with:
project_name: 'Sagan'
run_tests: 'true'
22 changes: 22 additions & 0 deletions rowan/components/Deployment.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
RwSimpleProjectLoadComponentV2 {
#name : 'Deployment',
#postloadDoitName : 'scripts/deploymentPostLoad',
#projectNames : [ 'Kepler', 'SortFunctions' ],
#componentNames : [ ],
#packageNames : [
'Sagan-Core',
'Sagan-Extensions',
'Sagan-Kepler'
],
#conditionalPackageMapSpecs : {
'gemstone' : {
'allusers' : {
#packageNameToPlatformPropertiesMap : {
'Sagan-Core' : { 'symbolDictName' : 'Sagan' },
'Sagan-Extensions' : { 'symbolDictName' : 'Globals' },
'Sagan-Kepler' : { 'symbolDictName' : 'Sagan' }
}
}
}
}
}
21 changes: 21 additions & 0 deletions rowan/components/Tests.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
RwSimpleProjectLoadComponentV2 {
#name : 'Tests',
#condition : 'tests',
#componentNames : [
'Deployment'
],
#packageNames : [
'Sagan-Core-Tests',
'Sagan-Kepler-Tests'
],
#conditionalPackageMapSpecs : {
'gemstone' : {
'allusers' : {
#packageNameToPlatformPropertiesMap : {
'Sagan-Core-Tests' : { 'symbolDictName' : 'Sagan' },
'Sagan-Kepler-Tests' : { 'symbolDictName' : 'Sagan' }
}
}
}
}
}
8 changes: 8 additions & 0 deletions rowan/components/scripts/deploymentPostLoad.st
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
| symbolDictionary |

symbolDictionary := Rowan image
symbolDictNamed: 'Sagan'
ifAbsent: [Error signal: 'Sagan symbol dictionary missing' ].

"Register system interfaces"
(symbolDictionary at: #RepositoryProviderSystem) registerInterfaces.
11 changes: 11 additions & 0 deletions rowan/project.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
RwProjectSpecificationV2 {
#specName : 'project',
#projectSpecPath : 'rowan',
#componentsPath : 'rowan/components',
#packagesPath : 'source',
#projectsPath : 'rowan/projects',
#specsPath : 'rowan/specs',
#packageFormat : 'tonel',
#packageConvention : 'Rowan',
#comment : 'Sagan project specification'
}
10 changes: 10 additions & 0 deletions rowan/projects/Kepler.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
RwLoadSpecificationV2 {
#specName: 'Kepler',
#projectName : 'Kepler',
#gitUrl : 'https://github.com/ba-st/Kepler.git',
#revision : 'v6',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'Deployment'
]
}
Empty file added rowan/projects/README.md
Empty file.
10 changes: 10 additions & 0 deletions rowan/projects/SortFunctions.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
RwLoadSpecificationV2 {
#specName: 'SortFunctions',
#projectName : 'SortFunctions',
#gitUrl : 'https://github.com/ba-st-dependencies/SortFunctions.git',
#revision : 'v1',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'Deployment'
]
}
14 changes: 14 additions & 0 deletions rowan/specs/Sagan-CI.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
RwLoadSpecificationV2 {
#specName: 'Sagan-CI',
#projectName : 'Sagan',
#diskUrl : 'Sagan',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'Tests'
],
#customConditionalAttributes : [
'sunit',
'tests'
],
#comment : 'Sagan continuous integration setup'
}
9 changes: 9 additions & 0 deletions rowan/specs/Sagan-Deployment.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
RwLoadSpecificationV2 {
#specName: 'Sagan-Deployment',
#projectName : 'Sagan',
#diskUrl : 'Sagan',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'Deployment'
]
}
1 change: 1 addition & 0 deletions source/.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{
#convention : 'Rowan',
#format : #tonel
}
54 changes: 32 additions & 22 deletions source/BaselineOfSagan/BaselineOfSagan.class.st
Original file line number Diff line number Diff line change
@@ -1,45 +1,51 @@
Class {
#name : #BaselineOfSagan,
#superclass : #BaselineOf,
#category : #BaselineOfSagan
#name : 'BaselineOfSagan',
#superclass : 'BaselineOf',
#category : 'BaselineOfSagan',
#package : 'BaselineOfSagan'
}

{ #category : #initialization }
{ #category : 'initialization' }
BaselineOfSagan >> baseline: spec [

<baseline>
spec
for: #pharo
do: [ self
setUpDependencies: spec;
setUpPackages: spec.
spec
group: 'Deployment' with: #('Core' 'RDBMS');
group: 'CI' with: 'Tests';
group: 'Tools' with: 'Buoy-Tools';
group: 'Development' with: #('Tests' 'Tools')
]
spec for: #pharo do: [
self
setUpDependencies: spec;
setUpPackages: spec.
spec
group: 'Deployment' with: #( 'Core' 'RDBMS' );
group: 'CI' with: 'Tests';
group: 'Tools' with: #( 'Core' 'Buoy-Tools' );
group: 'Development' with: #( 'Tests' 'Tools' ).
spec postLoadDoIt: #postLoadInitialization ]
]

{ #category : 'post load' }
BaselineOfSagan >> postLoadInitialization [

RepositoryProviderSystem registerInterfaces
]

{ #category : #accessing }
{ #category : 'accessing' }
BaselineOfSagan >> projectClass [

^ MetacelloCypressBaselineProject
]

{ #category : #initialization }
{ #category : 'initialization' }
BaselineOfSagan >> setUpDependencies: spec [

spec
baseline: 'Kepler' with: [ spec repository: 'github://ba-st/Kepler:v5/source' ];
baseline: 'Kepler' with: [ spec repository: 'github://ba-st/Kepler:v6/source' ];
project: 'Kepler-Core' copyFrom: 'Kepler' with: [ spec loads: 'Core' ].

spec
baseline: 'ObjectPool' with: [ spec repository: 'github://pharo-ide/ObjectPool:v1.0.3' ];
project: 'ObjectPool-Core' copyFrom: 'ObjectPool' with: [ spec loads: 'Core' ].

spec
baseline: 'Buoy' with: [ spec repository: 'github://ba-st/Buoy:v6/source' ];
baseline: 'Buoy' with: [ spec repository: 'github://ba-st/Buoy:v7/source' ];
project: 'Buoy-SUnit' copyFrom: 'Buoy' with: [ spec loads: 'Dependent-SUnit-Extensions' ];
project: 'Buoy-Tools' copyFrom: 'Buoy' with: [ spec loads: 'Tools' ].

Expand All @@ -56,22 +62,26 @@ BaselineOfSagan >> setUpDependencies: spec [
project: 'Glorp SQLite3' copyFrom: 'SQLite3' with: [ spec loads: 'glorp' ].

spec
baseline: 'Bell' with: [ spec repository: 'github://ba-st/Bell:v1' ];
baseline: 'Bell' with: [ spec repository: 'github://ba-st/Bell:v2' ];
project: 'Bell-Core' copyFrom: 'Bell' with: [ spec loads: 'Deployment' ];
project: 'Bell-SUnit' copyFrom: 'Bell' with: [ spec loads: 'Dependent-SUnit-Extensions' ].

spec
baseline: 'Hyperspace' with: [ spec repository: 'github://ba-st/Hyperspace:v4' ];
baseline: 'Hyperspace' with: [ spec repository: 'github://ba-st/Hyperspace:v5' ];
project: 'Hyperspace-Deployment' copyFrom: 'Hyperspace' with: [ spec loads: 'Deployment' ]
]

{ #category : #initialization }
{ #category : 'initialization' }
BaselineOfSagan >> setUpPackages: spec [

spec
package: 'Sagan-Core' with: [ spec requires: 'Kepler-Core' ];
group: 'Core' with: 'Sagan-Core'.

spec
package: 'Sagan-Extensions';
group: 'Core' with: 'Sagan-Extensions'.

spec
package: 'Sagan-Kepler' with: [ spec requires: 'Kepler-Core' ];
group: 'Core' with: 'Sagan-Kepler'.
Expand Down
2 changes: 1 addition & 1 deletion source/BaselineOfSagan/package.st
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Package { #name : #BaselineOfSagan }
Package { #name : 'BaselineOfSagan' }
25 changes: 13 additions & 12 deletions source/Sagan-Core-Tests/Extraterrestrial.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,20 @@
I'm a dummy object used for the persistence tests
"
Class {
#name : #Extraterrestrial,
#superclass : #Object,
#name : 'Extraterrestrial',
#superclass : 'Object',
#instVars : [
'sequentialNumber',
'firstName',
'lastName',
'birthDate',
'raceName'
],
#category : #'Sagan-Core-Tests'
#category : 'Sagan-Core-Tests',
#package : 'Sagan-Core-Tests'
}

{ #category : #accessing }
{ #category : 'accessing' }
Extraterrestrial class >> namedFirst: aFirstName last: aLastName bornOn: aDate as: aRace [

^ self new initializeNamedFirst: aFirstName
Expand All @@ -23,19 +24,19 @@ Extraterrestrial class >> namedFirst: aFirstName last: aLastName bornOn: aDate a
as: aRace
]

{ #category : #accessing }
{ #category : 'accessing' }
Extraterrestrial >> birthDate [

^ birthDate
]

{ #category : #accessing }
{ #category : 'accessing' }
Extraterrestrial >> firstName [

^ firstName
]

{ #category : #initialization }
{ #category : 'initialization' }
Extraterrestrial >> initializeNamedFirst: aFirstName last: aLastName bornOn: aDate as: aRace [

firstName := aFirstName.
Expand All @@ -44,13 +45,13 @@ Extraterrestrial >> initializeNamedFirst: aFirstName last: aLastName bornOn: aDa
raceName := aRace
]

{ #category : #accessing }
{ #category : 'accessing' }
Extraterrestrial >> lastName [

^ lastName
]

{ #category : #printing }
{ #category : 'printing' }
Extraterrestrial >> printOn: aStream [

aStream
Expand All @@ -59,19 +60,19 @@ Extraterrestrial >> printOn: aStream [
nextPutAll: firstName
]

{ #category : #accessing }
{ #category : 'accessing' }
Extraterrestrial >> raceName [

^ raceName
]

{ #category : #accessing }
{ #category : 'accessing' }
Extraterrestrial >> sequentialNumber [

^ sequentialNumber
]

{ #category : #updating }
{ #category : 'updating' }
Extraterrestrial >> synchronizeWith: anExtraterrestial [

AssertionChecker enforce: [ self raceName = anExtraterrestial raceName ]
Expand Down
15 changes: 8 additions & 7 deletions source/Sagan-Core-Tests/InMemoryRepositoryProviderTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@
I have the Unit Tests for the In Memory Repository implementation.
"
Class {
#name : #InMemoryRepositoryProviderTest,
#superclass : #RepositoryBasedTest,
#category : #'Sagan-Core-Tests'
#name : 'InMemoryRepositoryProviderTest',
#superclass : 'RepositoryBasedTest',
#category : 'Sagan-Core-Tests',
#package : 'Sagan-Core-Tests'
}

{ #category : #initialization }
{ #category : 'initialization' }
InMemoryRepositoryProviderTest >> setUpRepositoryWith: aConflictCheckingStrategy [

extraterrestrials := InMemoryRepositoryProvider new
Expand All @@ -18,7 +19,7 @@ InMemoryRepositoryProviderTest >> setUpRepositoryWith: aConflictCheckingStrategy
checkingConflictsAccordingTo: aConflictCheckingStrategy
]

{ #category : #tests }
{ #category : 'tests' }
InMemoryRepositoryProviderTest >> testSpaceshipQueryingForPositiveFirepower [

| solvalou solgrado zeodalley |
Expand All @@ -45,7 +46,7 @@ InMemoryRepositoryProviderTest >> testSpaceshipQueryingForPositiveFirepower [
]
]

{ #category : #tests }
{ #category : 'tests' }
InMemoryRepositoryProviderTest >> testSpaceshipQueryingForZeroFirepower [

| solvalou solgrado zeodalley |
Expand All @@ -65,7 +66,7 @@ InMemoryRepositoryProviderTest >> testSpaceshipQueryingForZeroFirepower [
do: [ :spaceships | self assertCollection: spaceships hasSameElements: {solvalou} ]
]

{ #category : #utility }
{ #category : 'utility' }
InMemoryRepositoryProviderTest >> withAllSpaceshipsMatching: aMatchingCriteria do: aOneArgBlock [

aOneArgBlock value: ( ships findAllMatching: aMatchingCriteria )
Expand Down
Loading