NiceXSL logo Contents Download Update-Site NiceXSL logo

NiceXSL Source Code

Full source code is provided as part of the distribution, but if any part is missing everything should be available from the CVS repository at

The installed plug-in is called net.sf.nicexsl and this name is used if the plug-in is imported into the Eclipse Workspace. The development project is called nicexsl which should be what is created from CVS. Build-paths associated with ANT make use of this name and a variety of NullPointerExceptions can be expected if the names are wrong. The installed version contains all files and so can be used as a basis for development, either by reaming the project, which avoids confusion between installation and development, or by fixing the paths in .project.

.classpath is not part of the distribution since it can be autogenerated. If you have selected distinct src/bin folders for the Java New Project Preference, then it is sufficient to just compute the classpath from the Dependencies tab of plug-in.xml. If not, you should first open the NiceXSL project properties and specify nicexsl/src as a source folder, with a corresponding bin output folder, on the Java Build Path, before computing the class path.

The code is built almost automatically under Eclipse, with the aid of the ANT targets in src/build.xml which should not be confused with the build.xml that Eclipse auto-generates for its own purposes.

Specific ANT targets may be invoked using Run Ant... from the context sensitive menu for src/build.xml. These may be activated more easily by opening src/build.xml within an Ant view. (THe author has not fully debugged the subtleties of ANT/Eclipse interactions so occasionally there are seemingly benign errors concerning refresh failures, and of course every so often ANT leaks so much memory that you must restart Eclipse.

In order to build the sources, you will need to obtain CUP and JFLex which are available from, or automatically by invoking the gettoole target of the ANT script in src/build.xml. The default state of src/build.xml allows these to be downloaded direct from SourceForge when the SourceForge site is responsive. If you have a firewall, you will need to uncomment lines in src/build.xml to define the proxy port and host.

Once you have CUP and JFLEX the cup and jflex ANT targets may be used to convert NiceXSL.lex into, and NiceXSL.cup into and Thereafter its just a simple Java compilation. This is nominally automated by an Eclipse Project->Rebuild, though Eclipse seems sometimes to forget whether the Java files are local so it may be necessary to manually refresh.

If you're really interested in serious parser debugging, the cup-dump target slowly creates a 5 MB file containing the parser states, and the parser debug may be enabled by parser-debug='true' to ANT or by the launch configuration options of Eclipse.

The non-Eclipse distribution is built by the dist target. The Eclipse distribution by Build with the site.xml for the nicexsl-update project.

A new release requires the version number to be incremented in:

Edward D. Willink
21 February 2004