working on getting the IntelliJ running
authorThomas Walker Lynch <eknp9n@reasoningtechnology.com>
Tue, 3 Dec 2024 07:55:02 +0000 (07:55 +0000)
committerThomas Walker Lynch <eknp9n@reasoningtechnology.com>
Tue, 3 Dec 2024 07:55:02 +0000 (07:55 +0000)
14 files changed:
$PROJECT_DIR$/developer/developer.iml [new file with mode: 0644]
document/IntelliJ.txt [new file with mode: 0644]
env_run [new file with mode: 0755]
release/Ariadne.jar
tester/scratchpad/.gitignore
tester/shell/test_log.txt [new file with mode: 0644]
tester/test/.githolder [new file with mode: 0644]
tester/test1/TestGraph.groovy [deleted file]
tester/test1/env_test [deleted file]
tester/test1/test.sh [deleted file]
tester/test1/transcript_dev.txt [deleted file]
tester/test1/transcript_tester.txt [deleted file]
tester/test_log.txt
tester/tester.iml [new file with mode: 0644]

diff --git a/$PROJECT_DIR$/developer/developer.iml b/$PROJECT_DIR$/developer/developer.iml
new file mode 100644 (file)
index 0000000..9d3ebf5
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <output url="file://$USER_HOME$/Ariadne/developer/scratchpad" />
+    <output-test url="file://$USER_HOME$/Ariadne/developer/test" />
+    <exclude-output />
+    <content url="file://$USER_HOME$/Ariadne/developer">
+      <sourceFolder url="file://$USER_HOME$/Ariadne/developer/javac" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/document/IntelliJ.txt b/document/IntelliJ.txt
new file mode 100644 (file)
index 0000000..1d2f4e6
--- /dev/null
@@ -0,0 +1,163 @@
+
+--------------------------------------------------------------------------------
+Nomenclature
+
+IntelliJ paths. It always displays absolute path names. I was using
+  $PROJECT_DIR$ as a variable standing for the project directory, but ran into
+  problems with it so since then I use `~/Ariadne/...` or use the
+  browser to select paths.  The browser seems to start either at /home or at /
+  rather than at the project.
+
+project directory - the directory with the .git file in it. Called $REPO_HOME in
+  RT scripts. Called $PROJECT_DIR$ (doesn't seem to be reliable) in IntelliJ
+  file paths.
+
+module directory - for RT projects examples include `~/Ariadne/developer' 
+  `~/Ariadne/tester`.  These are independent build environments.
+
+  Careful, if Intellij scans directories it will not hesitate to pull things
+  from `tool_shared`/third_party or wherever else it finds things, and it will
+  make a big mess.
+
+--------------------------------------------------------------------------------
+To install ItelliJ
+
+  Download the tar file from 
+    `https://www.jetbrains.com/idea/download/?section=linux` 
+  into the
+    `$REPO_HOME/tool_shared/third_party/upstream`
+   directory.
+
+  Expand it into 
+    `$REPO_HOME/tool_shared/third_party` 
+  
+  cd into the expanded directory, into `bin`, then `chmod u+x` and run `idea_inst`.
+
+  set the env path to include 
+    `$REPO_HOME/tool_shared/third_party/idea-IC*/bin`
+
+  The executable is called `idea`.
+
+  Consider setting a desktop short cut. Consider instead installing it in your
+  own bin directory. Easily done, just move the directory created by the tar
+  file expansion there.
+
+  I prefer a user mode install, as there is no reason this tool should need
+  admin privileges.
+
+--------------------------------------------------------------------------------
+Startup
+
+  ./tool_shared/third_party/idea-IC-243.21565.193/bin/idea &
+
+  Shows: Welcome screen
+    select "Open" as Ariadne already exists
+
+  Shows: Open File or Project Browser
+    In top dialog box put full path to project directory.
+
+    Hit [OK] at the bottom. Unlikely, but might be scrolled off the bottom of the screen.
+
+  Shows: main window
+     Appears after hitting OK from the "Open File or Project" [ok].
+
+     Has a tool bar at the top. There is a double meat hamburger menu icon
+     at the left. Hitting this will replace the top bar with a vertical
+     menu for drop down menus.
+
+     Careful, after the hamburger icon is pressed, the first drop down
+     menu instantly appears. Slide over to get the other drop downs.
+
+     Careful, there is a Linux bug where the drop down menu will stay
+     on top no matter what widow or what virtual desktop a person is on.
+     Go to the application window and hit <escape> to make it go away.
+
+     Under tool bar:
+       Far left is an icon bar.  Then a file browser.  And then a big box
+       describing hot keys.
+
+--------------------------------------------------------------------------------
+Configuration
+
+** If you cloned the Ariadne project, you should already have the configuration
+so you can stop here.
+
+-------------
+Setup Project
+Hamburger icon -> File dop-down --> Project Structure --> Project
+
+  select project SDK from disk:
+    ~/Ariadne/tool_shared/third_party/jdk-11
+
+-------------
+Setup Modules
+
+  Hamburger icon -> File dop-down --> Project Structure --> Modules
+
+    Shows: "Project Structure" dialog
+
+     Hit the '+' option that shows at the top of the second panel.
+
+     New Module.
+
+     Dialog pop-up
+
+        Name: developer
+
+        Location: (browse to the developer directory)
+
+          alternatively enter the full path, ~/Ariadne, e.g.
+
+          $PROJECT_DIR$ instead of, ~/Ariadne, worked when
+          entering the first module, but not the second. 
+
+        Dependencies:
+          Select the "Project SDK" from the drop down.
+
+        Careful, the module won't be made until hitting [Create] at the bottom.
+
+        As far as I can tell you can't get this panel again, rather delete and add
+        a new module if you need to change the entries.
+
+    Shows: "Project Structure" dialog, again, now the third panel with information about the
+    developer module.
+        Third panel shows three choices:  [Source] [Paths] [Dependencies]
+
+        [Sources] is already selected.
+
+            With Sources there are two panels.
+
+            In second panel, on right side, the module root should show at the top.
+            Under if it lists any sources, use the button at the far right of the
+            listing to x it out.
+
+            The first panel now shows a file browser for the module.
+
+              Select the `javac` directory with a single click. Then, and only
+              after, look immediately the directory lists and click on [Sources] 
+              
+              "Source Folders" will now appear in the second panel. The
+              javac folder will be listed.
+
+            hit: [apply] at the bottom (or the form will reset to defaults next time)
+
+
+        Slide over to [Paths]      
+            Copmiler Output
+              select [Use Module Compile Output Path]
+                 Output Path: $PROJECT_DIR$/developer/scratchpad
+                 Test Path: $PROJECT_DIR$/developer/test
+
+                 leave the exclude output checkbox, that means to exclude from repo
+                 and from indexing for search
+
+            hit: [apply] at the bottom
+
+-------------
+Run/Debug
+
+
+-------------
+External Tools
+
+
diff --git a/env_run b/env_run
new file mode 100755 (executable)
index 0000000..262bf14
--- /dev/null
+++ b/env_run
@@ -0,0 +1,42 @@
+#!/usr/bin/env bash
+
+# Centralized environment executor. Typically used by IDEs to run developer/tool
+# or tester/tool commands in the correct environment. Shell users are encouraged
+# to source the appropriate environment file into their shell instead of
+# running commands through this executor.
+
+if [ "$#" -lt 2 ]; then
+    echo "Usage: $0 <environment> <command> [args...]"
+    echo "Example: $0 developer make"
+    exit 1
+fi
+
+# extract the environment and the command
+environment=$1
+shift
+command=$1
+shift
+command_args="$@"
+
+# Determine the path to the environment script based on the environment
+case "$environment" in
+    developer)
+        env_script="env_developer"
+        ;;
+    tester)
+        env_script="env_tester"
+        ;;
+    *)
+        echo "Error: Unknown environment '$environment'. Supported environments are: developer, tester."
+        exit 1
+        ;;
+esac
+
+# check if the environment script exists and is readable
+if [ ! -f "$env_script" ] || [ ! -r "$env_script" ]; then
+    echo "Error: Environment script '$env_script' not found or not readable."
+    exit 1
+fi
+
+source "$env_script"
+exec "$command" "$command_args"
index 441135f..d1c93e1 100644 (file)
Binary files a/release/Ariadne.jar and b/release/Ariadne.jar differ
index 120f485..d396818 100644 (file)
@@ -1,2 +1,18 @@
-*
-!/.gitignore
+/Test_File_0$TestSuite.class
+/Test_File_0.class
+/Test_Graph_0$TestSuite.class
+/Test_Graph_0.class
+/Test_LabelList_0$TestSuite.class
+/Test_LabelList_0.class
+/Test_Label_0$TestSuite.class
+/Test_Label_0.class
+/Test_NodeList_0$TestSuite.class
+/Test_NodeList_0.class
+/Test_Node_0$TestSuite.class
+/Test_Node_0.class
+/Test_TokenSet_0$TestSuite.class
+/Test_TokenSet_0.class
+/Test_Token_0$TestSuite.class
+/Test_Token_0.class
+/Test_Util_0$TestSuite.class
+/Test_Util_0.class
diff --git a/tester/shell/test_log.txt b/tester/shell/test_log.txt
new file mode 100644 (file)
index 0000000..798e911
--- /dev/null
@@ -0,0 +1,36 @@
+
+2024-12-02T14:07:27.503122Z -----------------------------------------------------------
+Test: path_find_cycle_0
+Message:
+Test logic error: com.sun.proxy.$Proxy0.path_find_cycle(com.ReasoningTechnology.Ariadne.Ariadne_LabelList)
+
+2024-12-02T14:07:27.518989Z -----------------------------------------------------------
+Test: path_find_cycle_0
+Stream: stdout
+Output:
+path_find_cycle_0 method called
+
+
+2024-12-03T02:55:02.549923Z -----------------------------------------------------------
+Test: path_find_cycle_0
+Message:
+Test logic error: com.sun.proxy.$Proxy0.path_find_cycle(com.ReasoningTechnology.Ariadne.Ariadne_LabelList)
+
+2024-12-03T02:55:02.563364Z -----------------------------------------------------------
+Test: path_find_cycle_0
+Stream: stdout
+Output:
+path_find_cycle_0 method called
+
+
+2024-12-03T02:57:35.562470Z -----------------------------------------------------------
+Test: path_find_cycle_0
+Message:
+Test logic error: com.sun.proxy.$Proxy0.path_find_cycle(com.ReasoningTechnology.Ariadne.Ariadne_LabelList)
+
+2024-12-03T02:57:35.574133Z -----------------------------------------------------------
+Test: path_find_cycle_0
+Stream: stdout
+Output:
+path_find_cycle_0 method called
+
diff --git a/tester/test/.githolder b/tester/test/.githolder
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tester/test1/TestGraph.groovy b/tester/test1/TestGraph.groovy
deleted file mode 100644 (file)
index 660d182..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-
-class TestGraph{
-
-  static def get_node_map(){
-    return [
-      'title': [
-        type: 'symbol'
-        ,neighbor: []
-        ,build: {
-          println "TestGraph for test1"
-        }
-      ]]
-  }
-
-  // Static method to define the function list
-  static def get_node_f_list(){
-    return []
-  }
-}
-
-// LocalWords:  TestGraph
diff --git a/tester/test1/env_test b/tester/test1/env_test
deleted file mode 100644 (file)
index cdf0612..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-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/test1\
-:$CLASSPATH
-
diff --git a/tester/test1/test.sh b/tester/test1/test.sh
deleted file mode 100755 (executable)
index 340a6d1..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/env bash
-
-# smoke test, and yes, there was a lot of smoke
-
-source env_test
-
-echo "test 0 will complain there are no build targets"
-build TestGraph
-echo ""
-
-echo "test 1 will print the graph title"
-build TestGraph title
-echo ""
-
-echo "test complete"
-
diff --git a/tester/test1/transcript_dev.txt b/tester/test1/transcript_dev.txt
deleted file mode 100644 (file)
index 7ee5492..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-2024-10-06T07:23:25Z[]
-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-06T07:23:34Z[Ariadne]
-Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/developer§
-> ls
-.  ..  deprecated  document  executor  groovy  groovyc scratch_pad
-
-2024-10-06T07:23:37Z[Ariadne]
-Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/developer§
-> ls groovy
-.  ..  build
-
-2024-10-06T07:23:40Z[Ariadne]
-Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/developer§
-> ls groovyc
-.  ..  AriadneGraph.groovy
-
-2024-10-06T07:23:44Z[Ariadne]
-Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/developer§
-> make.sh
-
-2024-10-06T07:23:53Z[Ariadne]
-Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/developer§
-> ls groovy
-.  ..  build
-
-2024-10-06T07:23:56Z[Ariadne]
-Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/developer§
-> ls groovyc/
- .
- ..
-'AriadneGraph$_all_DAG_DF_closure7.class'
-'AriadneGraph$_all_DAG_DF_closure8.class'
-'AriadneGraph$_all_DAG_DF_closure9.class'
-'AriadneGraph$_good_dependency_q_closure10.class'
-'AriadneGraph$_mark_node_form_closure3.class'
-'AriadneGraph$_markup_graph_f_descend_closure4.class'
-'AriadneGraph$_markup_graph_f_descend_closure5.class'
-'AriadneGraph$_markup_graph_f_descend_closure6.class'
-'AriadneGraph$_newer_than_all_closure11.class'
-'AriadneGraph$_run_build_scripts_f_closure12.class'
-'AriadneGraph$_run_build_scripts_f_closure13.class'
-'AriadneGraph$_run_build_scripts_f_closure14.class'
-'AriadneGraph$_wellformed_q_closure1.class'
-'AriadneGraph$_wellformed_q_closure2.class'
- AriadneGraph.class
- AriadneGraph.groovy
-
-2024-10-06T07:23:59Z[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$_mark_node_form_closure3.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
-Installed AriadneGraph$_run_build_scripts_f_closure13.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r
-Installed AriadneGraph$_run_build_scripts_f_closure14.class to /var/user_data/Thomas-developer/Ariadne/release_candidate with permissions ug+r
-
-2024-10-06T07:24:08Z[Ariadne]
-Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/developer§
-> 
diff --git a/tester/test1/transcript_tester.txt b/tester/test1/transcript_tester.txt
deleted file mode 100644 (file)
index 9ccc393..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-2024-10-06T07:25:26Z[]
-Thomas-developer@Blossac§/var/user_data/Thomas-developer§
-> cd Ariadne
-
-2024-10-06T07:25:41Z[]
-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-06T07:25:49Z[Ariadne_TESTER]
-Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/tester§
-> cd test1
-
-2024-10-06T07:25:55Z[Ariadne_TESTER]
-Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/tester/test1§
-> ls
-.  ..  env_test  TestGraph.groovy  test.sh
-
-2024-10-06T07:25:56Z[Ariadne_TESTER]
-Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/tester/test1§
-> make.sh
-
-2024-10-06T07:26:28Z[Ariadne_TESTER]
-Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/tester/test1§
-> ./test.sh
-test 0 will complain there are no build targets
-Summary: Building targets for graph 'TestGraph.class'
-No build targets specified. Please provide root node labels to build.
-
-test 1 will print the graph title
-Summary: Building targets for graph 'TestGraph.class'
-Building targets: title
-build:: loaded TestGraph.class
-node_map: [title:[type:symbol, neighbor:[], build:TestGraph$_get_node_map_closure1@3fae596]]
-node_f_list: []
-run_build_script:: Checking if graph is well formed.
-lookup::node: [type:symbol, neighbor:[], build:TestGraph$_get_node_map_closure1@3fae596, label:title]
-mark_node_form::node: [type:symbol, neighbor:[], build:TestGraph$_get_node_map_closure1@3fae596, label:title]
-Graph is not well-formed. Expect build problems. Errors:
-  - all_wellformed
-run_build_scripts_f:: running ...
-all_DAG_DF::
-lookup::node: [type:symbol, neighbor:[], build:TestGraph$_get_node_map_closure1@3fae596, label:title, mark:[wellformed]]
-run_build_scripts_f:: Running build script for title
-TestGraph for test1
-
-test complete
-
-2024-10-06T07:26:37Z[Ariadne_TESTER]
-Thomas-developer@Blossac§/var/user_data/Thomas-developer/Ariadne/tester/test1§
-> 
index e10e36e..a300473 100644 (file)
@@ -88,3 +88,51 @@ Stream: stdout
 Output:
 path_find_cycle_0 method called
 
+
+2024-12-02T14:13:43.621612Z -----------------------------------------------------------
+Test: path_find_cycle_0
+Message:
+Test logic error: com.sun.proxy.$Proxy0.path_find_cycle(com.ReasoningTechnology.Ariadne.Ariadne_LabelList)
+
+2024-12-02T14:13:43.635546Z -----------------------------------------------------------
+Test: path_find_cycle_0
+Stream: stdout
+Output:
+path_find_cycle_0 method called
+
+
+2024-12-02T14:19:11.142646Z -----------------------------------------------------------
+Test: path_find_cycle_0
+Message:
+Test logic error: com.sun.proxy.$Proxy0.path_find_cycle(com.ReasoningTechnology.Ariadne.Ariadne_LabelList)
+
+2024-12-02T14:19:11.154358Z -----------------------------------------------------------
+Test: path_find_cycle_0
+Stream: stdout
+Output:
+path_find_cycle_0 method called
+
+
+2024-12-02T14:19:52.526559Z -----------------------------------------------------------
+Test: path_find_cycle_0
+Message:
+Test logic error: com.sun.proxy.$Proxy0.path_find_cycle(com.ReasoningTechnology.Ariadne.Ariadne_LabelList)
+
+2024-12-02T14:19:52.538420Z -----------------------------------------------------------
+Test: path_find_cycle_0
+Stream: stdout
+Output:
+path_find_cycle_0 method called
+
+
+2024-12-03T02:59:57.307803Z -----------------------------------------------------------
+Test: path_find_cycle_0
+Message:
+Test logic error: com.sun.proxy.$Proxy0.path_find_cycle(com.ReasoningTechnology.Ariadne.Ariadne_LabelList)
+
+2024-12-03T02:59:57.319918Z -----------------------------------------------------------
+Test: path_find_cycle_0
+Stream: stdout
+Output:
+path_find_cycle_0 method called
+
diff --git a/tester/tester.iml b/tester/tester.iml
new file mode 100644 (file)
index 0000000..3c63dcc
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <output url="file://$MODULE_DIR$/scratchpad" />
+    <output-test url="file://$MODULE_DIR$/test" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/javac" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file