From cd5cb7f3987641843016ceb28b6718abec6f993c Mon Sep 17 00:00:00 2001 From: Josef Ludvicek Date: Fri, 7 Oct 2016 13:56:09 +0200 Subject: [PATCH] Potential solution for issue #1164 * copy Jbds* to Rhds* and replace jbdevstudio to devstudio --- .../installer/eclipse/RhdsLocation.java | 45 ++++++++++++ .../eclipse/RhdsLocationProvider.java | 69 ++++++++++++++++++ .../lombok/installer/eclipse/rhds.png | Bin 0 -> 5768 bytes 3 files changed, 114 insertions(+) create mode 100644 src/installer/lombok/installer/eclipse/RhdsLocation.java create mode 100644 src/installer/lombok/installer/eclipse/RhdsLocationProvider.java create mode 100644 src/installer/lombok/installer/eclipse/rhds.png diff --git a/src/installer/lombok/installer/eclipse/RhdsLocation.java b/src/installer/lombok/installer/eclipse/RhdsLocation.java new file mode 100644 index 00000000..dbe1812c --- /dev/null +++ b/src/installer/lombok/installer/eclipse/RhdsLocation.java @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2013 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 + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package lombok.installer.eclipse; + +import java.io.File; +import java.net.URL; + +import lombok.installer.CorruptedIdeLocationException; + +public class RhdsLocation extends EclipseLocation { + public RhdsLocation(String nameOfLocation, File pathToEclipseIni) throws CorruptedIdeLocationException { + super(nameOfLocation, pathToEclipseIni); + } + + @Override public URL getIdeIcon() { + return RhdsLocation.class.getResource("rhds.png"); + } + + @Override protected String getIniFileName() { + return "devstudio.ini"; + } + + @Override protected String getTypeName() { + return "Red Hat JBoss Developer Studio"; + } +} diff --git a/src/installer/lombok/installer/eclipse/RhdsLocationProvider.java b/src/installer/lombok/installer/eclipse/RhdsLocationProvider.java new file mode 100644 index 00000000..008cbf86 --- /dev/null +++ b/src/installer/lombok/installer/eclipse/RhdsLocationProvider.java @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2013 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 + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package lombok.installer.eclipse; + +import java.io.File; +import java.util.Arrays; +import java.util.List; +import java.util.regex.Pattern; + +import lombok.installer.CorruptedIdeLocationException; +import lombok.installer.IdeLocation; +import lombok.installer.IdeLocationProvider; +import lombok.installer.IdeFinder.OS; + +import org.mangosdk.spi.ProviderFor; + +@ProviderFor(IdeLocationProvider.class) +public class RhdsLocationProvider extends EclipseLocationProvider { + @Override protected List getEclipseExecutableNames() { + return Arrays.asList("devstudio.app", "devstudio.exe", "devstudioc.exe", "devstudio"); + } + + @Override protected String getIniName() { + return "devstudio.ini"; + } + + @Override protected IdeLocation makeLocation(String name, File ini) throws CorruptedIdeLocationException { + return new JbdsLocation(name, ini); + } + + @Override protected String getMacAppName() { + return "devstudio.app"; + } + + @Override protected String getUnixAppName() { + return "devstudio"; + } + + @Override public Pattern getLocationSelectors(OS os) { + switch (os) { + case MAC_OS_X: + return Pattern.compile("^(devstudio|devstudio\\.ini|devstudio\\.app)$", Pattern.CASE_INSENSITIVE); + case WINDOWS: + return Pattern.compile("^(devstudioc?\\.exe|devstudio\\.ini)$", Pattern.CASE_INSENSITIVE); + default: + case UNIX: + return Pattern.compile("^(devstudio|devstudio\\.ini)$", Pattern.CASE_INSENSITIVE); + } + } +} diff --git a/src/installer/lombok/installer/eclipse/rhds.png b/src/installer/lombok/installer/eclipse/rhds.png new file mode 100644 index 0000000000000000000000000000000000000000..bd0f534d36c3ee690970050fdc8ca63d97520e41 GIT binary patch literal 5768 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