- Grouper 2.3 uses BeanShell. There's no tab completion, history, etc.
- Grouper 2.3 with patches and Grouper 2.4+ switches to Groovy as the default shell.
- The goal was to keep any existing GSH scripts that deployers may have written as compatible as possible with the new Groovy based GSH.
- Built in GSH commands (e.g. obliterateStem) were modified to work with both BeanShell and Groovy.
There's an option to switch back to BeanShell by specifying the following in grouper.properties
gsh.sh and gsh.bat were not changed.
- Users can still use another shell as they did before (e.g. https://github.com/wgthom/groovysh4grouper)
This is how GSH would start up before the 2.3 patch that contains this change (with an example built in gsh command - obliterateStem). (There's no change.):
groovy:000> grouperSession = GrouperSession.startRootSession() ===> 5c455cfc3511413abdb20276c45f8d7d,'GrouperSystem','application' groovy:000> new GroupSave(grouperSession).assignName("stem1:a").assignCreateParentStemsIfNotExist(true).save(); ===> Group[name=stem1:a,uuid=535a12b070e54474bf67f0e538adebe8] groovy:000>