[Glass] How to convert this source to GsDevKit_stones ?
Dale Henrichs
dale.henrichs at gemtalksystems.com
Tue Nov 26 16:19:25 PST 2024
On Tue, Nov 26, 2024 at 2:50 PM Marten Feldtmann <m at feldtmann.online> wrote:
> Hey,
>
> well GsDevKit_stones/bin and superDoit/bin are in my PATH variable, so I
> have no problems calling all stuff from there.
>
as expected...
>
> Well, I asked ChatGPT how to get the GEMSTONE variable value from the
> input parameter stoneName, registryName and $stones_data_home value
> considering the structure of GsDevKit_stones and this resulting bash script
> seems to work. With that I can start all other processes.
>
I don't know what ChatGPT answered ... but if you look at the
.GDKStoneSpec.ston file in your stone directory, you will see everything
that GsDevKit_stones knows about your stone including the set of env vars
that are in your customenv file (if you used the customenv.solo solo script
to add them to your file. The .GDKStoneSpec.ston file in your stone
directory is a symbolic link to the file in your registry ...
I do recommend that you put your $STONES_DATA_HOME/gsdevkit_stones
directory under git control and periodically do commits, so that you can
protect the GsDevKit_stones data base from accidental corruption either
from manual edits of GsDevKit_stones bugs...
>
>
> By the way:
>
> * what are projectsets for ????
>
project sets allow you to define a set of git projects that you want to
manage as a unit. The scripts following scripts use projectSets:
- createProjectSet.solo
- updateProjectSet.solo
- cloneProjectsFromProjectSet.solo
Once a project set has been defined, you can use
cloneProjectsFromProjectSet.solo script to populate an empty directory by
cloning all of the projects in the project set into the directory or do a
combo of fetch/pull/checkout on the git repositories to make sure you've
got the latest commit of the project in your local directory.
* how can I create own stone templates from full backups of a GS database ?
>
I'm not quite sure what you mean by "stone templates"? Are referring to the
GsDevKit_stones stone templates[1]? If so you are looking at a ston file
with an instance of GDKhomeStoneDirectorySpec stored in it and it seems
that at the moment there is no script to support creating and registering a
new instance of a template.
If all you want to do is change the values of the exiting fields, you can
copy an existing template, change the name of the file, the name field in
the file and any of the fields that you want to change ... then manually
add an entry in the registry where you want to use the new template in the
#templates dictionary ... this is a case where you should commit your
registry structure in git, in case you make editing errors :)
If you want to make a new type of template then you would need to add a new
class of template to a private branch of GsDevKit_stones. Subclass
GDKstonesStoneDirectorySpec and then add the fields/behavior you want ...
You would might also want to modify or create your own createStone.solo
script that invokes your new behavior ...
Dale
[1]
https://github.com/GsDevKit/GsDevKit_stones/blob/v2.1/templates/default_seaside.ston
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/archives/glass/attachments/20241126/0c022cfc/attachment.htm>
More information about the Glass
mailing list