Plain Text | 93 lines | 62 code | 31 blank | 0 comment | 0 complexity | b419d84d92f61969f524e99a355520f5 MD5 | raw file
1SOURCE CODE NOTES 2 3This file only contains information about compiling from source. 4General jEdit documentation can be found in the 'doc' directory. 5 6* Compiling jEdit 7 8You will need: 9 10- A Java compiler, such as Sun's javac or IBM's jikes. 11 12- Jakarta Ant. I use version 1.5; older versions might or might not 13 work. Get it from <http://ant.apache.org>. 14 15Once you have all the necessary tools installed, run Ant with the 'dist' 16target in the build.xml file to compile jEdit: 17 18$ cd ~/jEdit 19$ ant dist 20 21* Building the online help in HTML format 22 23You will need: 24 25- DocBook-XML 4.1.2 DTD and DocBook-XSL 1.60.1 (or later) stylesheets 26 (<http://docbook.sourceforge.net>). 27- An XSLT processor, such as Xalan (<http://xml.apache.org>) or 28 xsltproc (<http://xmlsoft.org/XSLT/>). 29 30To build the HTML format docs, first edit the 'build.properties' file to 31specify the path to where the DocBook XSL stylesheets are installed, 32then run the 'docs-html-xalan' or 'docs-html-xsltproc' target. 33 34* Building the online help in PDF format 35 36You will need: 37 38- DocBook-XML 4.1.2 DTD and DocBook-DSSSL 1.76 (or later) stylesheets 39 (<http://docbook.sourceforge.net>). 40 41- OpenJade 1.3 and OpenSP 1.3.4 (or later) 42 (<http://openjade.sourceforge.net>). 43 44- A TeX implementation that includes PDF output capability. 45 46To build the PDF format docs, you will most likely have to edit the 47build.xml to set up various paths. Then run the 'docs-pdf-openjade-a4' 48or 'docs-pdf-openjade-letter' target, depending on the desired paper 49size. 50 51* Building the API documentation 52 53To build the API documentation, you will need Sun's javadoc, which is 54bundled with the JDK. You will also need to edit 'build.properties' to 55point to the location of your 'tools.jar', which is needed to compile a 56custom doclet. After everything is set up, run the 'javadoc' target, 57which will create API documentation and a 'toc.xml' file for jEdit's 58help viewer. 59 60Note that you will need to run the 'doclet/Clean_Up_Javadoc.bsh' script 61in jEdit to make the API documentation display better in jEdit's help 62viewer. 63 64* A note about JDK versions 65 66The Jikes compiler from IBM seems to have a problem where code compiled 67against JDK 1.4 does not work under JDK 1.3. Sun's javac does not have 68this problem. 69 70If plan on running jEdit under both 1.3 and 1.4, I recommend you compile 71it using javac. 72 73* Interesting algorithms and tricks 74 75- org.gjt.sp.jedit.browser.VFSDirectoryEntryTable: a tree table control. 76 77- org.gjt.sp.jedit.buffer.LineManager: the "gap" optimization allows 78 update operations to be performed in O(1) time in certain 79 circumstances. 80 81- org.gjt.sp.jedit.buffer.PositionManager: a red/black tree with some 82 additional tricks. 83 84- org.gjt.sp.jedit.search.BoyerMooreSearchMatcher: fast text search. 85 86- org.gjt.sp.jedit.syntax.TokenMarker: generic tokenizer driven by rules 87 defined in an XML file. 88 89- org.gjt.sp.jedit.textarea.DisplayManager: the fold visibility map 90 looks like an RLE-compressed bit set but does lookups in O(log n). 91 92- org.gjt.sp.util.WorkThreadPool: a pool of threads executing requests 93 from a queue, enforcing various concurrency requirements.