aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskyupward <skyupward@foxmail.com>2016-11-18 18:49:48 +0800
committerskyupward <skyupward@foxmail.com>2016-11-18 18:49:48 +0800
commita4f7b14d4b0a102bd07008a036b98125b8c11f42 (patch)
treed3a0520ca8c9103595103a3b7755018cbc25a313
parent192c569128d1ffb879fb104f44483e394032a790 (diff)
downloadlombok-a4f7b14d4b0a102bd07008a036b98125b8c11f42.tar.gz
lombok-a4f7b14d4b0a102bd07008a036b98125b8c11f42.tar.bz2
lombok-a4f7b14d4b0a102bd07008a036b98125b8c11f42.zip
add support for myeclipse installing.
-rw-r--r--src/installer/lombok/installer/eclipse/MyEclipseFinder.java69
-rw-r--r--src/installer/lombok/installer/eclipse/MyEclipseLocation.java45
-rw-r--r--src/installer/lombok/installer/eclipse/MyEclipseLocationProvider.java68
-rw-r--r--src/installer/lombok/installer/eclipse/myeclipse.pngbin0 -> 1073 bytes
4 files changed, 182 insertions, 0 deletions
diff --git a/src/installer/lombok/installer/eclipse/MyEclipseFinder.java b/src/installer/lombok/installer/eclipse/MyEclipseFinder.java
new file mode 100644
index 00000000..6ba8c861
--- /dev/null
+++ b/src/installer/lombok/installer/eclipse/MyEclipseFinder.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2009 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 lombok.installer.CorruptedIdeLocationException;
+import lombok.installer.IdeFinder;
+import lombok.installer.IdeLocation;
+import org.mangosdk.spi.ProviderFor;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * MyEclipse 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 MyEclipseFinder extends EclipseFinder {
+ @Override protected IdeLocation createLocation(String guess) throws CorruptedIdeLocationException {
+ return new MyEclipseLocationProvider().create0(guess);
+ }
+
+ @Override protected String getDirName() {
+ return "myeclipse";
+ }
+
+ @Override protected String getMacExecutableName() {
+ return "myeclipse.app";
+ }
+
+ @Override protected String getUnixExecutableName() {
+ return "myeclipse";
+ }
+
+ @Override protected String getWindowsExecutableName() {
+ return "myeclipse.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/MyEclipseLocation.java b/src/installer/lombok/installer/eclipse/MyEclipseLocation.java
new file mode 100644
index 00000000..e8f0da21
--- /dev/null
+++ b/src/installer/lombok/installer/eclipse/MyEclipseLocation.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2009 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 lombok.installer.CorruptedIdeLocationException;
+
+import java.io.File;
+import java.net.URL;
+
+public class MyEclipseLocation extends EclipseLocation {
+ public MyEclipseLocation(String nameOfLocation, File pathToEclipseIni) throws CorruptedIdeLocationException {
+ super(nameOfLocation, pathToEclipseIni);
+ }
+
+ @Override public URL getIdeIcon() {
+ return MyEclipseLocation.class.getResource("myeclipse.png");
+ }
+
+ @Override protected String getIniFileName() {
+ return "myeclipse.ini";
+ }
+
+ @Override protected String getTypeName() {
+ return "MyEclipse";
+ }
+}
diff --git a/src/installer/lombok/installer/eclipse/MyEclipseLocationProvider.java b/src/installer/lombok/installer/eclipse/MyEclipseLocationProvider.java
new file mode 100644
index 00000000..3c3d45be
--- /dev/null
+++ b/src/installer/lombok/installer/eclipse/MyEclipseLocationProvider.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2009 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 lombok.installer.CorruptedIdeLocationException;
+import lombok.installer.IdeFinder.OS;
+import lombok.installer.IdeLocation;
+import lombok.installer.IdeLocationProvider;
+import org.mangosdk.spi.ProviderFor;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.List;
+import java.util.regex.Pattern;
+
+@ProviderFor(IdeLocationProvider.class)
+public class MyEclipseLocationProvider extends EclipseLocationProvider {
+ @Override protected List<String> getEclipseExecutableNames() {
+ return Arrays.asList("myeclipse.app", "myeclipse.exe", "myeclipsec.exe", "myeclipse");
+ }
+
+ @Override protected String getIniName() {
+ return "myeclipse.ini";
+ }
+
+ @Override protected IdeLocation makeLocation(String name, File ini) throws CorruptedIdeLocationException {
+ return new MyEclipseLocation(name, ini);
+ }
+
+ @Override protected String getMacAppName() {
+ return "myeclipse.app";
+ }
+
+ @Override protected String getUnixAppName() {
+ return "myeclipse";
+ }
+
+ @Override public Pattern getLocationSelectors(OS os) {
+ switch (os) {
+ case MAC_OS_X:
+ return Pattern.compile("^(myeclipse|myeclipse\\.ini|myeclipse\\.app)$", Pattern.CASE_INSENSITIVE);
+ case WINDOWS:
+ return Pattern.compile("^(myeclipsec?\\.exe|myeclipse\\.ini)$", Pattern.CASE_INSENSITIVE);
+ default:
+ case UNIX:
+ return Pattern.compile("^(myeclipse|myeclipse\\.ini)$", Pattern.CASE_INSENSITIVE);
+ }
+ }
+}
diff --git a/src/installer/lombok/installer/eclipse/myeclipse.png b/src/installer/lombok/installer/eclipse/myeclipse.png
new file mode 100644
index 00000000..49c4fab3
--- /dev/null
+++ b/src/installer/lombok/installer/eclipse/myeclipse.png
Binary files differ