Skip to content

Commit

Permalink
issue #260: initial cut at new directory structure for integration of…
Browse files Browse the repository at this point in the history
… superdoit
  • Loading branch information
dalehenrich committed Mar 14, 2021
1 parent 6ce7073 commit 0e0c999
Show file tree
Hide file tree
Showing 31 changed files with 921 additions and 42 deletions.
18 changes: 0 additions & 18 deletions altbin/test_tonel

This file was deleted.

6 changes: 0 additions & 6 deletions altbin/test_topaz

This file was deleted.

2 changes: 1 addition & 1 deletion bin/defHOME_PATH.env
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
cd "$( dirname "${BASH_SOURCE[0]}" )"
cd ..
export GS_HOME=`pwd`
export PATH="$GS_HOME/bin":$PATH
export PATH="$GS_HOME/superdoit_devkit":PATH="$GS_HOME/bin":$PATH

7 changes: 0 additions & 7 deletions shared/gemstone/.gitignore

This file was deleted.

2 changes: 0 additions & 2 deletions shared/gemstone/README.md

This file was deleted.

3 changes: 0 additions & 3 deletions shared/gemstone/snapshots/.gitignore

This file was deleted.

4 changes: 0 additions & 4 deletions shared/gemstone/snapshots/README.md

This file was deleted.

22 changes: 22 additions & 0 deletions superdoit_devkit/superdoit/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
### partial copy of https://github.com/dalehenrich/superDoit
Use the ??? script to update this copy from the master superDoit project.

A copy of the project is made to isolate the superdoit code from the
superDoit project to allow for imcompatible changes to be made without
affecting operation of GsDevKit_home scripts

### installation
```
git clone https://github.com/GsDevKit/GsDevKit_home.git
cd GsDevKit_home
git checkout issue_260_2021
. bin/defHOME_PATH.env # define GS_HOME env var and put $GS_HOME and $GS_HOME/superdoit_devkit into PATH
downloadGemStone 3.6.0
pushd superdoit_devkit/superdoit/gemstone/gs
curl -L -O -s -S "https://github.com/dalehenrich/superDoit/releases/download/v0.1.0/3.6.0_extent0.solo.dbf.gz"
gunzip --stdout 3.6.0_extent0.solo.dbf.gz > extent0.solo.dbf
chmod -w extent0.solo.dbf
ln -s $GS_HOME/shared/downloads/product/GemStone64Bit3.6.0-* product
popd
installServerClient
```
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
*
!.gitignore
!README.md
!.gitignore
4 changes: 4 additions & 0 deletions superdoit_devkit/superdoit/gemstone/gs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
### reference gemstone product tree and solo extent for bin/superdoit_solo script

**product** $GEMSTONE product tree
**extent0.solo.dbf** solo extent with Rowan installed (masterV2.1 at a minimum)
16 changes: 16 additions & 0 deletions superdoit_devkit/superdoit/gemstone/superdoit.tpz
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
login
run
"install superDoit support code in image"
(Rowan
projectFromUrl: 'file:$superdoitDir/rowan/specs/SuperDoit_devkit.ston'
diskUrl: 'file:$superdoitDir')
load.
%
run
"the first non-topaz argument is the name of the script file
extract the file name and parse the script to extract information
needed to create class for running the script.
The printString of the doit result is printed to stdout.
"
SuperDoitCommandParser processInputFile
%
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
set user SystemUser
set password swordfish
set solologin on

