From ad4bd36274d2bfe8dcf74977d921a114739386b1 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Mon, 13 Feb 2017 21:47:48 +0100 Subject: [PATCH] =?UTF-8?q?Now=20searches=20through=20any=20subdir=20of=20?= =?UTF-8?q?any=20dir=20containing=20the=20string=20=E2=80=98eclipse?= =?UTF-8?q?=E2=80=99=20(or=20STS=20or=20whatnot),=20to=20any=20depth,=20in?= =?UTF-8?q?stead=20of=20requiring=20each=20subdir=20to=20be=20searched=20t?= =?UTF-8?q?o=20again=20contain=20=E2=80=98eclipse=E2=80=99=20or=20some=20v?= =?UTF-8?q?ariant=20thereof.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The mac installer installs to /Applications/eclipse/java-neon, for example, by default, so it wasn’t being found. --- .../installer/eclipse/EclipseProductLocationProvider.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/installer/lombok/installer/eclipse/EclipseProductLocationProvider.java b/src/installer/lombok/installer/eclipse/EclipseProductLocationProvider.java index 3710d7d9..b807f02b 100644 --- a/src/installer/lombok/installer/eclipse/EclipseProductLocationProvider.java +++ b/src/installer/lombok/installer/eclipse/EclipseProductLocationProvider.java @@ -288,10 +288,10 @@ public class EclipseProductLocationProvider implements IdeLocationProvider { abstract String findEclipseOnPlatform(File dir); void recurseDirectory(List locations, List problems, File dir) { - recurseDirectory0(locations, problems, dir, 0); + recurseDirectory0(locations, problems, dir, 0, false); } - private void recurseDirectory0(List locations, List problems, File f, int loopCounter) { + private void recurseDirectory0(List locations, List problems, File f, int loopCounter, boolean nameFound) { //Various try/catch/ignore statements are in this for loop. Weird conditions on the disk can cause exceptions, //such as an unformatted drive causing a NullPointerException on listFiles. Best action is almost invariably to just //continue onwards. @@ -301,9 +301,9 @@ public class EclipseProductLocationProvider implements IdeLocationProvider { for (File dir : listFiles) { if (!dir.isDirectory()) continue; try { - if (dir.getName().toLowerCase().contains(descriptor.getDirectoryName())) { + if (nameFound || dir.getName().toLowerCase().contains(descriptor.getDirectoryName())) { findEclipse(locations, problems, dir); - if (loopCounter < 50) recurseDirectory0(locations, problems, dir, loopCounter + 1); + if (loopCounter < 50) recurseDirectory0(locations, problems, dir, loopCounter + 1, true); } } catch (Exception ignore) {} }