To start developing I decided to build jEdit and its plugins from source, which wasn’t as easy as I would have expected (thanks to deffbeff for some pointers). A few small changes to the setups for the plugins would make it much easier – at some point I may try to help out there, but for now, here is how I built jEdit and the set of plugins I use regularly:
sudo apt-get install openjdk-6-jdk ant git-core subversion cd ~/code/public mkdir jedit cd jedit svn co https://jedit.svn.sourceforge.net/svnroot/jedit/jEdit/trunk jEdit cd jEdit; ant; cd .. mkdir plugins
Now I made a file inside plugins called build.properties which looked like this:
install.dir = ../../jEdit/build/settings/jars jedit.plugins.dir = ../../jEdit/build/settings/jars jedit.install.dir = ../../jEdit/build build.support = ../build-support
And then continued like this:
To find out the dependencies of all plugins and therefore what order to build them, I did this:
find ./ -name "*.props" | xargs grep "depend.*plugin"
Surely something should do this for me automatically?
The problem I haven’t solved yet is that the FTP plugin requires JUnit. I could have copied the junit.jar into the jars dir and I think it would have worked, but I want to do it “properly”…
Finally, I made a .desktop shortcut file in ~/.local/share/applications/jedit.desktop like this:
[Desktop Entry] Name=jEdit GenericName=Programmer's Text Editor Comment=Edit text files Exec=java -jar /home/andy/code/public/jedit/jEdit/build/jedit.jar -settings=/home/andy/code/public/jedit/jEdit/build/settings %U Icon=/home/andy/code/public/jedit/jEdit/doc/jedit.png Terminal=false Type=Application Categories=Development;TextEditor; StartupNotify=true MimeType=text/plain; StartupWMClass=org-gjt-sp-jedit-jEdit
Which enabled me to run the jEdit I had built from my system menu.
Note that I am running jEdit under OpenJDK because Sun/Oracle Java is annoying to get hold of at the moment, and generally somewhat evil. Thanks Oracle for killing Java. jEdit does not work brilliantly with OpenJDK, which is frustrating. Maybe I’ll try to fix it?