From 44d6a6b6627c23ac66920ae6dc1d709f26de7e3f Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Fri, 27 Nov 2009 12:10:10 +0100 Subject: Solved the problem in the two-phase compile (some of lombok is JVM1.5, other bits are JVM1.6) being interdependent and causing implicit compilation warnings. Also added source="1.x" to all ant file javac targets, as apparently this needs to be there when compiling with JDK7. --- build.xml | 2 +- buildScripts/compile.ant.xml | 10 +++++----- buildScripts/website.ant.xml | 2 +- src/installer/lombok/installer/Installer.java | 25 ++++++++++++++++++++----- 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/build.xml b/build.xml index a2571d54..5fead285 100644 --- a/build.xml +++ b/build.xml @@ -31,7 +31,7 @@ the common tasks and can be called on to run the main aspects of all the sub-scr - + - + s1 + - - + s2 + - - + diff --git a/buildScripts/website.ant.xml b/buildScripts/website.ant.xml index 30d0b29b..50781988 100644 --- a/buildScripts/website.ant.xml +++ b/buildScripts/website.ant.xml @@ -68,7 +68,7 @@ such as converting the changelog into HTML, and creating javadoc. - + diff --git a/src/installer/lombok/installer/Installer.java b/src/installer/lombok/installer/Installer.java index a823dd69..d6f1add0 100644 --- a/src/installer/lombok/installer/Installer.java +++ b/src/installer/lombok/installer/Installer.java @@ -43,7 +43,9 @@ import java.io.FilenameFilter; import java.net.URI; import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.atomic.AtomicReference; import javax.swing.Box; @@ -64,7 +66,6 @@ import javax.swing.UIManager; import javax.swing.filechooser.FileFilter; import lombok.core.Version; -import lombok.delombok.Delombok; import lombok.installer.EclipseFinder.OS; import lombok.installer.EclipseLocation.InstallException; import lombok.installer.EclipseLocation.NotAnEclipseException; @@ -95,11 +96,25 @@ public class Installer { private JLabel uninstallPlaceholder; private JButton installButton; + private static final Map APPS; + static { + Map m = new HashMap(); + m.put("delombok", "lombok.delombok.Delombok"); + APPS = Collections.unmodifiableMap(m); + } + public static void main(String[] args) { - if (args.length > 0 && args[0].equals("delombok")) { - String[] newArgs = new String[args.length-1]; - System.arraycopy(args, 1, newArgs, 0, newArgs.length); - Delombok.main(newArgs); + if (args.length > 0) { + String className = APPS.get(args[0]); + if (className != null) { + String[] newArgs = new String[args.length-1]; + System.arraycopy(args, 1, newArgs, 0, newArgs.length); + try { + Class.forName(className).getMethod("main", String[].class).invoke(newArgs); + } catch (Exception e) { + System.err.println("Lombok bug: Can't find application main class: " + className); + } + } return; } if (args.length > 0 && (args[0].equals("install") || args[0].equals("uninstall"))) { -- cgit