From 8293f84d287ab6ffcb672b9c297a56171a497c00 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Fri, 19 May 2023 12:39:23 -0500 Subject: [PATCH 1/3] First cut: Find scripts in base script directory --- src/main/java/org/scijava/script/ScriptFinder.java | 7 +++++-- src/test/java/org/scijava/script/ScriptFinderTest.java | 6 ++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/scijava/script/ScriptFinder.java b/src/main/java/org/scijava/script/ScriptFinder.java index ea438791e..3df65dd61 100644 --- a/src/main/java/org/scijava/script/ScriptFinder.java +++ b/src/main/java/org/scijava/script/ScriptFinder.java @@ -41,6 +41,7 @@ import org.scijava.AbstractContextual; import org.scijava.Context; +import org.scijava.MenuEntry; import org.scijava.MenuPath; import org.scijava.log.LogService; import org.scijava.plugin.Parameter; @@ -178,8 +179,10 @@ private int createInfos(final List scripts, final Set urls, // friendlyPath = "File/Import/Movie File..." // menuPath = File > Import > Movie File... - // NB: Ignore base-level scripts (not nested in any menu). - if (menuPath.size() == 1) continue; + // Place base-level scripts in the "Scripts" submenu + if (menuPath.size() == 1){ + menuPath.add(0, new MenuEntry("Scripts")); + } final URL url = scriptMap.get(path); diff --git a/src/test/java/org/scijava/script/ScriptFinderTest.java b/src/test/java/org/scijava/script/ScriptFinderTest.java index f3301fec1..8c51cc25e 100644 --- a/src/test/java/org/scijava/script/ScriptFinderTest.java +++ b/src/test/java/org/scijava/script/ScriptFinderTest.java @@ -66,7 +66,7 @@ public class ScriptFinderTest { public static void setUp() throws IOException { scriptsDir = TestUtils.createTemporaryDirectory("script-finder-"); final String[] scriptPaths = { // - "ignored.foo", // + "script_in_base_dir.foo", // "Scripts/quick.foo", // "Scripts/brown.foo", // "Scripts/fox.foo", // @@ -108,6 +108,7 @@ public void testFindScripts() { "Math > multiply", // "Math > pow", // "Scripts > quick", // + "Scripts > script in base dir", // "Math > Trig > sin", // "Math > subtract", // "Math > Trig > tan", // @@ -139,10 +140,10 @@ public void testMenuPrefixes() { "Foo > Bar > Math > Trig > cos", // "Foo > Bar > Math > divide", // "Foo > Bar > Scripts > fox", // - "Foo > Bar > ignored", // "Foo > Bar > Math > multiply", // "Math > pow", // "Foo > Bar > Scripts > quick", // + "Foo > Bar > script in base dir", // "Foo > Bar > Math > Trig > sin", // "Foo > Bar > Math > subtract", // "Foo > Bar > Math > Trig > tan", // @@ -177,6 +178,7 @@ public void testOverlappingDirectories() { "Math > multiply", // "Math > pow", // "Plugins > quick", // + "Scripts > script in base dir", // "Math > Trig > sin", // "Math > subtract", // "Math > Trig > tan", // From 14892562cea06ad65c8dbbcf682732d02010b68c Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Mon, 22 May 2023 12:09:53 -0500 Subject: [PATCH 2/3] Place base-level scripts in plugins>scripts --- src/main/java/org/scijava/script/ScriptFinder.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/scijava/script/ScriptFinder.java b/src/main/java/org/scijava/script/ScriptFinder.java index 3df65dd61..23701ea99 100644 --- a/src/main/java/org/scijava/script/ScriptFinder.java +++ b/src/main/java/org/scijava/script/ScriptFinder.java @@ -179,9 +179,10 @@ private int createInfos(final List scripts, final Set urls, // friendlyPath = "File/Import/Movie File..." // menuPath = File > Import > Movie File... - // Place base-level scripts in the "Scripts" submenu + // Place base-level scripts in the "Plugins>Scripts" submenu if (menuPath.size() == 1){ - menuPath.add(0, new MenuEntry("Scripts")); + menuPath.add(0, new MenuEntry("Plugins")); + menuPath.add(1, new MenuEntry("Scripts")); } final URL url = scriptMap.get(path); From 763f4166d4b8676b3f41efa3dd35291afb08e197 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Mon, 22 May 2023 12:23:59 -0500 Subject: [PATCH 3/3] Change tests to reflect Plugins>Scripts path --- src/test/java/org/scijava/script/ScriptFinderTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/scijava/script/ScriptFinderTest.java b/src/test/java/org/scijava/script/ScriptFinderTest.java index 8c51cc25e..e28869372 100644 --- a/src/test/java/org/scijava/script/ScriptFinderTest.java +++ b/src/test/java/org/scijava/script/ScriptFinderTest.java @@ -108,7 +108,7 @@ public void testFindScripts() { "Math > multiply", // "Math > pow", // "Scripts > quick", // - "Scripts > script in base dir", // + "Plugins > Scripts > script in base dir", // "Math > Trig > sin", // "Math > subtract", // "Math > Trig > tan", // @@ -178,7 +178,7 @@ public void testOverlappingDirectories() { "Math > multiply", // "Math > pow", // "Plugins > quick", // - "Scripts > script in base dir", // + "Plugins > Scripts > script in base dir", // "Math > Trig > sin", // "Math > subtract", // "Math > Trig > tan", //