Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?

The Light At The End Of The Tunnel: Announcing the release of GsDevKit_home and tODE

  1. GsDevKit_home & tODE provides a complete Smalltalk development environment for GemStone/S 64
    • easy GsDevKit installation:

      git clone https://github.com/GsDevKit/GsDevKit_home.git
      cd GsDevKit_home
      export GS_HOME=`pwd`
      export PATH=$GS_HOME/bin:$PATH
      $GS_HOME/bin/installServerClient devKit_329 tode1 3.2.9
      
    • Documentation available at: https://github.com/GsDevKit/GsDevKit_home#open-source-development-kit-for-gemstones-64-bit-

    • easy project loading using tODE commands:

      project entry --url=http://gsdevkit.github.io/GsDevKit_home/Seaside3.ston /sys/local/server/projects
      project install Seaside3
      project load Seaside3
      
      • Seaside3.ston - a git/github project

        ^ TDProjectSpecEntryDefinition new
           comment: '';
           projectUrl: 'https://github.com/GsDevKit/Seaside31';
           baseline: 'Seaside3'
              repository: 'github://GsDevKit/Seaside31:3.1.?/repository'
              loads: #('Development' 'Zinc' 'Examples');
           installScript:
              '
              project clone --https --local Seaside3
              mount $GS_HOME/shared/repos/Seaside3/tode /home seaside
              project install --local --url=http://gsdevkit.github.io/GsDevKit_home/ZincHTTPComponents.ston
              project install --local --url=http://gsdevkit.github.io/GsDevKit_home/GsApplicationTools.ston';
           gitCheckout: 'gs_master';
           status: #(#'inactive');
           locked: false;
           yourself
      • Magritte3.ston - a Smalltalk Hub project:

        ^ TDProjectSpecEntryDefinition new
           comment: '';
           projectUrl: 'https://github.com/magritte-metamodel/magritte';
           configuration: 'Magritte3'
              version: #'release3.2'
              repository: 'http://smalltalkhub.com/mc/Magritte/Magritte3/main'
              loads: #('Seaside');
           status: #(#'inactive');
           locked: false;
           yourself
      • list of available GsDevKit projects @ http://gsdevkit.github.io/GsDevKit_home/

    • Easy customization for personal project:

      • Example scripts

        script function
        seasideCreateStone Create a new stone using $GS_HOME/bin/createStone, download the project entry from GsDevKit_home.io, run the project entry install script, load Seaside3
        seasideInstall run the install script for the Seaside3 project entry
        seasideLoad load the Seaside3 project
        sdeasideTest run the Seaside3 tests
        seasideUpdate Download and load the latest Seaside3 code available from GitHub
        seasideUpgrade Upgrade an existing Seaside3 stone to a new version of GemStone
        seasideWebServer Register/Start/Stop/Restart Seaside web server gems
        • with the exception of seasideCreateStone and seasideUpgrade, all of the scripts can be run from either a bash shell or a tODE shell - so yes they are all implemented in Smalltalk.
    • Easy use of git from within smalltalk:

      <img style="border: 2px solid #000000;"src="https://raw.githubusercontent.com/GsDevKit/GsDevKit_home/dev/docs/images/todeProjectListGitMenu.png" width="25%" height="25%"/>
      
      <img style="border: 2px solid #000000;"src="https://raw.githubusercontent.com/GsDevKit/GsDevKit_home/master/docs/images/gitMethodHistory.png" width="25%" height="25%"/>
      
    • Easy sharing of scripts between images????

    • GsDevKit_home

      • Bash scripts

        • createStone
        • deleteStone
        • startStone
        • stopStone
        • upgradeStone
      • standard directory structure

        path location
        $GS_HOME installation root
        $GS_HOME/bin GsDevKit_home bash scripts
        $GS_HOME/shared/repos git repository root
        $GS_HOME/server/stones GemStone stone directory
        $GS_HOME/sys/default default tODE shared directories
        $GS_HOME/sys/local local tODE shared directories
        $GS_HOME/sys/stones/ tODE stone directories
    • tODE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment