From 98caa9a86268d26a5fbcd301056614af27141e50 Mon Sep 17 00:00:00 2001 From: Thomas Walker Lynch Date: Fri, 7 Feb 2025 09:37:41 +0000 Subject: [PATCH 1/1] setup --- .gitignore | 7 ++ LICENSE.txt | 1 + developer/amd64/.githolder | 0 "developer/cc\360\237\226\211/environment.h" | 9 +++ developer/deprecated/.githolder | 0 .../document\360\237\226\211/.githolder" | 0 developer/experiment/.githolder | 0 developer/scratchpad/.githolder | 0 "developer/tool\360\237\226\211/env" | 39 +++++++++ "developer/tool\360\237\226\211/make" | 6 ++ "developer/tool\360\237\226\211/makefile" | 18 +++++ "document\360\237\226\211/.githolder" | 0 env_administrator | 1 + env_developer | 1 + env_tester | 1 + release/.githolder | 0 tester/.githolder | 0 "tool_shared/bespoke\360\237\226\211/env" | 81 +++++++++++++++++++ "tool_shared/bespoke\360\237\226\211/version" | 9 +++ tool_shared/customized/.githolder | 0 .../document\360\237\226\211/install.txt" | 19 +++++ tool_shared/env | 81 +++++++++++++++++++ tool_shared/third_party/RT-project-share | 1 + tool_shared/third_party/emacs_30.0.92 | 1 + tool_shared/third_party/upstream/.githolder | 0 tool_shared/version | 5 ++ "tool\360\237\226\211/add_git_holder" | 9 +++ "tool\360\237\226\211/env" | 29 +++++++ 28 files changed, 318 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE.txt create mode 100644 developer/amd64/.githolder create mode 100644 "developer/cc\360\237\226\211/environment.h" create mode 100644 developer/deprecated/.githolder create mode 100644 "developer/document\360\237\226\211/.githolder" create mode 100644 developer/experiment/.githolder create mode 100644 developer/scratchpad/.githolder create mode 100644 "developer/tool\360\237\226\211/env" create mode 100755 "developer/tool\360\237\226\211/make" create mode 100644 "developer/tool\360\237\226\211/makefile" create mode 100644 "document\360\237\226\211/.githolder" create mode 120000 env_administrator create mode 120000 env_developer create mode 120000 env_tester create mode 100644 release/.githolder create mode 100644 tester/.githolder create mode 100644 "tool_shared/bespoke\360\237\226\211/env" create mode 100755 "tool_shared/bespoke\360\237\226\211/version" create mode 100644 tool_shared/customized/.githolder create mode 100644 "tool_shared/document\360\237\226\211/install.txt" create mode 100644 tool_shared/env create mode 120000 tool_shared/third_party/RT-project-share create mode 120000 tool_shared/third_party/emacs_30.0.92 create mode 100644 tool_shared/third_party/upstream/.githolder create mode 100755 tool_shared/version create mode 100755 "tool\360\237\226\211/add_git_holder" create mode 100644 "tool\360\237\226\211/env" diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..02b640c --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +#note also the .gitignore files in the tool and developer directories and any +# other directory that might have one. + +#*# +*~ +a.out +.gradle/ diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..59f223e --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1 @@ +Copyright © 2025 Thomas Walker Lynch - All Rights Reserved diff --git a/developer/amd64/.githolder b/developer/amd64/.githolder new file mode 100644 index 0000000..e69de29 diff --git "a/developer/cc\360\237\226\211/environment.h" "b/developer/cc\360\237\226\211/environment.h" new file mode 100644 index 0000000..a9d3518 --- /dev/null +++ "b/developer/cc\360\237\226\211/environment.h" @@ -0,0 +1,9 @@ +#ifndef Mpblock·ENVIRONMENT_H +#define Mpblock·ENVIRONMENT_H + #include + #include + + typedef unsigned int uint; + #define FREE(pt) free(pt); (pt) = NULL; + +#endif diff --git a/developer/deprecated/.githolder b/developer/deprecated/.githolder new file mode 100644 index 0000000..e69de29 diff --git "a/developer/document\360\237\226\211/.githolder" "b/developer/document\360\237\226\211/.githolder" new file mode 100644 index 0000000..e69de29 diff --git a/developer/experiment/.githolder b/developer/experiment/.githolder new file mode 100644 index 0000000..e69de29 diff --git a/developer/scratchpad/.githolder b/developer/scratchpad/.githolder new file mode 100644 index 0000000..e69de29 diff --git "a/developer/tool\360\237\226\211/env" "b/developer/tool\360\237\226\211/env" new file mode 100644 index 0000000..f9e2584 --- /dev/null +++ "b/developer/tool\360\237\226\211/env" @@ -0,0 +1,39 @@ +#!/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/ + + + diff --git "a/developer/tool\360\237\226\211/make" "b/developer/tool\360\237\226\211/make" new file mode 100755 index 0000000..84e1111 --- /dev/null +++ "b/developer/tool\360\237\226\211/make" @@ -0,0 +1,6 @@ +#!/bin/env /bin/bash + +set -e +cd ${REPO_HOME}/developer +/bin/make -f tool🖉/makefile $@ + diff --git "a/developer/tool\360\237\226\211/makefile" "b/developer/tool\360\237\226\211/makefile" new file mode 100644 index 0000000..a0da057 --- /dev/null +++ "b/developer/tool\360\237\226\211/makefile" @@ -0,0 +1,18 @@ + + +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) + + + + + + diff --git "a/document\360\237\226\211/.githolder" "b/document\360\237\226\211/.githolder" new file mode 100644 index 0000000..e69de29 diff --git a/env_administrator b/env_administrator new file mode 120000 index 0000000..e5191fc --- /dev/null +++ b/env_administrator @@ -0,0 +1 @@ +tool_shared/third_party/RT-project-share/env_administrator \ No newline at end of file diff --git a/env_developer b/env_developer new file mode 120000 index 0000000..3e5f67c --- /dev/null +++ b/env_developer @@ -0,0 +1 @@ +tool_shared/third_party/RT-project-share/env_developer \ No newline at end of file diff --git a/env_tester b/env_tester new file mode 120000 index 0000000..b542358 --- /dev/null +++ b/env_tester @@ -0,0 +1 @@ +tool_shared/third_party/RT-project-share/env_tester \ No newline at end of file diff --git a/release/.githolder b/release/.githolder new file mode 100644 index 0000000..e69de29 diff --git a/tester/.githolder b/tester/.githolder new file mode 100644 index 0000000..e69de29 diff --git "a/tool_shared/bespoke\360\237\226\211/env" "b/tool_shared/bespoke\360\237\226\211/env" new file mode 100644 index 0000000..01f47a3 --- /dev/null +++ "b/tool_shared/bespoke\360\237\226\211/env" @@ -0,0 +1,81 @@ +#!/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" + diff --git "a/tool_shared/bespoke\360\237\226\211/version" "b/tool_shared/bespoke\360\237\226\211/version" new file mode 100755 index 0000000..51abf9f --- /dev/null +++ "b/tool_shared/bespoke\360\237\226\211/version" @@ -0,0 +1,9 @@ +#!/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 + diff --git a/tool_shared/customized/.githolder b/tool_shared/customized/.githolder new file mode 100644 index 0000000..e69de29 diff --git "a/tool_shared/document\360\237\226\211/install.txt" "b/tool_shared/document\360\237\226\211/install.txt" new file mode 100644 index 0000000..5897489 --- /dev/null +++ "b/tool_shared/document\360\237\226\211/install.txt" @@ -0,0 +1,19 @@ +---------------------------------------- +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 + cd project diff --git a/tool_shared/env b/tool_shared/env new file mode 100644 index 0000000..01f47a3 --- /dev/null +++ b/tool_shared/env @@ -0,0 +1,81 @@ +#!/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" + diff --git a/tool_shared/third_party/RT-project-share b/tool_shared/third_party/RT-project-share new file mode 120000 index 0000000..82f857e --- /dev/null +++ b/tool_shared/third_party/RT-project-share @@ -0,0 +1 @@ +/home/Thomas-masu/developer/RT-project-share/ \ No newline at end of file diff --git a/tool_shared/third_party/emacs_30.0.92 b/tool_shared/third_party/emacs_30.0.92 new file mode 120000 index 0000000..3840045 --- /dev/null +++ b/tool_shared/third_party/emacs_30.0.92 @@ -0,0 +1 @@ +/home/Thomas-masu/developer/emacs_30.0.92 \ No newline at end of file diff --git a/tool_shared/third_party/upstream/.githolder b/tool_shared/third_party/upstream/.githolder new file mode 100644 index 0000000..e69de29 diff --git a/tool_shared/version b/tool_shared/version new file mode 100755 index 0000000..be170e5 --- /dev/null +++ b/tool_shared/version @@ -0,0 +1,5 @@ +#!/bin/env bash +script_afp=$(realpath "${BASH_SOURCE[0]}") + +echo v0.1 + diff --git "a/tool\360\237\226\211/add_git_holder" "b/tool\360\237\226\211/add_git_holder" new file mode 100755 index 0000000..0116b84 --- /dev/null +++ "b/tool\360\237\226\211/add_git_holder" @@ -0,0 +1,9 @@ +#!/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 diff --git "a/tool\360\237\226\211/env" "b/tool\360\237\226\211/env" new file mode 100644 index 0000000..4f0c70f --- /dev/null +++ "b/tool\360\237\226\211/env" @@ -0,0 +1,29 @@ +#!/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" -- 2.20.1