From 91c8c96a664dddfc3505ccfb44a57f5a9651818d Mon Sep 17 00:00:00 2001 From: Rawi01 Date: Mon, 22 Dec 2025 10:50:34 +0100 Subject: [PATCH] Find IDE executables on case-sensitive file systems --- .../eclipse/StandardProductDescriptor.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/installer/lombok/installer/eclipse/StandardProductDescriptor.java b/src/installer/lombok/installer/eclipse/StandardProductDescriptor.java index 365bf7fb..55085339 100644 --- a/src/installer/lombok/installer/eclipse/StandardProductDescriptor.java +++ b/src/installer/lombok/installer/eclipse/StandardProductDescriptor.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 The Project Lombok Authors. + * Copyright (C) 2016-2025 The Project Lombok Authors. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -24,7 +24,6 @@ package lombok.installer.eclipse; import java.io.File; import java.net.URL; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -133,8 +132,17 @@ public class StandardProductDescriptor implements EclipseProductDescriptor { } private static List executableNames(String baseName) { - String base = baseName.toLowerCase(); - return Collections.unmodifiableList(Arrays.asList(base, base + ".app", base + ".exe", base + "c.exe")); + String[] bases = new String[] {baseName, baseName.toLowerCase()}; + String[] suffixes = new String[] {"", ".app", ".exe", "c.exe"}; + + List result = new ArrayList(); + + for (String base : bases) { + for (String suffix : suffixes) { + result.add(base + suffix); + } + } + return Collections.unmodifiableList(result); } private static List generateAlternatives(String[] roots, String pathSeparator, Collection alternatives) {