display classoops
13 changes: 13 additions & 0 deletions superdoit_devkit/superdoit/rowan/components/SuperDoit.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
RwSimpleProjectLoadComponentV2 {
#name : 'SuperDoit',
#condition : 'common',
#projectNames : [ ],
#componentNames : [
'gemstone/SuperDoit',
'gemstone36/SuperDoit'
],
#packageNames : [
'SuperDoit-Core'
],
#comment : ''
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
RwPlatformNestedProjectLoadComponentV2 {
#name : 'gemstone/SuperDoit',
#condition : [
'gemstone'
],
#packageNames : [
'SuperDoit-GemStone-Kernel'
],
#conditionalPackageMapSpecs : {
'gemstone' : {
'allusers' : {
#packageNameToPlatformPropertiesMap : {
'SuperDoit-GemStone-Kernel' : {
'symbolDictName' : 'Globals'
}
}
}
}
},
#comment : 'GsFile>>print: is missing from 3.6; added to 3.7'
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
RwPlatformNestedProjectLoadComponentV2 {
#name : 'gemstone36/SuperDoit',
#condition : [
'gs3.6.x'
],
#packageNames : [
'SuperDoit-GemStone-Kernel-36x'
],
#conditionalPackageMapSpecs : {
'gemstone' : {
'allusers' : {
#packageNameToPlatformPropertiesMap : {
'SuperDoit-GemStone-Kernel-36x' : {
'symbolDictName' : 'Globals'
}
}
}
}
},
#comment : 'GsFile>>print: is missing from 3.6; added to 3.7'
}
10 changes: 10 additions & 0 deletions superdoit_devkit/superdoit/rowan/project.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
RwProjectSpecificationV2 {
#specName : 'project',
#projectSpecPath : 'rowan',
#componentsPath : 'rowan/components',
#packagesPath : 'rowan/src',
#projectsPath : 'rowan/projects',
#specsPath : 'rowan/specs',
#packageFormat : 'tonel',
#comment : ''
}
File renamed without changes.
10 changes: 10 additions & 0 deletions superdoit_devkit/superdoit/rowan/specs/SuperDoit_devkit.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
RwLoadSpecificationV2 {
#specName : 'SuperDoit_devkit',
#projectName : 'superDoit_devkit',
#diskUrl : 'file:$GS_HOME/superdoit_devkit/superdoit',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'SuperDoit'
],
#comment : ''
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
Class {
#name : 'SuperDoitCommandLineOption',
#superclass : 'Object',
#instVars : [
'longName',
'shortName',
'value'
],
#classVars : [
'NoValue'
],
#category : 'SuperDoit-Core'
}

{ #category : 'instance creation' }
SuperDoitCommandLineOption class >> long: longName [
^ self new
longName: longName;
yourself
]

{ #category : 'instance creation' }
SuperDoitCommandLineOption class >> long: longName short: shortName [
^ self new
longName: longName;
shortName: shortName;
yourself
]

{ #category : 'accessing' }
SuperDoitCommandLineOption class >> noValue [
^ NoValue ifNil: [ NoValue := Object new ]
]

{ #category : 'testing' }
SuperDoitCommandLineOption >> argExpected [
^ false
]

{ #category : 'testing' }
SuperDoitCommandLineOption >> argRequired [
^ false
]

{ #category : 'accessing' }
SuperDoitCommandLineOption >> defaultValue [
^ false
]

{ #category : 'accessing' }
SuperDoitCommandLineOption >> longName [
^longName
]

{ #category : 'accessing' }
SuperDoitCommandLineOption >> longName: object [
longName := object
]

{ #category : 'accessing' }
SuperDoitCommandLineOption >> noValue [
^ self class noValue
]

{ #category : 'accessing' }
SuperDoitCommandLineOption >> shortName [
^shortName
]

{ #category : 'accessing' }
SuperDoitCommandLineOption >> shortName: object [
shortName := object
]

{ #category : 'accessing' }
SuperDoitCommandLineOption >> value [
^ value ifNil: [ value := self defaultValue ]
]

{ #category : 'accessing' }
SuperDoitCommandLineOption >> value: object [
value
ifNotNil: [
self
error:
'The option ' , self longName printString , ' has already been processed.' ].
value := object
]

{ #category : 'testing' }
SuperDoitCommandLineOption >> wasSet [
"answer true if the receiver was set on the command line"

^ value == true
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Class {
#name : 'SuperDoitCommandLineOptionWithArgument',
#superclass : 'SuperDoitCommandLineOption',
#category : 'SuperDoit-Core'
}

{ #category : 'testing' }
SuperDoitCommandLineOptionWithArgument >> argExpected [
^ true
]

{ #category : 'accessing' }
SuperDoitCommandLineOptionWithArgument >> markNoValue [
"Since nil is a valid value, mark with a noValue object that is unique when the optional options have been referenced on command line, should trigger use of defaultValue"

value
ifNotNil: [
self
error:
'The option ' , self longName printString , ' has already been processed.' ].
value := self noValue
]

{ #category : 'accessing' }
SuperDoitCommandLineOptionWithArgument >> value [
^ value == self noValue
ifTrue: [ self defaultValue ]
ifFalse: [ value ]
]

{ #category : 'testing' }
SuperDoitCommandLineOptionWithArgument >> wasSet [
"answer true if the receiver was set on the command line"

^ value notNil
]
Loading

0 comments on commit 0e0c999

Please sign in to comment.