The 9th Circle of Hell: building a jEdit distribution with ant
Submitted by Wednesday, 4 August, 2004 - 04:47
on
Hello. I am not new to jEdit, but I am fairly new to ant. I am trying to build the dist target, and am routinely rewarded with a quite verbose, yet uninformative, list of errors.
Now I don't know if I should be superuser when I build this (I assume I should), and I don't know what environment variables ant and/or jEdit's build.xml file expect (the build.xml file is not enlightening to me). None of this is documented anywhere that I could find. I do have my $JAVA_HOME global environment variable set to '/usr/java/j2sdk1.4.2_05', and '$JAVA_HOME/bin' is included in the global $PATH variable.
Upon initial examination of ant's output, it appears as though none of the standard j2sdk classes are being found by ant. Since pretty much EVERY modern distribution of Sun's JDK includes the standard Java class files on the system classpath by default (1.4.2 DEFINITELY does), the only explanation I can think of is some sort of rogue dynamic classloader issue. In any case, I am thoroughly convinced that had Dante's Inferno been written in modern times, dealing with ant and/or dynamic Java classloading would have been listed as one of the punishments for sinners in the 9th Circle of Hell.
But enough venting from me. If anyone can think of any glaring newbie mistake I might be making after examining the following error trace from my pitiful attempt to build a jEdit distribution, I would greatly appreciate the advice:
[root@localhost jEdit]# ant dist
Buildfile: build.xml
init:
[delete] Deleting: /usr/src/jEdit/doc/docbook-wrapper.xsl
compile:
[javac] Compiling 362 source files to /usr/src/jEdit
[javac] /usr/src/jEdit/org/gjt/sp/jedit/textarea/TextAreaPainter.java:54: error: Superinterface `TabExpander' of class `org.gjt.sp.jedit.textarea.TextAreaPainter' not found.
[javac] public class TextAreaPainter extends JComponent implements TabExpander
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/syntax/Chunk.java:305: error: Type `TabExpander' not found in the declaration of the argument `expander' of method `init'.
[javac] public void init(Segment seg, TabExpander expander, float x,
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/syntax/DisplayTokenHandler.java:43: error: Type `TabExpander' not found in the declaration of the argument `expander' of method `init'.
[javac] TabExpander expander, List out,
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/syntax/DisplayTokenHandler.java:156: error: Type `TabExpander' not found in declaration of field `expander'.
[javac] private TabExpander expander;
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/gui/TextAreaDialog.java:89: error: Type `JTextArea' not found in the declaration of the local variable `textArea'.
[javac] JTextArea textArea = new JTextArea(10,80);
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/gui/ViewRegisters.java:119: error: Type `JTextArea' not found in declaration of field `contentTextArea'.
[javac] private JTextArea contentTextArea;
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/gui/AbbrevEditor.java:216: error: Type `JTextArea' not found in the declaration of the return type of method `getBeforeCaretTextArea'.
[javac] public JTextArea getBeforeCaretTextArea()
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/gui/AbbrevEditor.java:222: error: Type `JTextArea' not found in the declaration of the return type of method `getAfterCaretTextArea'.
[javac] public JTextArea getAfterCaretTextArea()
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/gui/AbbrevEditor.java:229: error: Type `JTextArea' not found in declaration of field `beforeCaret'.
[javac] private JTextArea beforeCaret, afterCaret;
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/gui/AbbrevEditor.java:229: error: Type `JTextArea' not found in declaration of field `afterCaret'.
[javac] private JTextArea beforeCaret, afterCaret;
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/gui/PasteFromListDialog.java:124: error: Type `JTextArea' not found in declaration of field `clipText'.
[javac] private JTextArea clipText;
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/pluginmgr/InstallPanel.java:449: error: Superclass `JTextArea' of class `org.gjt.sp.jedit.pluginmgr.InstallPanel$PluginInfoBox' not found.
[javac] class PluginInfoBox extends JTextArea implements ListSelectionListener
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/print/BufferPrintable.java:28: error: Class or interface `javax.swing.text.TabExpander' not found in import.
[javac] import javax.swing.text.TabExpander;
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/print/BufferPrintable.java:375: error: Superinterface `TabExpander' of class `org.gjt.sp.jedit.print.BufferPrintable$PrintTabExpander' not found.
[javac] static class PrintTabExpander implements TabExpander
[javac] ^
[javac] 14 errors
BUILD FAILED
file:/usr/src/jEdit/build.xml:35: Compile failed; see the compiler error output for details.
Total time: 4 seconds
[root@localhost jEdit]#
Now I don't know if I should be superuser when I build this (I assume I should), and I don't know what environment variables ant and/or jEdit's build.xml file expect (the build.xml file is not enlightening to me). None of this is documented anywhere that I could find. I do have my $JAVA_HOME global environment variable set to '/usr/java/j2sdk1.4.2_05', and '$JAVA_HOME/bin' is included in the global $PATH variable.
Upon initial examination of ant's output, it appears as though none of the standard j2sdk classes are being found by ant. Since pretty much EVERY modern distribution of Sun's JDK includes the standard Java class files on the system classpath by default (1.4.2 DEFINITELY does), the only explanation I can think of is some sort of rogue dynamic classloader issue. In any case, I am thoroughly convinced that had Dante's Inferno been written in modern times, dealing with ant and/or dynamic Java classloading would have been listed as one of the punishments for sinners in the 9th Circle of Hell.
But enough venting from me. If anyone can think of any glaring newbie mistake I might be making after examining the following error trace from my pitiful attempt to build a jEdit distribution, I would greatly appreciate the advice:
[root@localhost jEdit]# ant dist
Buildfile: build.xml
init:
[delete] Deleting: /usr/src/jEdit/doc/docbook-wrapper.xsl
compile:
[javac] Compiling 362 source files to /usr/src/jEdit
[javac] /usr/src/jEdit/org/gjt/sp/jedit/textarea/TextAreaPainter.java:54: error: Superinterface `TabExpander' of class `org.gjt.sp.jedit.textarea.TextAreaPainter' not found.
[javac] public class TextAreaPainter extends JComponent implements TabExpander
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/syntax/Chunk.java:305: error: Type `TabExpander' not found in the declaration of the argument `expander' of method `init'.
[javac] public void init(Segment seg, TabExpander expander, float x,
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/syntax/DisplayTokenHandler.java:43: error: Type `TabExpander' not found in the declaration of the argument `expander' of method `init'.
[javac] TabExpander expander, List out,
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/syntax/DisplayTokenHandler.java:156: error: Type `TabExpander' not found in declaration of field `expander'.
[javac] private TabExpander expander;
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/gui/TextAreaDialog.java:89: error: Type `JTextArea' not found in the declaration of the local variable `textArea'.
[javac] JTextArea textArea = new JTextArea(10,80);
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/gui/ViewRegisters.java:119: error: Type `JTextArea' not found in declaration of field `contentTextArea'.
[javac] private JTextArea contentTextArea;
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/gui/AbbrevEditor.java:216: error: Type `JTextArea' not found in the declaration of the return type of method `getBeforeCaretTextArea'.
[javac] public JTextArea getBeforeCaretTextArea()
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/gui/AbbrevEditor.java:222: error: Type `JTextArea' not found in the declaration of the return type of method `getAfterCaretTextArea'.
[javac] public JTextArea getAfterCaretTextArea()
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/gui/AbbrevEditor.java:229: error: Type `JTextArea' not found in declaration of field `beforeCaret'.
[javac] private JTextArea beforeCaret, afterCaret;
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/gui/AbbrevEditor.java:229: error: Type `JTextArea' not found in declaration of field `afterCaret'.
[javac] private JTextArea beforeCaret, afterCaret;
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/gui/PasteFromListDialog.java:124: error: Type `JTextArea' not found in declaration of field `clipText'.
[javac] private JTextArea clipText;
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/pluginmgr/InstallPanel.java:449: error: Superclass `JTextArea' of class `org.gjt.sp.jedit.pluginmgr.InstallPanel$PluginInfoBox' not found.
[javac] class PluginInfoBox extends JTextArea implements ListSelectionListener
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/print/BufferPrintable.java:28: error: Class or interface `javax.swing.text.TabExpander' not found in import.
[javac] import javax.swing.text.TabExpander;
[javac] ^
[javac] /usr/src/jEdit/org/gjt/sp/jedit/print/BufferPrintable.java:375: error: Superinterface `TabExpander' of class `org.gjt.sp.jedit.print.BufferPrintable$PrintTabExpander' not found.
[javac] static class PrintTabExpander implements TabExpander
[javac] ^
[javac] 14 errors
BUILD FAILED
file:/usr/src/jEdit/build.xml:35: Compile failed; see the compiler error output for details.
Total time: 4 seconds
[root@localhost jEdit]#