The Development Kit for GemStone/S (GsDevKit) contains tools and compatiblity changes that sit on top of the GemStone/S 64 Bit product, providing a complete and powerful open-source development environment. The Development kit allows Pharo and Squeak developers to take advantage of GemStone's object persistence, along with a variety of open-source Smalltalk tools and frameworks.
The Development kit includes simplified processes for installating and managing the GemStone/S server.
Detailed instructions for configuring your OS and installing GemStone/S, GsDevKit, and starting tODE:
Additional supporting documentation:
The following steps will install the GemStone/S and Development Kit server, and open the tODE IDE client image:
NOTE: Do not use sudo
when running any of the commands in this document, unless explicitly instructed to do so.
The Dev Kit server can be installed on Linux or Mac OS X. The following OS packages must be installed in your system for GsDevKit to work correctly in all cases:
For a detailed instructions on installing the OS prerequisites, a full list of required/recommended packages, and scripts that perform the installation, see GsDevKit Operating System Prerequisite Installation.
Clone the gsDevKitHome project to your GemStone development server and create a unique branch to keep any changes you make for your project isolated from the Dev Kit master branch:
Fork the gsDevKitHome project, clone your fork to your local GemStone development server, and create a unique branch to keep any changes you make for your project isolated.
If you are new to github, see the detailed instructions. You will need to setup authentication (generally, SSH credentials) as well, to allow tODE to work.
git clone git@github.com:<yourAccountName>/gsDevKitHome.git
cd gsDevKitHome
Create a unique branch for your work, and synchronize github
# The purpose of the branch is to have a place to make all your personal customizations. This way,
# if you ever want to feed back changes to gsDevKitHome, your dev branch will be clean. Since the
# basic use case is to have one branch for all your development. You may want to name it after
# yourself!
git checkout -b <your_branch_name>
# Where you push depends on your workflow. Since this is git, you have many options to host your
# code (e.g. GitHub, BitBucket). If you want to simply push to your GitHub fork:
git push origin <your_branch_name>
Define the $GS_HOME
environment variable and add $GS_HOME/bin
to your $PATH
:
cd gsDevKitHome # if you are not already located there
export GS_HOME=`pwd`
export PATH=$GS_HOME/bin:$PATH
To make sure they are always correctly defined, it's a good idea to update your .bashrc
file with these $GS_HOME
and $PATH
definitions.
To install a GemStone stone, run the $GS_HOME/bin/installServer
script.
This script performs the following individual steps.
Before running the installServer
script, please check on the GemStone/S 64 Bit product page for the latest versions and visit the Community and Web Edition Licensing page for information on the license included with the download and other options.
It is recommended that you download and use the latest version of the GemStone/S 64 Bit product.
The following creates a new stone named devKit
based on version 3.2.6 of GemStone/S:
installServer devKit 3.2.8.1
Note that the script will prompt you for your password because it uses sudo
to setup up your server for running GemStone.
When the installServer
script finishes, the tode client image is opened:
To manually open a tode client image, use the $GS_HOME/bin/todeClient script:
todeClient
Once a tode client image is open, use the following menu to open a tode shell:
If an error occurs while attempting to open the tODE shell, see the tODE Test Login section of the Getting Started with tODE document for getting help diagnosing the problem.
Open a tODE a Project List Browser using the project list
tODE command:
For additional information on using tODE see the Getting Started with tODE document.
commit the changes that you've made. (If you've forked the GitHub project, you should push the changes to your GitHub repository as well):
git status # see the changes that have been made
git add --all # stage the changed files
git commit -m"initial installation" # commit the changes