BaselineOfWonkaRuntime

Details

Source
GitHub
Dialect
pharo (25% confidence)
Created
Jan. 1, 2018
Updated
Jan. 1, 2018

README excerpt

BaselineOfWonkaRuntime
======================

This is just an extract of some of our scripts that can be used to
load all our 3rdparty dependencies into an image, based on our
baseline: BaselineOfWonkaProjects.

.. warning:: The code represents several attempts by several people
             over the years to work around all kinds of problems while
             trying to do this. Its not pretty.

Status
~~~~~~

The code as per the first commit (note the baseline..st in it) has
been in use for a few years on GS3.2 but it stopped working in "over
the network mode".

As per this commit, I got it to load using WonkaLoader on GS3.4 and
3.2 overTheNetwork by adding the DataStream and DoubleByteString
methods as extensions.

I don't have it working loading via a more simple straight usage of
GsUpgrader and Monticello fetch/load ... which I would have liked to
do.

To play with it:
~~~~~~~~~~~~~~~~

1. Clone the project.
2. Do a `git submodule update --init`
3. Do a `vagrant up`

Our requirements:
~~~~~~~~~~~~~~~~~

... are basically captured in the script `./bootstrap_image.sh`.

Run it from inside the vagrant machine, from `/vagrant':

`./bootstrap_image.sh -n` loads everything, fetching via the network and storing what it fetches in `3rdparty/GemStone3.4`.
`./bootstrap_image.sh` loads everything, from what was fetched to `3rdparty/GemStone3.4` previously.

You can use `-e file_path` to specify a particular extent to use as starting point. By default $GEMSTONE/bin/extent0.seaside.dbf is used.
The idea is to be able to give it a production extent too, in which case it will upgraded to what is specified in the baseline.




Using only standard tools
~~~~~~~~~~~~~~~~~~~~~~~~~

By default this loads using WonkaLoader, but passing -s to `./bootstrap_image.sh` makes it use topaz/makeCIImageUsingStandardTools.topaz
instead, which only uses standard tools.



             
Some stuff regarding WonkaLoader
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In loadWonkaRuntimeGroup:fromWonkaRoot:platform:overNetwork: 

the group is a group defined in BaselineOfWonkaRuntime
wonkaRoot is just the root of our application's git repository
platform is something like 'GemStone3.2', 'GemStone3.4', 'pharo'

The project source is structured like this:

 wonkaRoot/ 3rdparty/GemStone3.4  (cache directory for GS3.4)
            3rdparty/GemStone3.2  (cache directory for GS3.2)
            3rdparty/gemstone     (git submodules for each repo we cloned)
            3rdparty/pharo        (cache directory for pharo)
            monticello/           (filetree repository for our own code)
← Back to results