aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/installer/lombok/installer/eclipse/RhdsFinder.java70
-rw-r--r--src/installer/lombok/installer/eclipse/RhdsLocation.java45
-rw-r--r--src/installer/lombok/installer/eclipse/RhdsLocationProvider.java69
-rw-r--r--src/installer/lombok/installer/eclipse/rhds.pngbin0 -> 3470 bytes
4 files changed, 184 insertions, 0 deletions
diff --git a/src/installer/lombok/installer/eclipse/RhdsFinder.java b/src/installer/lombok/installer/eclipse/RhdsFinder.java
new file mode 100644
index 00000000..5e639fa5
--- /dev/null
+++ b/src/installer/lombok/installer/eclipse/RhdsFinder.java
@@ -0,0 +1,70 @@
+/*
+ * 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.util.Arrays;
+import java.util.List;
+
+import lombok.installer.CorruptedIdeLocationException;
+import lombok.installer.IdeFinder;
+import lombok.installer.IdeLocation;
+
+import org.mangosdk.spi.ProviderFor;
+
+/**
+ * RHDS (Red Hat JBoss Developer Studio) is an eclipse variant.
+ * Other than different executable names, it's the same as eclipse, as far as lombok support goes.
+ */
+@ProviderFor(IdeFinder.class)
+public class RhdsFinder extends EclipseFinder {
+ @Override protected IdeLocation createLocation(String guess) throws CorruptedIdeLocationException {
+ return new RhdsLocationProvider().create0(guess);
+ }
+
+ @Override protected String getDirName() {
+ return "studio";
+ }
+
+ @Override protected String getMacExecutableName() {
+ return "devstudio.app";
+ }
+
+ @Override protected String getUnixExecutableName() {
+ return "devstudio";
+ }
+
+ @Override protected String getWindowsExecutableName() {
+ return "devstudio.exe";
+ }
+
+ @Override protected List<String> getSourceDirsOnWindows() {
+ return Arrays.asList("\\", "\\Program Files", "\\Program Files (x86)", System.getProperty("user.home", "."));
+ }
+
+ @Override protected List<String> getSourceDirsOnMac() {
+ return Arrays.asList("/Applications", System.getProperty("user.home", "."));
+ }
+
+ @Override protected List<String> getSourceDirsOnUnix() {
+ return Arrays.asList(System.getProperty("user.home", "."));
+ }
+}
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..fabddba2
--- /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<String> 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 RhdsLocation(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 00000000..ca7738e6
--- /dev/null
+++ b/src/installer/lombok/installer/eclipse/rhds.png
Binary files differ