--- /dev/null
+#note also the .gitignore files in the tool and developer directories and any
+# other directory that might have one.
+
+#*#
+*~
+a.out
+.gradle/
--- /dev/null
+Copyright © 2025 Thomas Walker Lynch - All Rights Reserved
--- /dev/null
+#ifndef Mpblock·ENVIRONMENT_H
+#define Mpblock·ENVIRONMENT_H
+ #include <stdint.h>
+ #include <stdbool.h>
+
+ typedef unsigned int uint;
+ #define FREE(pt) free(pt); (pt) = NULL;
+
+#endif
--- /dev/null
+#!/usr/bin/env bash
+script_afp=$(realpath "${BASH_SOURCE[0]}")
+
+# input guards
+
+ env_must_be="tool_shared/bespoke🖉/env"
+ error_bad_env=false
+ error_not_sourced=false
+ if [ "$ENV" != "$env_must_be" ]; then
+ echo "$(script_fp):: error: must be run in the $env_must_be environment"
+ error_bad_env=true
+ fi
+ if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then
+ echo "$script_afp:: This script must be sourced, not executed."
+ error_not_sourced=true
+ fi
+ if $error_not_sourced; then exit 1; fi
+ if $error_bad_env; then return 1; fi
+
+# so we can do the build
+
+export PATH=\
+"$REPO_HOME"/developer/tool🖉/\
+:"$PATH"
+
+# misc
+
+ # make .githolder and .gitignore visible
+ alias ls="ls -a"
+
+# some feedback to show all went well
+
+ export PROMPT_DECOR="$PROJECT"_developer
+ export ENV=$(script_fp)
+ echo ENV "$ENV"
+ cd "$REPO_HOME"/developer/
+
+
+
--- /dev/null
+#!/bin/env /bin/bash
+
+set -e
+cd ${REPO_HOME}/developer
+/bin/make -f tool🖉/makefile $@
+
--- /dev/null
+
+
+RT-INCOMMON:=$(REPO_HOME)/tool_shared/third_party/RT-project-share/release
+
+include $(RT-INCOMMON)/make/environment_RT_0
+
+CFLAGS+=-Werror -include "$(RT-INCOMMON)/make/RT_0.h"
+LINKFLAGS+= -l$(PROJECT)
+LIBFILE=$(LIBDIR)/lib$(PROJECT).a
+
+include $(RT-INCOMMON)/make/targets
+-include $(DEPFILE)
+
+
+
+
+
+
--- /dev/null
+tool_shared/third_party/RT-project-share/env_administrator
\ No newline at end of file
--- /dev/null
+tool_shared/third_party/RT-project-share/env_developer
\ No newline at end of file
--- /dev/null
+tool_shared/third_party/RT-project-share/env_tester
\ No newline at end of file
--- /dev/null
+#!/usr/bin/env bash
+script_afp=$(realpath "${BASH_SOURCE[0]}")
+if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then
+ echo "$script_afp:: This script must be sourced, not executed."
+ exit 1
+fi
+
+# without this bash takes non-matching globs literally
+shopt -s nullglob
+
+# --------------------------------------------------------------------------------
+# project definition
+
+# actual absolute director path for this script file
+
+ script_adp(){
+ dirname "$script_afp"
+ }
+
+# assume this script is located $REPO_HOME/tools_shared/bespoke and work backwards
+# to get $REPO_HOME, etc.
+
+ REPO_HOME=$(dirname "$(dirname "$(script_adp)")")
+ echo REPO_HOME "$REPO_HOME"
+
+ PROJECT=$(basename "$REPO_HOME")
+ echo PROJECT "$PROJECT"
+
+ # set the prompt decoration to the name of the project
+ PROMPT_DECOR=$PROJECT
+
+ # include the project bespoke tools
+ PATH="$REPO_HOME"/tool_shared/bespoke🖉:"$PATH"
+
+ export REPO_HOME PROJECT PROMPT_DECOR PATH
+
+# --------------------------------------------------------------------------------
+# The project administrator sets up the following tools for all roles to use:
+#
+ PATH="$REPO_HOME/tool_shared/third_party/RT-project-share/release/bash:$PATH"
+ PATH="$REPO_HOME/tool_shared/third_party/RT-project-share/release/amd64:$PATH"
+ PATH="$REPO_HOME/tool_shared/third_party/emacs/bin:$PATH"
+
+ # after having installed Itellij IDEA
+ PATH="$REPO_HOME/tool_shared/third_party/idea-IC-243.21565.193/bin:$PATH"
+
+ JAVA_HOME="$REPO_HOME/tool_shared/third_party/jdk-23.0.1"
+ MOSAIC_HOME="$REPO_HOME/tool_shared/third_party/Mosaic"
+
+ export PATH JAVA_HOME MOSAIC_HOME
+
+# --------------------------------------------------------------------------------
+# the following functions are provided for other scripts to use.
+# at the top of files that make use of these functions put the following line:
+# script_afp=$(realpath "${BASH_SOURCE[0]}")
+#
+
+ ## script's filename
+ script_fn(){
+ basename "$script_afp"
+ }
+
+ ## script's dirpath relative to $REPO_HOME
+ script_fp(){
+ realpath --relative-to="${REPO_HOME}" "$script_afp"
+ }
+
+ ## script's dirpath relative to $REPO_HOME
+ script_dp(){
+ dirname "$(script_fp)"
+ }
+
+ export -f script_adp script_fn script_dp script_fp
+
+# --------------------------------------------------------------------------------
+# closing
+#
+
+ export ENV=$(script_fp)
+ echo ENV "$ENV"
+
--- /dev/null
+#!/bin/env bash
+script_afp=$(realpath "${BASH_SOURCE[0]}")
+
+# 0.1 pulled groovy files from GQL_to_Cypher build.gradle
+# 0.2 conversion to Java
+# 0.3 refactored, split into smaller pieces, made into package
+
+echo v0.3
+
--- /dev/null
+----------------------------------------
+RT-project-share
+
+ lrwxrwxrwx. 1 Thomas-developer Thomas-developer 41 2025-01-22 06:29 emacs_30.0.92 -> /home/Thomas-masu/developer/emacs_30.0.92
+ lrwxrwxrwx. 1 Thomas-developer Thomas-developer 45 2025-01-22 06:29 RT-project-share -> /home/Thomas-masu/developer/RT-project-share/
+
+
+----------------------------------------
+# for downloads of tar files etc. for third party tools :
+ drwx------. 1 Thomas-developer Thomas-developer 354 2024-12-09 02:45 upstream
+
+
+----------------------------------------
+generally when installing third party tools from a repo
+
+ . env_administrator
+ cd tools_shared/third_party
+ git clone <project>
+ cd project
--- /dev/null
+#!/usr/bin/env bash
+script_afp=$(realpath "${BASH_SOURCE[0]}")
+if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then
+ echo "$script_afp:: This script must be sourced, not executed."
+ exit 1
+fi
+
+# without this bash takes non-matching globs literally
+shopt -s nullglob
+
+# --------------------------------------------------------------------------------
+# project definition
+
+# actual absolute director path for this script file
+
+ script_adp(){
+ dirname "$script_afp"
+ }
+
+# assume this script is located $REPO_HOME/tools_shared/bespoke and work backwards
+# to get $REPO_HOME, etc.
+
+ REPO_HOME=$(dirname "$(dirname "$(script_adp)")")
+ echo REPO_HOME "$REPO_HOME"
+
+ PROJECT=$(basename "$REPO_HOME")
+ echo PROJECT "$PROJECT"
+
+ # set the prompt decoration to the name of the project
+ PROMPT_DECOR=$PROJECT
+
+ # include the project bespoke tools
+ PATH="$REPO_HOME"/tool_shared/bespoke🖉:"$PATH"
+
+ export REPO_HOME PROJECT PROMPT_DECOR PATH
+
+# --------------------------------------------------------------------------------
+# The project administrator sets up the following tools for all roles to use:
+#
+ PATH="$REPO_HOME/tool_shared/third_party/RT-project-share/release/bash:$PATH"
+ PATH="$REPO_HOME/tool_shared/third_party/RT-project-share/release/amd64:$PATH"
+ PATH="$REPO_HOME/tool_shared/third_party/emacs/bin:$PATH"
+
+ # after having installed Itellij IDEA
+ PATH="$REPO_HOME/tool_shared/third_party/idea-IC-243.21565.193/bin:$PATH"
+
+ JAVA_HOME="$REPO_HOME/tool_shared/third_party/jdk-23.0.1"
+ MOSAIC_HOME="$REPO_HOME/tool_shared/third_party/Mosaic"
+
+ export PATH JAVA_HOME MOSAIC_HOME
+
+# --------------------------------------------------------------------------------
+# the following functions are provided for other scripts to use.
+# at the top of files that make use of these functions put the following line:
+# script_afp=$(realpath "${BASH_SOURCE[0]}")
+#
+
+ ## script's filename
+ script_fn(){
+ basename "$script_afp"
+ }
+
+ ## script's dirpath relative to $REPO_HOME
+ script_fp(){
+ realpath --relative-to="${REPO_HOME}" "$script_afp"
+ }
+
+ ## script's dirpath relative to $REPO_HOME
+ script_dp(){
+ dirname "$(script_fp)"
+ }
+
+ export -f script_adp script_fn script_dp script_fp
+
+# --------------------------------------------------------------------------------
+# closing
+#
+
+ export ENV=$(script_fp)
+ echo ENV "$ENV"
+
--- /dev/null
+/home/Thomas-masu/developer/RT-project-share/
\ No newline at end of file
--- /dev/null
+/home/Thomas-masu/developer/emacs_30.0.92
\ No newline at end of file
--- /dev/null
+#!/bin/env bash
+script_afp=$(realpath "${BASH_SOURCE[0]}")
+
+echo v0.1
+
--- /dev/null
+#!/bin/bash
+
+# Find empty directories and add a .githolder file
+target_file=".githolder"
+
+find . -type d -empty -print0 | while IFS= read -r -d '' dir; do
+ touch "$dir/$target_file"
+ echo "Added $target_file to $dir"
+done
--- /dev/null
+#!/usr/bin/env bash
+script_afp=$(realpath "${BASH_SOURCE[0]}")
+
+# input guards
+
+ env_must_be="tool_shared/bespoke/env"
+ error=false
+ if [ "$ENV" != "$env_must_be" ]; then
+ echo "$(script_fp):: error: must be run in the $env_must_be environment"
+ error=true
+ fi
+ if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then
+ echo "$script_afp:: This script must be sourced, not executed."
+ error=true
+ fi
+ if $error; then exit 1; fi
+
+export PATH=\
+"$REPO_HOME"/tool_shared/bespoke/\
+:"$PATH"
+
+# expose sneaky hidden files
+alias ls="ls -a"
+
+# some feedback to show all went well
+
+ export PROMPT_DECOR="$PROJECT"_administrator
+ export ENV=$(script_fp)
+ echo ENV "$ENV"