From 44f50187c010c763b9e3d98368f38d762db5415e Mon Sep 17 00:00:00 2001 From: Thomas Walker Lynch Date: Sat, 5 Oct 2024 12:12:18 +0000 Subject: [PATCH] test0 passes --- .../dependency_graph_definition.groovy | 2 +- developer/executor/env_build | 22 ++- developer/executor/make.sh | 5 + developer/executor/release | 50 ++--- developer/executor/version | 4 +- developer/groovy/build | 62 +++--- .../AriadneGraph$_all_DAG_DF_closure7.class | Bin 0 -> 2210 bytes .../AriadneGraph$_all_DAG_DF_closure8.class | Bin 0 -> 2214 bytes .../AriadneGraph$_all_DAG_DF_closure9.class | Bin 0 -> 2715 bytes ...neGraph$_good_dependency_q_closure10.class | Bin 0 -> 2393 bytes ...the_wellformed_f_closure3$_closure13.class | Bin 0 -> 2094 bytes ...raph$_mark_the_wellformed_f_closure3.class | Bin 0 -> 4403 bytes ...aph$_markup_graph_f_descend_closure4.class | Bin 0 -> 2019 bytes ...aph$_markup_graph_f_descend_closure5.class | Bin 0 -> 2115 bytes ...aph$_markup_graph_f_descend_closure6.class | Bin 0 -> 3313 bytes ...iadneGraph$_newer_than_all_closure11.class | Bin 0 -> 2708 bytes ...Graph$_run_build_scripts_f_closure12.class | Bin 0 -> 3784 bytes .../AriadneGraph$_wellformed_q_closure1.class | Bin 1736 -> 1736 bytes .../AriadneGraph$_wellformed_q_closure2.class | Bin 2149 -> 2149 bytes developer/groovyc/AriadneGraph.class | Bin 10174 -> 17135 bytes developer/groovyc/AriadneGraph.groovy | 15 +- document/work_flow.txt | 29 +++ executor/env_base | 2 + executor/env_dev | 13 +- executor/env_pm | 7 +- executor/env_tester | 6 +- executor/version | 4 + {user => release_candidate}/.githolder | 0 .../AriadneGraph$_all_DAG_DF_closure7.class | Bin 0 -> 2210 bytes .../AriadneGraph$_all_DAG_DF_closure8.class | Bin 0 -> 2214 bytes .../AriadneGraph$_all_DAG_DF_closure9.class | Bin 0 -> 2715 bytes ...neGraph$_good_dependency_q_closure10.class | Bin 0 -> 2393 bytes ...the_wellformed_f_closure3$_closure13.class | Bin 0 -> 2094 bytes ...raph$_mark_the_wellformed_f_closure3.class | Bin 0 -> 4403 bytes ...aph$_markup_graph_f_descend_closure4.class | Bin 0 -> 2019 bytes ...aph$_markup_graph_f_descend_closure5.class | Bin 0 -> 2115 bytes ...aph$_markup_graph_f_descend_closure6.class | Bin 0 -> 3313 bytes ...iadneGraph$_newer_than_all_closure11.class | Bin 0 -> 2708 bytes ...Graph$_run_build_scripts_f_closure12.class | Bin 0 -> 3784 bytes ...eGraph$_run_build_scripts_f_closure3.class | Bin .../AriadneGraph$_wellformed_q_closure1.class | Bin 1736 -> 1736 bytes .../AriadneGraph$_wellformed_q_closure2.class | Bin 2149 -> 2149 bytes release_candidate/AriadneGraph.class | Bin 0 -> 17135 bytes release_candidate/build | 43 +++++ tester/executor/#make.sh# | 10 + tester/executor/env_test | 3 - tester/executor/env_tester | 12 ++ tester/executor/make.sh | 9 + tester/test0/env_test0 | 20 +- tester/test0/make.sh | 3 - tester/test0/test0.sh | 8 + tester/test0/transcript-tester.txt | 29 +++ tester/test0/transcript_dev.txt | 36 ++++ user/Ariadne_0.1/AriadneGraph.class | Bin 10174 -> 0 bytes user/Ariadne_0.1/AriadneGraph.groovy | 178 ------------------ user/Ariadne_0.1/build | 48 ----- 56 files changed, 300 insertions(+), 320 deletions(-) create mode 100644 developer/groovyc/AriadneGraph$_all_DAG_DF_closure7.class create mode 100644 developer/groovyc/AriadneGraph$_all_DAG_DF_closure8.class create mode 100644 developer/groovyc/AriadneGraph$_all_DAG_DF_closure9.class create mode 100644 developer/groovyc/AriadneGraph$_good_dependency_q_closure10.class create mode 100644 developer/groovyc/AriadneGraph$_mark_the_wellformed_f_closure3$_closure13.class create mode 100644 developer/groovyc/AriadneGraph$_mark_the_wellformed_f_closure3.class create mode 100644 developer/groovyc/AriadneGraph$_markup_graph_f_descend_closure4.class create mode 100644 developer/groovyc/AriadneGraph$_markup_graph_f_descend_closure5.class create mode 100644 developer/groovyc/AriadneGraph$_markup_graph_f_descend_closure6.class create mode 100644 developer/groovyc/AriadneGraph$_newer_than_all_closure11.class create mode 100644 developer/groovyc/AriadneGraph$_run_build_scripts_f_closure12.class create mode 100644 document/work_flow.txt create mode 100755 executor/version rename {user => release_candidate}/.githolder (100%) create mode 100644 release_candidate/AriadneGraph$_all_DAG_DF_closure7.class create mode 100644 release_candidate/AriadneGraph$_all_DAG_DF_closure8.class create mode 100644 release_candidate/AriadneGraph$_all_DAG_DF_closure9.class create mode 100644 release_candidate/AriadneGraph$_good_dependency_q_closure10.class create mode 100644 release_candidate/AriadneGraph$_mark_the_wellformed_f_closure3$_closure13.class create mode 100644 release_candidate/AriadneGraph$_mark_the_wellformed_f_closure3.class create mode 100644 release_candidate/AriadneGraph$_markup_graph_f_descend_closure4.class create mode 100644 release_candidate/AriadneGraph$_markup_graph_f_descend_closure5.class create mode 100644 release_candidate/AriadneGraph$_markup_graph_f_descend_closure6.class create mode 100644 release_candidate/AriadneGraph$_newer_than_all_closure11.class create mode 100644 release_candidate/AriadneGraph$_run_build_scripts_f_closure12.class rename {user/Ariadne_0.1 => release_candidate}/AriadneGraph$_run_build_scripts_f_closure3.class (100%) rename {user/Ariadne_0.1 => release_candidate}/AriadneGraph$_wellformed_q_closure1.class (95%) rename {user/Ariadne_0.1 => release_candidate}/AriadneGraph$_wellformed_q_closure2.class (96%) create mode 100644 release_candidate/AriadneGraph.class create mode 100755 release_candidate/build create mode 100755 tester/executor/#make.sh# delete mode 100644 tester/executor/env_test create mode 100644 tester/executor/env_tester create mode 100755 tester/executor/make.sh delete mode 100755 tester/test0/make.sh create mode 100755 tester/test0/test0.sh create mode 100644 tester/test0/transcript-tester.txt create mode 100644 tester/test0/transcript_dev.txt delete mode 100644 user/Ariadne_0.1/AriadneGraph.class delete mode 100644 user/Ariadne_0.1/AriadneGraph.groovy delete mode 100755 user/Ariadne_0.1/build diff --git a/developer/deprecated/dependency_graph_definition.groovy b/developer/deprecated/dependency_graph_definition.groovy index ec9028b..387283b 100644 --- a/developer/deprecated/dependency_graph_definition.groovy +++ b/developer/deprecated/dependency_graph_definition.groovy @@ -78,7 +78,7 @@ def dir_map = [ ,'JAVA_COMP_IN_SYN' : 'javac/synthesized/' ,'JAVA_COMP_OUT' : 'jvm/' ,'JVM_IN' : 'jvm/' - ,'TEMP' : 'Erebus/' + ,'TEMP' : 'scratch_pad/' ] env.CLASSPATH += ":${dir_map.JVM_IN}" diff --git a/developer/executor/env_build b/developer/executor/env_build index 2aba1ec..6c53847 100644 --- a/developer/executor/env_build +++ b/developer/executor/env_build @@ -2,11 +2,25 @@ # The build environment. # - -# Ensure the script is sourced rather than run directly +env_error=false if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then - echo "This script must be sourced, not executed. Exiting." + echo "env_build:: This script must be sourced, not executed." + env_error=true +fi +if [ -z "$ENV_DEV" ]; then + echo "env_build:: script can only be run from the developer environment" + env_error=true +fi +if [ "$env_error" = true ]; then return 1 fi -export ENV_BUILD_VERSION="0.1" +export JAVA_HOME="$REPO_HOME/tool/jdk-11" +export GROOVY_HOME="$REPO_HOME/tool/groovy-4.0.9" +export PATH=\ +:"$JAVA_HOME"/bin\ +:"$GROOVY_HOME"/bin\ +:"$PATH" + +export ENV_DEV_BUILD=true +echo "${BASH_SOURCE[0]}" "complete" diff --git a/developer/executor/make.sh b/developer/executor/make.sh index 8c10711..985c122 100755 --- a/developer/executor/make.sh +++ b/developer/executor/make.sh @@ -1,4 +1,9 @@ #!/bin/env bash +if [ -z "$ENV_DEV" ]; then + echo "make.sh:: script can only be run from in developer environment" + return 1 +fi + cd "$REPO_HOME"/developer/groovyc groovyc AriadneGraph.groovy diff --git a/developer/executor/release b/developer/executor/release index 4927353..c8ab7f4 100755 --- a/developer/executor/release +++ b/developer/executor/release @@ -2,36 +2,43 @@ // Access the environment variable REPO_HOME def repo_home = System.getenv('REPO_HOME') -if (!repo_home) { - println "Error: REPO_HOME is not set." - System.exit(1) +def env_dev_build = System.getenv('ENV_DEV_BUILD') +def arg_error = false; +if(!repo_home){ + println "release:: REPO_HOME is not set." + arg_error = true +} +if(!env_dev_build){ + println "release:: ENV_BUILD_VERSION is not set." + arg_error = true +} +if(arg_error){ + System.exit(1) } -def version = "0.1" - -def release_dir = "${repo_home}/user/Ariadne_${version}" +def release_dir = "${repo_home}/release_candidate" def release_dir_file = new File(release_dir) -if (!release_dir_file.exists()) { - release_dir_file.mkdirs() +if (!release_dir_file.exists()){ + release_dir_file.mkdirs() } // Function to use 'install' command for copying and setting permissions -def install_file(source_fp, target_dp, perms) { - def target_file = "${target_dp}/${new File(source_fp).name}" - def cmd = ["install", "-m", perms, source_fp, target_file] - def process = cmd.execute() - process.waitFor() - if (process.exitValue() != 0) { - println "Error: Failed to install ${new File(source_fp).name} to ${target_dp}" - println process.err.text - System.exit(1) - } - println "Installed ${new File(source_fp).name} to ${target_dp} with permissions ${perms}" +def install_file(source_fp, target_dp, perms){ + def target_file = "${target_dp}/${new File(source_fp).name}" + def cmd = ["install", "-m", perms, source_fp, target_file] + def process = cmd.execute() + process.waitFor() + if( process.exitValue() != 0 ){ + println "Error: Failed to install ${new File(source_fp).name} to ${target_dp}" + println process.err.text + System.exit(1) + } + println "Installed ${new File(source_fp).name} to ${target_dp} with permissions ${perms}" } def build_fp = "${repo_home}/developer/groovy/build" def ariadne_class_files = new File("${repo_home}/developer/groovyc").listFiles().findAll { - it.name.startsWith("AriadneGraph") && it.name.endsWith(".class") + it.name.startsWith("AriadneGraph") && it.name.endsWith(".class") } // Install the build script @@ -39,7 +46,6 @@ install_file(build_fp, release_dir, "ug+r,ug+x") // Install all matching class files ariadne_class_files.each { class_file -> - install_file(class_file.absolutePath, release_dir, "ug+r") + install_file(class_file.absolutePath, release_dir, "ug+r") } -println "Release version ${version} completed at $release_dir" diff --git a/developer/executor/version b/developer/executor/version index 6e696ef..12f7625 100755 --- a/developer/executor/version +++ b/developer/executor/version @@ -1,4 +1,4 @@ #!/bin/env bash -echo 0.1 - +# get this from the project management level exector directory +"$REPO_HOME"/executor/version \ No newline at end of file diff --git a/developer/groovy/build b/developer/groovy/build index 0e18b80..1acf09b 100755 --- a/developer/groovy/build +++ b/developer/groovy/build @@ -1,47 +1,43 @@ #!/usr/bin/env groovy // Function to load the graph class dynamically -def include_graph_class( graph_class_fp ) { - def class_loader = this.class.classLoader - try { - def graph_class = class_loader.loadClass(graph_class_fp) - println "Successfully loaded class: ${graph_class}" - return graph_class.newInstance() - } catch (Exception e) { - println "Error loading class: ${e.message}" - e.printStackTrace() - System.exit(1) - } +def include_a_class( a_class_fp ){ + def class_loader = this.class.classLoader + try{ + return class_loader.loadClass(a_class_fp) + } catch(Exception e){ + return null + } } // Main build function for the Shell UI -def build( graph_class_fp ) { - // Load the graph class dynamically - def graph_class = include_graph_class( graph_class_fp ) +def build(graph_definition_fp){ + // Load the graph class dynamically + def graph_definition_class = include_a_class(graph_definition_fp) + if(graph_definition_class){ + println "build:: loaded ${graph_definition_fp}.class" + } else{ + println "build:: failed to load ${graph_definition_fp}.class" + System.exit(1) + } - // Get the node_map and node_f_list from the graph class - def node_map = graph_class.get_node_map() - def node_f_list = graph_class.get_node_f_list() + // Get the node_map and node_f_list from the graph class + def node_map = graph_definition_class.get_node_map() + def node_f_list = graph_definition_class.get_node_f_list() + // println "node_map: ${node_map}" + // println "node_f_list: ${node_f_list}" - // Log the result - println "node_map: ${node_map}" - println "node_f_list: ${node_f_list}" + graph = new AriadneGraph(node_map ,node_f_list) - // Check if node_map and node_f_list are defined - if( !(node_map instanceof Map) || !(node_f_list instanceof List) ){ - println "Error: Graph definition must define both 'node_map' and 'node_f_list'" - System.exit(1) - } - - // Call the build function in AriadneGraph - AriadneGraph.run_build_scripts_f( node_map ,node_f_list ) + // Call the build function in AriadneGraph + // AriadneGraph.run_build_scripts_f(node_map ,node_f_list) } // Entry point for the script -if( args.length == 0 ){ - println "Usage: ./build " - System.exit(1) +if(args.length == 0){ + println "Usage: ./build " + System.exit(1) } -def graph_class_fp = args[0] -build( graph_class_fp ) +def graph_definition_fp = args[0] +build( graph_definition_fp ) diff --git a/developer/groovyc/AriadneGraph$_all_DAG_DF_closure7.class b/developer/groovyc/AriadneGraph$_all_DAG_DF_closure7.class new file mode 100644 index 0000000000000000000000000000000000000000..4231e3606fd258db1e636bc1740e00dfa59d722e GIT binary patch literal 2210 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 N0kvX|%lsdja7(d8ji<@kZMtc)O|mQf z1J3vp@ZRATbp|_~(OYMn@gFgc?@29pPHSH8+fP!*sl$>x;j zJxi?cZcs_2{H`0?Yoc;XxWeb5u(mY@$W+?%`B;PD#C{<#=xHSd2N(|T37O$+vA)WC zJdSd1c~zLL))x6JP2xT(_<*t`@#`ThfLX?OVAV9DF($b$ii%u zfh{o%UbS62{Fq^^PY`=!C@ttHU_?U>uQBAp6+2)Uucu+|n-%guWO&_B_%)YcxTatz z>~+I%(2%xcGAK&Rt8&L7S;zC*-Hx%w{kE_o@>QJ3Qh8(;&h=xVx7KmGE!(a1E>~)< zwNZ1)d6Sz$!P^W6mOU>FLaHW)@6!y}ZqI9r%B%=iJnJ@hEk^{S^~m{DD&9uu+ioj; zvrBP)qa)IfiFhrY-9$m+YuKTf((w-7)o==@hX*lA*kb{Pd&U33b1KIDD(Wo83PfI! zAyX`=C`%?mi8Xl;G8{=W^1{rLj&nF)AgKzK^G@N;c%CD;t6-99tjC?Mm}@c|EiR?O zCPD=AeO%P=9zKv&L@cSeL`iRn@UHK5gdc9`xB|U^3_hZg-|-Shq2Ma%b$GaH;%rI!CFR0<`wnTlV`0%Cdbwk^!NHIe2 zDQ;+};-*YdP~`!Y@+&qGQFt3Qsr(tkfWw!CqoQ6wR)Rg$v>joHN8}_h)>X_EsM#n% znoB_&kuV{a2O3JF#8@L52UMv%YIBC;#Zo;z__m*@`&3d$#70PLhuG+nP%YqrhG~3B zfyl|QtxIj*uNq$BNXHT$N`PPK7{c%Y%HuZ-#lG3;Go}=LOT+U;sPT}SPP>nzExr2O z)3FRw1BVqG-o~Y)iTm=QMHEXq<0hwH%`SR&we^4I0mI219{UL@Xj75Iqf5scRy8vH_9f+$3Hd-^g}? z`UjBsA&9R7q^%knUy=At2yt$lr0yDNfGk~KpL^~(&w0*^|NQ&u?*OjgTZSu}u4ObG zUUrRMCtdFv?tb0x@cMV$wp+sO@@BnNH*MkdUA~?k@7C58FowmpE5zWSU>i=mPzsb3 zL>X3v+b)=*$vZ~hD~z<iyN1u3lN&Q+DvaZDaD(iGr7uFKAkMJ#f)E(g zqaYY&o1$dcHp9h?{?Hg0K`3_{54q_VvnNFwG|V$3)1GhmmRYh5&#O2s!I0CZ#>`tb znX-gK{ET#q3`)ID7IsPu>^_0GW;vGs5yQ$95GOHY_cScxB^5Ee%n0=|KAaWH8Hjye*x`OhG;bPC)8<}U7h=EPD~6zs zaD^ntF76)m_!RX@xZ*|^WO-ICpBFV;MnT0Typx#48dXi8z|hG2@7(L*1}=}u451!% zf`)axmm)UbCw95(3YR)I-R6FE*apOgF)VL}vzhEMqmv`5vp8KCsV$P)QBe$q6yS#_ zs#wA`hP7!a8xN4G=~_L1>%ix7#B4T=9;HqJHPF0lq=`$0d^mNJt_}x1Q6~4FU{l4% z*wT^*~i9u1rC z%7r1JTMoa|?>4wQlFUu`UGcwrY*ylv@Q?D zvv>us(ih0oS-eJPa`!szBDAL&PpdTZ70satz0=At(Mmj1ac^WVNpFcDc8D*evLxp| ltts*{M{kuVlm1T8`@!&Z4h#62b`dD}W~jmNE`8;Y{|DrkNVxz2 literal 0 HcmV?d00001 diff --git a/developer/groovyc/AriadneGraph$_mark_the_wellformed_f_closure3.class b/developer/groovyc/AriadneGraph$_mark_the_wellformed_f_closure3.class new file mode 100644 index 0000000000000000000000000000000000000000..07405867c34940f79e62e8719d2d4b1d78c2a167 GIT binary patch literal 4403 zcmbtX`F9i775<(jOF}4M2Asr&B!(EUWgC?y0cs~S*a63>Sc;5YleX$udbS43Gs z#BI~P+1hm9O!lOdq)l7M06uhfHz!j4-cA%Din8p9RL;uFf?g@7d@8$QI>wYt4MXh}lIglw$nhc-Ff5a}`Ls$> zHcJWn`vt^Nfyk|fX*jzDj?__osp8A%x6E?KaD7OY%Iz3Vpc&W15yrI%titLQXuvxX zX!2$o1j0_iC<|;$2c7X&5kzxWWvz-M?Lm{M5lR7V>FEM18HGmK^B6(NTm5v6z?M3o z)Nv;{ik3B5DaEik#87V#=&t9H>8Vn&GGUmh>0PNoGe0wEQnPVAC!=T=STSZ#GbrOT zh9i3uNTM^24s@-KpqplT1Oh|tSLTO+ntoaYkM)-lNa39t@!QUv3si)AVz^0zP|H!H zymzYP%*3!m0S(2{rZHCDEzr>35d%FQ&go@`IU0npcIeRrZo_U3A-so#DvM*-L-$We z=a6lcr0vWk(62;>aR+nl(rk`mAN8o`+gjzx5$XG@l( zw4t=y+?bVSzOZzU;HCqSVbO##CX|ixqirT;S^VMWxy& zq7U+rapXXf=DOuMih@9hI4u)&H1!xJ<1oOI5@M(ctZT393=@_jV*zL^>SMAPgRLQ| zBC+psG3PJ{3aTzJ|5JC!alKM>RA3C*x>;7&D(?%6=2ny++y6s`G+Y;~-j7#PcuYli7>~zs9M`h^ zNJ#cTfUna8_m5 zTmoyLsZOgZ&|Wv!>a>ti{DftsrmEL~-WEK*cG`;iqw&#|2ODyj=_9(Q?@P7#TLo23hu)rlq36G8tltL6aXS zE>e=OtM{7fqle|2wzJ8j9vQ1*=j1*^oz=v<$mRKE;xWVg&Q zuDr_eVXVbE_DB)ZHREbNf5*21d!H!BP07x#vuNq=X>4gsW?#knmd25ma8INqqTa4+ ziHw{kmB8=$yqOIGuo2he299dh%0Kgs&rSR{xHF}NYRWdcdMNE~M4NZ2c!8(p=sPjP`{6g;-1YB-Vw_V_**ZwS!d*0T*yk z=`Fgnz6%(h!%-^l@o68ZLI*}p;;GP%NONQk6UkSwK6?gJ&5;pKuRDW#e98Bd#R29p zGm8!0yo!$jp*ehN4xgJvlqZKnvq&Y+;la@`RTvF~> z<{q0!YTu~h+njfw!|~B%@(i9hizlmij!Q}HL>13-(s_zNh42SHHz9TryP_EIeup^x z2OBS9AK|)PY>WLH>+wg@?Z8!h9%rR{jBb6Ld{5vgp2Q@c=C%6_9>udv?C0r=h}?b#2vuu{MhHO#;8d>%P1uU#0LI z-c-aOG=Jt(eMG2pV$7c79DmF4FYa!f!2gxA21fATIF9kFV;kSLV5>Xc?2kLK%YDDq cAN&0Aeg60%e=PgsNB!~3KL6AH`$=s5AN?NE^#A|> literal 0 HcmV?d00001 diff --git a/developer/groovyc/AriadneGraph$_markup_graph_f_descend_closure4.class b/developer/groovyc/AriadneGraph$_markup_graph_f_descend_closure4.class new file mode 100644 index 0000000000000000000000000000000000000000..761a9b686334b2108958dae001b76fc284b3589c GIT binary patch literal 2019 zcma)6U31$+6g}%Wk)tZHNlGA4N&wTuc3KlCw8bgKF>UJNv`~jY`{GfgwWCJf^+>X3 z@&}mVhwxrtCS>x!D>M8ihT*QHxN;+=jAmB5ckexWKhC{>{d4*UfE#$iaJB9^rY-ok zXATaEoxbTE4hNl{I(51ooBI|QcE@t1KlJ!@4UA#2=Sev_s=B7=RU6TbhAD=1>Gi6X zwE2NK^sBL!Hxz->=hba4xMv339$QQkRPyy}kp;ubtK48Pl7<>)8J5yrXINcpJu^pU z>TBn!eu@UCB^xr3S{kE@3%RP!eL@8iUs95W-G_ zfjwoI*>r>xe39>;YS%EPi@&SU6(D5FM`5Amjd5IL#D>#7^bIZUg))puuC5DU>FkDvh{4P)Rl1WSCQAA3MTO zNtQGY{J*?5@HuKaZei2FJo2*?JGISPsv{|#r{PPQ3TF{UeS16kd=zBq|F^P%Ei`o0 z@l^yoj?2J3Y^aNE23^%A;w3|ABC8Wje2KygmtT}9O;N+wL_Ieoyn!7&(9yy}8VLOY2G~p1~5{pc4q{O)S%$+Py`)4DG2c zXjL$qbk5K}SD89R8F)_n3?7Ht%H}l0T#9tYm^oBJOog;gcM7RU|L~PEJ4RLEME)3& zG`4NW$X6+_EIy)uBR{stTKTbBKE{oO%+JV`PjLJBuej5y{E57hp5X42)^E5|ImZ16 zewPf0;`4uFQA54J(8PlnuRwq0P4)zjlrrt`9j!V^!+0sBd!bav9KNSr1{!{dHLlR< HGT!|cd^RDs literal 0 HcmV?d00001 diff --git a/developer/groovyc/AriadneGraph$_markup_graph_f_descend_closure5.class b/developer/groovyc/AriadneGraph$_markup_graph_f_descend_closure5.class new file mode 100644 index 0000000000000000000000000000000000000000..0ee5256c3151a9bf9860f0a606733c8844856a1c GIT binary patch literal 2115 zcma)7ZBrXn6n<_K>IWLQ$S@h7I>T(P@`NArFx{Pl zC&CGq_Va@>3zuLqq&?+u&z4k%?ePQQFC# zg-UD}MBSsnu9DQT$d>SiZIg%XG6UOZ7{2RDH&|v^j!Ahi;s3}gUyZMM&_TXxVFHsT zlDKMN45^DqV2U9b9J+0WQl-DiFXRT5GiIw!Ap9*!U7-dsj1LB7xMXYp;UuW&nksXT zx;zt8bj+9-uEb8m!0QY{4G}O*Yn4ftzh+OAT*U%YP>}y z8ORao9Mx=bU#xx8;goP3u?FkS?^`IKXd;g}hRbJETvf^wTpGAVJUHfFN9@#z#<_Fc zjEt5nyom)9CA`IuaH+-&RazNf>h%nD_Kti^<292;e23s!!tZstyDb9V zawtnMXk8c zVCp7Ul%g*xL;hTQTzRaHM2TRBsOT2cCGS4~A65mEwMmjy)2&~x z;0EdR>s5Lsx-T7Xh@`~z$a|SIT9+yoe!{gA%${QY6mLHxQ38+Y)X4z9cY{oZroA93 zyweTBa2q#Cr_-GwdyN>0{Ao{NidHC((EB9UzTfTYr+fG;`O)~{0z1Kb|3(iFqSHyd zk43`h=&OX*<;)gN@ZoskJ4)jeA3gg4>y_dkNNMRQDvv8aV!e2RozVRk1fZ=M`wJNZ rn`uTZe-Qag)2*{fo}#LaLGAmJPLrfM&Ik?eE4q^;8O7K1O2GIBbCoF| literal 0 HcmV?d00001 diff --git a/developer/groovyc/AriadneGraph$_markup_graph_f_descend_closure6.class b/developer/groovyc/AriadneGraph$_markup_graph_f_descend_closure6.class new file mode 100644 index 0000000000000000000000000000000000000000..408e316e59ccc490bd5eb593964f5ac870161eed GIT binary patch literal 3313 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 literal 0 HcmV?d00001 diff --git a/developer/groovyc/AriadneGraph$_run_build_scripts_f_closure12.class b/developer/groovyc/AriadneGraph$_run_build_scripts_f_closure12.class new file mode 100644 index 0000000000000000000000000000000000000000..6129294a8c3392e220cff3e9ee7943c8a65d5adc GIT binary patch literal 3784 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 p)>;j?c&?Cj2`=z3a4B-=sT@+b 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 literal 10174 zcma)C349#YdH;W_)y`5g*oXlUG+dh;PqwF%nc?=G{ny$91p_sL z1;e>)cKo2z-=&{RqqTxYFUo3%RA6SZgLYyxIVPCZtx=1GRJwgfa%{a|h8`SBq*M6< z7xj#Hvxfw;lj(Fq6BQ1Q*@?VOGA~TrR#Xed>|CA`>`cKS9!=)e zqJlNP+!Zs0)TrGaAIPP~3Y!iVY{mb^!Q@!M&KX!l)&_ERvS4!+!Sd#-oRvIUUEkta zT=5dY5-bg4G0up)}vV7Ps#I@|p zvJpg^TTUak2wD&eb8c${b1+w-v zLx~I}2W$i9P%8b|Y$0Euu?y~UwV{QQ%8Y0C+wEj+Bs+L%GBcRA^UJ%l+5N?mmNZ$s zkV|ETUA;}8xQCYN9dyaJyR!C9*i7q;rwTUZz82?&aW2lE6{1ffIFMAbwx-%j%f1NK zp~K?VX;Y2fVaIm#_{D0RrWP!Wr1FB9-Cob+y!t9XG_Z*@l`aKjV2fa`uPqzcMprFn z#*zd36GN%Aofu0NMg(VhCF$;Ys(CTg=yg)r_HCSL;4%~Q$ft4*!3ACf?NB~q^h(hQ zJ`~;#^jNfoozyK2Y*#YJNMPa$dYz+E!AdW-JI@y?jy)F5>`Hn$p?Z>|wuxQ~HL6Ee zo1nwbVAv?otn33jhfG{8xX=gO<7?Hz(E2ZP9>)hPx_E-2PD@6QDsvrHE}SG6Z< z-Z>nE)jP>fWa{OVbfj)vZG_%eV2Co+@6tSMsW5!b5{}uEoT@b%4Ji6+R;>| zm^ZQCe|i-op1q7(s0Ejt;RKA`%pc_HUBu(g-?z_eEp8AQ!*zAD z4J)pdveK4UZrNH;%vsiA&QuhIc+C1S7!RN2d2oN z#0l;6lXxZa!TU8;QHIac6 zRB|$}#BAb4!FgU#?OPsHC)E1xKaTHMn2DFFDnf?~1HVI=lJAO4FZ0^0tFLM6csiz& zls6c`ck!xn{nx11v^`XakEDiZ-@j{NmWr0)0qP^?iY%0~N3-MH>F--;P^0xq?)G3} zIGY_*Mi9Q{uu1&mQVYafI zIoiHQi}^xgBsp#;+~L3Hh<;4yp?;Rhx6f&7GG5AO6Y`CUMtOjW#ZqsJ8zM(JmD2pVj!K(7jyO+1OM)y zP^KG&Q~&-pj5qNg6oox*=jbp0C0OrgWZvk%*;%Zl4X?CSaQq(&jrd=|vhs#l<=c$< z1Ju5ftw(?-1!pKzN{qR2W6I`f{U+XiPkTSdpc(RH#m&qvW^(p0<;GP9wF#TT(^XJK zE>mi`TWxu!7#6Eu%D&NOdxnIml+jc^&#;=v+1C|Q3eB-ubq+8kB3P`$;Bac(&LqnF zEp5h>nJm6N6wc(za0BbYsb{B9TGzu<)ad$cDTRAwJ|*~6PCS~ZxCGqFYUh@2^B&5&iXT*ZIgJ%`7cN-bB)mapz8(`UQO3dN`kHIRW z4x=nZq%DG{RP{Mu+PMtV;=l+4kF24r-zmR#IWpYNGmjzXQe}>YIy#zqXa-HDoW}ss zG>|Q(2b(h4LQ}upG?Xo723MPMfuP0jIOjbnmNcZ!qp~h6Yo&wSjqwOnNM}sBNaePG zE+f1FV13nz&Smj5E-9B-SRkE5rIYt(^UR?$oIU8U#JHqf?vN_7<+8ABm&>Odi*}b{hao#oQ?O{k z?F>tg?BW(vc_;PDZi@$d8fVNaw&e+*O_jpuxrSUR*x+N#)9tNF{ADKB>!>QdVc9G1 zX9)CJjAp~$41-G3>eVz6mYi#wyS+TV*F#xcu2y=zCV~g#Y_)xrw$*jamW^GBE!#}t z>1L}hbj7i!Z>&l^CFf$O7_hKV23e=@TFSiz(n*o$-|9=5iZGb^baqtcq)N~!r^J%s zPv?PgwIpBOA~;2CdzYP2G0GlXACX3x!&?j4ACYa+rJhC^!&rX0w?vIq5yC0IB9fIc z-u4I!i+Xh)_FRy(`l$T0S0<8|0t+W8Mpz5YW{#KZ83BC*h|leoA*_ufC03ogv5URS zmx{&r3P@?(C^v=W2D#Y*F7GQMxAJm_13X(Tnl4X$XOl^$*V8E-74-9DkZ;$=h7=EJ z9EdOhm+=G(n@cb{x0FX{_B1_p_vBpWsHo?S(eHHcBUoAq=6-~Rd{im?BVoB)?xC75 z8sI@k-}Hs@2S@v}jP&>GdkJkGDuq25VM(p3FZo!6)vSJc#5td+h|P*%j736;!}2-6 zskSQ=(=Ug(%bDDyCMjL2T2(kYTat=$tD^F`Ng~)Bf^D3B0b9+QQ|Qhiq7P{mkBU-h zVi93?o%Y6d5s^+mI@e`sYFRSZU4Lr-JpV$JHsw3O+rcI87=oF7HtSPfJ+Cnb_OqJV zlk8WA`dQtnjNMaIrw6yk>drFJ?@jVqjI7VUj8l>A8QO?; zFq^O8c(#}uu+^!ZVU3x{xwE8I^L8?iWvt$VVEMqaen4H;sywXjTG@tGd9Pa-k zKtouC1h#jxrf+0>ySi27_+sMB!+hTSf04ycjm80PiygW$jXsvo*9j)zc?du3l;v(P>%xLH^!Y)RK5j8YQ)aYH+*I`cL z5{Jet)2!^Mi`F@~b-iCFXEpLHf7=l}g-c-=2pHIGU~B2Oix0py{=S99PA6Zs%9l84 z9`B++am=A`E}%fJq6luqO!+c(vb}6>I0@+KX5XZi2 zT^^gnE}*-$w{;SGfgP*VLm$x7*4t)XHHiFy7Y?vOdgTBU&4$B9Cw%j!+jP_%^OE5On@J*_^~W{%+(yEy0C)*K;Y4`IO=U zejA9Q7Yp$S(~FYg21hEm3m@TI9Zuk*xSLY6@H}qeQvi$bENwe1kV_L@6BNXl@fC+s1D;x@Frqt&EU=g{GT?;?#-?xGl>4q+}=I80qUJAtnpf)PB7V2xV9kxMNC(N588h4id7 zdYy=afUgo+ZT4$r^mQCj=(7m>JTQrGPGQ-BInM(#s|<4t$6Y2Lq-=tO*+`fPpl`<{ zq3A=#s>7J$x}EjHBwhwy!V5iZJU|?I39n4xdu_eW6iVv{fX8nl2%N+ms&iLKr8BkR zuj7}74jTV@j|4kimcah!C`%>5-zzh>jS^IHpXuz8EB&Fnl2C`dLQPpeEcO1Vq^Uz#V!dAOeZtkBcl5`n9j$124kGhAWsd#} zm3}=+-{jHO{<60I0zYxIRZ~yWiI*cZV;$^&28IQDDKX=ACNc){W{THR_mpBxj=}%yx)Au}nIe{NlP)njF z`mf69|LUS2!fwvu+soKmnL;4Q86y~$uVO5`8mn;)&SUnu97%@ge(dL0p#p5& zgCRW54?Ew-2roOY#Ty*?EqGauQCZ3F9__eJF6Q@@E0C9K_;KY96y<&#kk@fg-oTCW zYupqF;pV_negRP-Uq{=(3fCd5KqIfURkRg#=5btuWxZ34yc+uk&TO5O`A&MQQo|vB zuF|=WG|iL3%}mM}tUWqvJ3`UWYv_uGz9lP!;qPMg)FM#Xj$o?*RY!2H(Hjj;%KMbM z&(Z2`hz2{%sM!-Wdk-UY_|$jWrYt#QaV1K$#7@ZCzMxK?t?}9y@k(D!qnyty+9(&s zkIVW=*~kdjR>_xZ5k85945Xd%Hk#O~KUsDXDs!G1GoVXGD|*+SMZn?vXfU|WgsRC{O?tr+^93WDw|li z1(^IMWi!!gSOz9!3!j2i|K+lkPqkD7kDZP(aFp+=4(eJwA>AjWXJ6vDT+u^8?kRg= ztsFTad;4Osw&T+0D5X)Znv@T4|FPC+uaTJh|IH!#%9?h!#W!U-A%P%sf_5YC~HbF-?JLUIiz8r zML5>VY*%wk(uxPESR;j75>(g`l&CPzq$}5I%5AdH4{K}im}K4o%i+|E)euzwKY}aR zP2@`Pb$0BSlL2!cVwoR)kxzx?h?(KiKB!uyyh&`Ls)0))zDSbksWejC^()15}A0=;wSuo`p2TH)+gIV>UmiK%QaCvzQ!a`!$XSV90Z9f5PL(g?xJ-*66m| zZFjrv``z{$w@tfk(QR*V+XvnDF}MAK+aAH!HSRau_K4g6ZMXft+x~$&{. Version has a major and minor number. + +2.2. on the new branch the 'release_candidate' directory is renamed 'release_'. + +3. Release specific fixes + + 3.1.the 'release_candidate' directory is recreated + 3.2 steps 1.1 - 1.33 are repeated + 3.3 when testing is complete, 'release_candidate' is renamed 'release_version' + with the minor version incremented. + +4. Major release + + Development continues on the `core_developer_branch` even after creation of a + `release_version` branch. For a next major release, increment the major release + number and do as described in steps 2 then 3. + diff --git a/executor/env_base b/executor/env_base index 1e3b12e..d150193 100644 --- a/executor/env_base +++ b/executor/env_base @@ -19,3 +19,5 @@ PPS2=">> " echo REPO_HOME "$REPO_HOME" echo PROJECT "$PROJECT" echo "${BASH_SOURCE[0]}" "complete" + +export ENV_BASE=true diff --git a/executor/env_dev b/executor/env_dev index 0bba479..cd66ee7 100644 --- a/executor/env_dev +++ b/executor/env_dev @@ -6,19 +6,13 @@ if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then return 1 fi -# Check if REPO_HOME is set, if not source env_base -if [ -z "$REPO_HOME" ]; then +if [ -z "$ENV_BASE" ]; then script_path="$(dirname "$(realpath "${BASH_SOURCE[0]}")")" source "${script_path}/env_base" fi -export JAVA_HOME="$REPO_HOME/tool/jdk-11" -export GROOVY_HOME="$REPO_HOME/tool/groovy-4.0.9" - export PATH=\ "$REPO_HOME"/developer/executor\ -:"$JAVA_HOME"/bin\ -:"$GROOVY_HOME"/bin\ :"$PATH" # so the .gitignore files can be seen: @@ -27,6 +21,9 @@ alias ls="ls -a" # Corrected line: cd "$REPO_HOME/developer" +export ENV_DEV=true source "$REPO_HOME"/developer/executor/env_build - echo "${BASH_SOURCE[0]}" "complete" + + + diff --git a/executor/env_pm b/executor/env_pm index 6efd4fc..5f614d1 100644 --- a/executor/env_pm +++ b/executor/env_pm @@ -6,12 +6,13 @@ if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then return 1 fi -# Check if REPO_HOME is set, if not source env_base -if [ -z "$REPO_HOME" ]; then +if [ -z "$ENV_BASE" ]; then script_path="$(dirname "$(realpath "${BASH_SOURCE[0]}")")" source "${script_path}/env_base" fi +ENV_PM=true + PROJECT="$PROJECT"_PM export PATH=\ @@ -21,4 +22,6 @@ export PATH=\ # no sneaky hidden files alias ls="ls -a" + +export ENV_PM=true echo "${BASH_SOURCE[0]}" "complete" diff --git a/executor/env_tester b/executor/env_tester index 809f8e3..51b8e51 100644 --- a/executor/env_tester +++ b/executor/env_tester @@ -7,7 +7,7 @@ if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then fi # Check if REPO_HOME is set, if not source env_base -if [ -z "$REPO_HOME" ]; then +if [ -z "$ENV_BASE" ]; then script_path="$(dirname "$(realpath "${BASH_SOURCE[0]}")")" source "${script_path}/env_base" fi @@ -19,6 +19,8 @@ export PATH=\ :"$PATH" cd "$REPO_HOME"/tester -source executor/env_test + +export ENV_TESTER=true +source executor/env_tester echo "${BASH_SOURCE[0]}" "complete" diff --git a/executor/version b/executor/version new file mode 100755 index 0000000..6e696ef --- /dev/null +++ b/executor/version @@ -0,0 +1,4 @@ +#!/bin/env bash + +echo 0.1 + diff --git a/user/.githolder b/release_candidate/.githolder similarity index 100% rename from user/.githolder rename to release_candidate/.githolder diff --git a/release_candidate/AriadneGraph$_all_DAG_DF_closure7.class b/release_candidate/AriadneGraph$_all_DAG_DF_closure7.class new file mode 100644 index 0000000000000000000000000000000000000000..4231e3606fd258db1e636bc1740e00dfa59d722e GIT binary patch literal 2210 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 N0kvX|%lsdja7(d8ji<@kZMtc)O|mQf z1J3vp@ZRATbp|_~(OYMn@gFgc?@29pPHSH8+fP!*sl$>x;j zJxi?cZcs_2{H`0?Yoc;XxWeb5u(mY@$W+?%`B;PD#C{<#=xHSd2N(|T37O$+vA)WC zJdSd1c~zLL))x6JP2xT(_<*t`@#`ThfLX?OVAV9DF($b$ii%u zfh{o%UbS62{Fq^^PY`=!C@ttHU_?U>uQBAp6+2)Uucu+|n-%guWO&_B_%)YcxTatz z>~+I%(2%xcGAK&Rt8&L7S;zC*-Hx%w{kE_o@>QJ3Qh8(;&h=xVx7KmGE!(a1E>~)< zwNZ1)d6Sz$!P^W6mOU>FLaHW)@6!y}ZqI9r%B%=iJnJ@hEk^{S^~m{DD&9uu+ioj; zvrBP)qa)IfiFhrY-9$m+YuKTf((w-7)o==@hX*lA*kb{Pd&U33b1KIDD(Wo83PfI! zAyX`=C`%?mi8Xl;G8{=W^1{rLj&nF)AgKzK^G@N;c%CD;t6-99tjC?Mm}@c|EiR?O zCPD=AeO%P=9zKv&L@cSeL`iRn@UHK5gdc9`xB|U^3_hZg-|-Shq2Ma%b$GaH;%rI!CFR0<`wnTlV`0%Cdbwk^!NHIe2 zDQ;+};-*YdP~`!Y@+&qGQFt3Qsr(tkfWw!CqoQ6wR)Rg$v>joHN8}_h)>X_EsM#n% znoB_&kuV{a2O3JF#8@L52UMv%YIBC;#Zo;z__m*@`&3d$#70PLhuG+nP%YqrhG~3B zfyl|QtxIj*uNq$BNXHT$N`PPK7{c%Y%HuZ-#lG3;Go}=LOT+U;sPT}SPP>nzExr2O z)3FRw1BVqG-o~Y)iTm=QMHEXq<0hwH%`SR&we^4I0mI219{UL@Xj75Iqf5scRy8vH_9f+$3Hd-^g}? z`UjBsA&9R7q^%knUy=At2yt$lr0yDNfGk~KpL^~(&w0*^|NQ&u?*OjgTZSu}u4ObG zUUrRMCtdFv?tb0x@cMV$wp+sO@@BnNH*MkdUA~?k@7C58FowmpE5zWSU>i=mPzsb3 zL>X3v+b)=*$vZ~hD~z<iyN1u3lN&Q+DvaZDaD(iGr7uFKAkMJ#f)E(g zqaYY&o1$dcHp9h?{?Hg0K`3_{54q_VvnNFwG|V$3)1GhmmRYh5&#O2s!I0CZ#>`tb znX-gK{ET#q3`)ID7IsPu>^_0GW;vGs5yQ$95GOHY_cScxB^5Ee%n0=|KAaWH8Hjye*x`OhG;bPC)8<}U7h=EPD~6zs zaD^ntF76)m_!RX@xZ*|^WO-ICpBFV;MnT0Typx#48dXi8z|hG2@7(L*1}=}u451!% zf`)axmm)UbCw95(3YR)I-R6FE*apOgF)VL}vzhEMqmv`5vp8KCsV$P)QBe$q6yS#_ zs#wA`hP7!a8xN4G=~_L1>%ix7#B4T=9;HqJHPF0lq=`$0d^mNJt_}x1Q6~4FU{l4% z*wT^*~i9u1rC z%7r1JTMoa|?>4wQlFUu`UGcwrY*ylv@Q?D zvv>us(ih0oS-eJPa`!szBDAL&PpdTZ70satz0=At(Mmj1ac^WVNpFcDc8D*evLxp| ltts*{M{kuVlm1T8`@!&Z4h#62b`dD}W~jmNE`8;Y{|DrkNVxz2 literal 0 HcmV?d00001 diff --git a/release_candidate/AriadneGraph$_mark_the_wellformed_f_closure3.class b/release_candidate/AriadneGraph$_mark_the_wellformed_f_closure3.class new file mode 100644 index 0000000000000000000000000000000000000000..07405867c34940f79e62e8719d2d4b1d78c2a167 GIT binary patch literal 4403 zcmbtX`F9i775<(jOF}4M2Asr&B!(EUWgC?y0cs~S*a63>Sc;5YleX$udbS43Gs z#BI~P+1hm9O!lOdq)l7M06uhfHz!j4-cA%Din8p9RL;uFf?g@7d@8$QI>wYt4MXh}lIglw$nhc-Ff5a}`Ls$> zHcJWn`vt^Nfyk|fX*jzDj?__osp8A%x6E?KaD7OY%Iz3Vpc&W15yrI%titLQXuvxX zX!2$o1j0_iC<|;$2c7X&5kzxWWvz-M?Lm{M5lR7V>FEM18HGmK^B6(NTm5v6z?M3o z)Nv;{ik3B5DaEik#87V#=&t9H>8Vn&GGUmh>0PNoGe0wEQnPVAC!=T=STSZ#GbrOT zh9i3uNTM^24s@-KpqplT1Oh|tSLTO+ntoaYkM)-lNa39t@!QUv3si)AVz^0zP|H!H zymzYP%*3!m0S(2{rZHCDEzr>35d%FQ&go@`IU0npcIeRrZo_U3A-so#DvM*-L-$We z=a6lcr0vWk(62;>aR+nl(rk`mAN8o`+gjzx5$XG@l( zw4t=y+?bVSzOZzU;HCqSVbO##CX|ixqirT;S^VMWxy& zq7U+rapXXf=DOuMih@9hI4u)&H1!xJ<1oOI5@M(ctZT393=@_jV*zL^>SMAPgRLQ| zBC+psG3PJ{3aTzJ|5JC!alKM>RA3C*x>;7&D(?%6=2ny++y6s`G+Y;~-j7#PcuYli7>~zs9M`h^ zNJ#cTfUna8_m5 zTmoyLsZOgZ&|Wv!>a>ti{DftsrmEL~-WEK*cG`;iqw&#|2ODyj=_9(Q?@P7#TLo23hu)rlq36G8tltL6aXS zE>e=OtM{7fqle|2wzJ8j9vQ1*=j1*^oz=v<$mRKE;xWVg&Q zuDr_eVXVbE_DB)ZHREbNf5*21d!H!BP07x#vuNq=X>4gsW?#knmd25ma8INqqTa4+ ziHw{kmB8=$yqOIGuo2he299dh%0Kgs&rSR{xHF}NYRWdcdMNE~M4NZ2c!8(p=sPjP`{6g;-1YB-Vw_V_**ZwS!d*0T*yk z=`Fgnz6%(h!%-^l@o68ZLI*}p;;GP%NONQk6UkSwK6?gJ&5;pKuRDW#e98Bd#R29p zGm8!0yo!$jp*ehN4xgJvlqZKnvq&Y+;la@`RTvF~> z<{q0!YTu~h+njfw!|~B%@(i9hizlmij!Q}HL>13-(s_zNh42SHHz9TryP_EIeup^x z2OBS9AK|)PY>WLH>+wg@?Z8!h9%rR{jBb6Ld{5vgp2Q@c=C%6_9>udv?C0r=h}?b#2vuu{MhHO#;8d>%P1uU#0LI z-c-aOG=Jt(eMG2pV$7c79DmF4FYa!f!2gxA21fATIF9kFV;kSLV5>Xc?2kLK%YDDq cAN&0Aeg60%e=PgsNB!~3KL6AH`$=s5AN?NE^#A|> literal 0 HcmV?d00001 diff --git a/release_candidate/AriadneGraph$_markup_graph_f_descend_closure4.class b/release_candidate/AriadneGraph$_markup_graph_f_descend_closure4.class new file mode 100644 index 0000000000000000000000000000000000000000..761a9b686334b2108958dae001b76fc284b3589c GIT binary patch literal 2019 zcma)6U31$+6g}%Wk)tZHNlGA4N&wTuc3KlCw8bgKF>UJNv`~jY`{GfgwWCJf^+>X3 z@&}mVhwxrtCS>x!D>M8ihT*QHxN;+=jAmB5ckexWKhC{>{d4*UfE#$iaJB9^rY-ok zXATaEoxbTE4hNl{I(51ooBI|QcE@t1KlJ!@4UA#2=Sev_s=B7=RU6TbhAD=1>Gi6X zwE2NK^sBL!Hxz->=hba4xMv339$QQkRPyy}kp;ubtK48Pl7<>)8J5yrXINcpJu^pU z>TBn!eu@UCB^xr3S{kE@3%RP!eL@8iUs95W-G_ zfjwoI*>r>xe39>;YS%EPi@&SU6(D5FM`5Amjd5IL#D>#7^bIZUg))puuC5DU>FkDvh{4P)Rl1WSCQAA3MTO zNtQGY{J*?5@HuKaZei2FJo2*?JGISPsv{|#r{PPQ3TF{UeS16kd=zBq|F^P%Ei`o0 z@l^yoj?2J3Y^aNE23^%A;w3|ABC8Wje2KygmtT}9O;N+wL_Ieoyn!7&(9yy}8VLOY2G~p1~5{pc4q{O)S%$+Py`)4DG2c zXjL$qbk5K}SD89R8F)_n3?7Ht%H}l0T#9tYm^oBJOog;gcM7RU|L~PEJ4RLEME)3& zG`4NW$X6+_EIy)uBR{stTKTbBKE{oO%+JV`PjLJBuej5y{E57hp5X42)^E5|ImZ16 zewPf0;`4uFQA54J(8PlnuRwq0P4)zjlrrt`9j!V^!+0sBd!bav9KNSr1{!{dHLlR< HGT!|cd^RDs literal 0 HcmV?d00001 diff --git a/release_candidate/AriadneGraph$_markup_graph_f_descend_closure5.class b/release_candidate/AriadneGraph$_markup_graph_f_descend_closure5.class new file mode 100644 index 0000000000000000000000000000000000000000..0ee5256c3151a9bf9860f0a606733c8844856a1c GIT binary patch literal 2115 zcma)7ZBrXn6n<_K>IWLQ$S@h7I>T(P@`NArFx{Pl zC&CGq_Va@>3zuLqq&?+u&z4k%?ePQQFC# zg-UD}MBSsnu9DQT$d>SiZIg%XG6UOZ7{2RDH&|v^j!Ahi;s3}gUyZMM&_TXxVFHsT zlDKMN45^DqV2U9b9J+0WQl-DiFXRT5GiIw!Ap9*!U7-dsj1LB7xMXYp;UuW&nksXT zx;zt8bj+9-uEb8m!0QY{4G}O*Yn4ftzh+OAT*U%YP>}y z8ORao9Mx=bU#xx8;goP3u?FkS?^`IKXd;g}hRbJETvf^wTpGAVJUHfFN9@#z#<_Fc zjEt5nyom)9CA`IuaH+-&RazNf>h%nD_Kti^<292;e23s!!tZstyDb9V zawtnMXk8c zVCp7Ul%g*xL;hTQTzRaHM2TRBsOT2cCGS4~A65mEwMmjy)2&~x z;0EdR>s5Lsx-T7Xh@`~z$a|SIT9+yoe!{gA%${QY6mLHxQ38+Y)X4z9cY{oZroA93 zyweTBa2q#Cr_-GwdyN>0{Ao{NidHC((EB9UzTfTYr+fG;`O)~{0z1Kb|3(iFqSHyd zk43`h=&OX*<;)gN@ZoskJ4)jeA3gg4>y_dkNNMRQDvv8aV!e2RozVRk1fZ=M`wJNZ rn`uTZe-Qag)2*{fo}#LaLGAmJPLrfM&Ik?eE4q^;8O7K1O2GIBbCoF| literal 0 HcmV?d00001 diff --git a/release_candidate/AriadneGraph$_markup_graph_f_descend_closure6.class b/release_candidate/AriadneGraph$_markup_graph_f_descend_closure6.class new file mode 100644 index 0000000000000000000000000000000000000000..408e316e59ccc490bd5eb593964f5ac870161eed GIT binary patch literal 3313 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 literal 0 HcmV?d00001 diff --git a/release_candidate/AriadneGraph$_run_build_scripts_f_closure12.class b/release_candidate/AriadneGraph$_run_build_scripts_f_closure12.class new file mode 100644 index 0000000000000000000000000000000000000000..6129294a8c3392e220cff3e9ee7943c8a65d5adc GIT binary patch literal 3784 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 p)>;j?c&?Cj2`=z3a4B-=sT@+b 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 literal 0 HcmV?d00001 diff --git a/release_candidate/build b/release_candidate/build new file mode 100755 index 0000000..1acf09b --- /dev/null +++ b/release_candidate/build @@ -0,0 +1,43 @@ +#!/usr/bin/env groovy + +// Function to load the graph class dynamically +def include_a_class( a_class_fp ){ + def class_loader = this.class.classLoader + try{ + return class_loader.loadClass(a_class_fp) + } catch(Exception e){ + return null + } +} + +// Main build function for the Shell UI +def build(graph_definition_fp){ + // Load the graph class dynamically + def graph_definition_class = include_a_class(graph_definition_fp) + if(graph_definition_class){ + println "build:: loaded ${graph_definition_fp}.class" + } else{ + println "build:: failed to load ${graph_definition_fp}.class" + System.exit(1) + } + + // Get the node_map and node_f_list from the graph class + def node_map = graph_definition_class.get_node_map() + def node_f_list = graph_definition_class.get_node_f_list() + // println "node_map: ${node_map}" + // println "node_f_list: ${node_f_list}" + + graph = new AriadneGraph(node_map ,node_f_list) + + // Call the build function in AriadneGraph + // AriadneGraph.run_build_scripts_f(node_map ,node_f_list) +} + +// Entry point for the script +if(args.length == 0){ + println "Usage: ./build " + System.exit(1) +} + +def graph_definition_fp = args[0] +build( graph_definition_fp ) diff --git a/tester/executor/#make.sh# b/tester/executor/#make.sh# new file mode 100755 index 0000000..d11729a --- /dev/null +++ b/tester/executor/#make.sh# @@ -0,0 +1,10 @@ +#!/bin/env bash + +# Ensure the script is sourced +if [ -z "$ENV_TESTER" ]; then + echo "env_build:: script can only be run in the tester environment" + return 1 +fi + +cd "$REPO_HOME"/tester/test0 +groovyc TestGraph.groovy diff --git a/tester/executor/env_test b/tester/executor/env_test deleted file mode 100644 index d248665..0000000 --- a/tester/executor/env_test +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash -# environment common to all tests -# each test directory also has an environment \ No newline at end of file diff --git a/tester/executor/env_tester b/tester/executor/env_tester new file mode 100644 index 0000000..eb6b6c7 --- /dev/null +++ b/tester/executor/env_tester @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# environment common to all tests +# each test directory also has an environment + +export JAVA_HOME="$REPO_HOME/tool/jdk-11" +export GROOVY_HOME="$REPO_HOME/tool/groovy-4.0.9" + +export PATH=\ +"$REPO_HOME"/release_candidate\ +:"$JAVA_HOME"/bin\ +:"$GROOVY_HOME"/bin\ +:"$PATH" diff --git a/tester/executor/make.sh b/tester/executor/make.sh new file mode 100755 index 0000000..c5d47ac --- /dev/null +++ b/tester/executor/make.sh @@ -0,0 +1,9 @@ +#!/bin/env bash + +if [ -z "$ENV_TESTER" ]; then + echo "make.sh:: script can only be run in the tester environment" + env_error=true +fi + +cd "$REPO_HOME"/tester/test0 +groovyc TestGraph.groovy diff --git a/tester/test0/env_test0 b/tester/test0/env_test0 index 39a390c..31113a7 100644 --- a/tester/test0/env_test0 +++ b/tester/test0/env_test0 @@ -1,13 +1,11 @@ - -export JAVA_HOME="$REPO_HOME/tool/jdk-11" -export GROOVY_HOME="$REPO_HOME/tool/groovy-4.0.9" - -export PATH=\ -"$REPO_HOME"/user/Ariadne_0.1\ -:"$JAVA_HOME"/bin\ -:"$GROOVY_HOME"/bin\ -:"$PATH" - -export CLASSPATH="$REPO_HOME"/user/Ariadne_0.1:"$REPO_HOME"/tester/test0:$CLASSPATH +if [ -z "$ENV_TESTER" ]; then + echo "env_test0:: script can only be run in the tester environment" + env_error=true +fi + +export CLASSPATH=\ +"$REPO_HOME"/release_candidate\ +:"$REPO_HOME"/tester/test0\ +:$CLASSPATH diff --git a/tester/test0/make.sh b/tester/test0/make.sh deleted file mode 100755 index 0ed1e95..0000000 --- a/tester/test0/make.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/env bash - -groovyc TestGraph.groovy \ No newline at end of file diff --git a/tester/test0/test0.sh b/tester/test0/test0.sh new file mode 100755 index 0000000..8e43b74 --- /dev/null +++ b/tester/test0/test0.sh @@ -0,0 +1,8 @@ +#!/bin/env bash + +# smoke test, and yes, there was a lot of smoke + +source env_test0 +build TestGraph +echo "test0 complete" + diff --git a/tester/test0/transcript-tester.txt b/tester/test0/transcript-tester.txt new file mode 100644 index 0000000..08d1f15 --- /dev/null +++ b/tester/test0/transcript-tester.txt @@ -0,0 +1,29 @@ +2024-10-05T12:09:05Z[] +Thomas-developer@Blossac§/var/user_data/Thomas-developer§ +> cd Ariadne + +2024-10-05T12:09:24Z[] +Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne§ +> source executor/env_tester +REPO_HOME /var/user_data/Thomas-developer/Ariadne +PROJECT Ariadne +/var/user_data/Thomas-developer/Ariadne/executor/env_base complete +executor/env_tester complete + +2024-10-05T12:09:33Z[Ariadne_TESTER] +Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/tester§ +> cd test0 + +2024-10-05T12:09:38Z[Ariadne_TESTER] +Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/tester/test0§ +> make.sh + +2024-10-05T12:09:42Z[Ariadne_TESTER] +Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/tester/test0§ +> ./test0.sh +build:: loaded TestGraph.class +test0 complete + +2024-10-05T12:09:51Z[Ariadne_TESTER] +Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/tester/test0§ +> diff --git a/tester/test0/transcript_dev.txt b/tester/test0/transcript_dev.txt new file mode 100644 index 0000000..838cae8 --- /dev/null +++ b/tester/test0/transcript_dev.txt @@ -0,0 +1,36 @@ +2024-10-05T12:07:43Z[] +Thomas-developer@Blossac§/var/user_data/Thomas-developer§ +> repo Ariadne +REPO_HOME /var/user_data/Thomas-developer/Ariadne +PROJECT Ariadne +/var/user_data/Thomas-developer/Ariadne/executor/env_base complete +/var/user_data/Thomas-developer/Ariadne/developer/executor/env_build complete +/var/user_data/Thomas-developer/Ariadne/executor/env_dev complete + +2024-10-05T12:07:51Z[Ariadne] +Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/developer§ +> make.sh + +2024-10-05T12:08:11Z[Ariadne] +Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/developer§ +> release +Installed build to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r,ug+x +Installed AriadneGraph.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r +Installed AriadneGraph$_wellformed_q_closure1.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r +Installed AriadneGraph$_wellformed_q_closure2.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r +Installed AriadneGraph$_run_build_scripts_f_closure3.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r +Installed AriadneGraph$_mark_the_wellformed_f_closure3.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r +Installed AriadneGraph$_mark_the_wellformed_f_closure3$_closure13.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r +Installed AriadneGraph$_markup_graph_f_descend_closure4.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r +Installed AriadneGraph$_markup_graph_f_descend_closure5.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r +Installed AriadneGraph$_markup_graph_f_descend_closure6.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r +Installed AriadneGraph$_all_DAG_DF_closure7.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r +Installed AriadneGraph$_all_DAG_DF_closure8.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r +Installed AriadneGraph$_all_DAG_DF_closure9.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r +Installed AriadneGraph$_good_dependency_q_closure10.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r +Installed AriadneGraph$_newer_than_all_closure11.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r +Installed AriadneGraph$_run_build_scripts_f_closure12.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r + +2024-10-05T12:08:18Z[Ariadne] +Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/developer§ +> diff --git a/user/Ariadne_0.1/AriadneGraph.class b/user/Ariadne_0.1/AriadneGraph.class deleted file mode 100644 index d0de08ee44c619ab41f66e94b31611924c161480..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10174 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 0 ? file_fn[ 0..file_fn.lastIndexOf('.') - 1 ] : file_fn - def file_fn_ext = file_fn.lastIndexOf('.') > 0 ? file_fn[ file_fn.lastIndexOf('.') + 1..-1 ] : '' - - return [ - parent_dp: parent_dp - ,file_fn: file_fn - ,file_fn_base: file_fn_base - ,file_fn_ext: file_fn_ext - ] - } - - static boolean file_exists_q( String node_label ){ - def node_path = Paths.get( node_label ) - return Files.exists( node_path ) - } - - /*-------------------------------------------------------------------------------- - Node type checks and marking - */ - - static Set all_node_type_set = ['symbol' ,'path' ,'leaf' ,'generator'] as Set - static Set persistent_node_mark_set = ['cycle_member' ,'wellformed' ,'build_failed'] as Set - - static boolean leaf_q( Map node ){ - return node && node.type == 'leaf' - } - - static boolean has_mark( Map node ){ - return node?.mark?.isNotEmpty() - } - - static void set_mark( Map node ,String mark ){ - node.mark = node.mark ?: [] as Set - node.mark << mark - } - - static void clear_mark( Map node ,String mark ){ - node?.mark?.remove( mark ) - } - - static boolean marked_good_q( Map node ){ - return node && node.mark && ( 'wellformed' in node.mark ) && !( 'cycle_member' in node.mark ) && !( 'build_failed' in node.mark ) - } - - /*-------------------------------------------------------------------------------- - Well-formed Node Check - */ - - static Set all_form_error_set = [ - 'no_node' - ,'node_must_have_label' - ,'label_must_be_string' - ,'node_must_have_type' - ,'bad_node_type' - ,'neighbor_value_must_be_list' - ,'neighbor_reference_must_be_string' - ,'mark_property_value_must_be_set' - ,'unregistered_mark' - ,'missing_required_build_code' - ,'leaf_given_neighbor_property' - ,'leaf_given_build_property' - ] as Set - - static Set wellformed_q( Map node ){ - def form_error_set = [] as Set - - if( !node ){ - form_error_set << 'no_node' - return form_error_set - } - - if( !node.label ) - form_error_set << 'node_must_have_label' - else if( !( node.label instanceof String ) ) - form_error_set << 'label_must_be_string' - - if( !node.type ) - form_error_set << 'node_must_have_type' - else if( !( node.type instanceof String ) || !( node.type in all_node_type_set ) ) - form_error_set << 'bad_node_type' - - if( node.neighbor ){ - if( !( node.neighbor instanceof List ) ) - form_error_set << 'neighbor_value_must_be_list' - else if( !( node.neighbor.every { it instanceof String } ) ) - form_error_set << 'neighbor_reference_must_be_string' - } - - if( node.mark ){ - if( !( node.mark instanceof Set ) ) - form_error_set << 'mark_property_value_must_be_set' - else if( !( node.mark.every { it in persistent_node_mark_set } ) ) - form_error_set << 'unregistered_mark' - } - - if( node.type == 'path' && ( !node.build || !( node.build instanceof Closure ) ) ) - form_error_set << 'missing_required_build_code' - - if( node.type == 'leaf' ){ - if( node.neighbor ) form_error_set << 'leaf_given_neighbor_property' - if( node.build ) form_error_set << 'leaf_given_build_property' - } - - return form_error_set - } - - /*-------------------------------------------------------------------------------- - Graph traversal and build functions - */ - - def lookup( String node_label ,boolean verbose = false ){ - def lookup_node = node_map[ node_label ] - if( !lookup_node ){ - def match_result - for( func in node_f_list ){ - match_result = func( node_label ) - if( match_result.status == "matched" ){ - lookup_node = match_result - break - } - } - } - - if( !lookup_node && verbose ) println "lookup:: Node ${node_label} could not be found." - return lookup_node - } - - def run_build_scripts_f( List root_node_labels ,boolean verbose = true ){ - if( root_node_labels.isEmpty() ) return - - def node_function = { node ,error_token_set -> - - if( !can_be_built_q( node ) ){ - println( "Skipping build for ${node.label} due to dependency problems" ) - return - } - if( !should_be_built_q( node ) ){ - if( verbose ) println( "${node.label} already up to date" ) - return - } - - println( "Running build script for ${node.label}" ) - node.build( node ,node.neighbor ) - - if( should_be_built_q( node ) ){ - println( "Build failed for ${node.label}" ) - set_mark( node ,'build_failed' ) - } - } - - println( "run_build_scripts_f:: running ..." ) - all_DAG_DF( root_node_labels ,node_function ,verbose ) - } - - // Add the rest of your methods here as instance/static methods based on whether they depend on the graph instance - -} diff --git a/user/Ariadne_0.1/build b/user/Ariadne_0.1/build deleted file mode 100755 index 9e6339b..0000000 --- a/user/Ariadne_0.1/build +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env groovy - -// Function to load the graph class dynamically -def include_graph_class( graph_class_fp ) { - def class_loader = this.class.classLoader - try { - def graph_class = class_loader.loadClass(graph_class_fp) - println "Successfully loaded class: ${graph_class}" - return graph_class.newInstance() - } catch (Exception e) { - println "Error loading class: ${e.message}" - e.printStackTrace() - System.exit(1) - } -} - -// Main build function for the Shell UI -def build( graph_class_fp ) { - // Load the graph class dynamically - def graph_class = include_graph_class( graph_class_fp ) - - // Get the node_map and node_f_list from the graph class - def node_map = graph_class.get_node_map() - def node_f_list = graph_class.get_node_f_list() - - // Log the result - println "node_map: ${node_map}" - println "node_f_list: ${node_f_list}" - - // Check if node_map and node_f_list are defined - if( !(node_map instanceof Map) || !(node_f_list instanceof List) ){ - println "Error: Graph definition must define both 'node_map' and 'node_f_list'" - System.exit(1) - } - - - // Call the build function in AriadneGraph - AriadneGraph.run_build_scripts_f( node_map ,node_f_list ) -} - -// Entry point for the script -if( args.length == 0 ){ - println "Usage: ./build " - System.exit(1) -} - -def graph_class_fp = args[0] -build( graph_class_fp ) -- 2.20.1