XNap DEVELOPMENT file

PARTICIPATE 

 First of all checkout the latest from the cvs and try to compile
 XNap. If it doesn't work make sure you meet the build requirements
 listed in the readme file.  

 Then subscribe to the xnap-devel mailing list and have a look at the
 TODO file. Pick a task you would like to work on and let the mailing
 list know, so we don't double do things. 
 Of course you do not have to limit yourself to the things listed in
 the TODO file, if there are other things you'd like to get done or
 improved, just let us know.

 Once you have code to share, send it! If your code works, we will
 happily encorporate it into the head branch.

PROGRAMMING GUIDELINES
	    
 Please try to stick to the formatting present in the XNap
 source.

PATCHES (how to send)

 If you want to send code, only send diffs againt the latest cvs. That
 will make merging much easier for us.

 Here are instructions about how you might want to do this:

 1. Checkout from the cvs and make a copy:

    cvs -d:pserver:anonymous@cvs.xnap.sourceforge.net:/cvsroot/xnap co xnap2
    cp -a xnap2 xnap2-work

 2. Now work in xnap2-work and make your changes to the code

 3. Once you are done, run in xnap2 and xnap2-work:

    cvs up -Pd
    make mrproper

 4. Get gnu diff and run it:

    diff -ubBdNrw -U 5 xnap2 xnap2-work > xnap.diff

 5. Submit xnap.diff with a list of your changes to 
    http://sourceforge.net/tracker/?group_id=9285 or post it to 
    xnap-devel@lists.sourceforge.net.

MAKEFILE

 Our makefile is somewhat Debian GNU/Linux specific. You can use ant
 for compiling if you don't run Linux. The most important targets are:

  make clean - clean up
  make dev   - create proxy makefiles in sub directory and etags for emacs
  make jar   - create xnap.jar
  make run   - start XNap
  

DEBUG (how to capture)

 You can start xnap with -d ALL, a nicer way to capture is creating a 
 ~/.xnap/debug.prefs file. Read the log4j documentation for
 configuration hints. Here is an example:
 
  log4j.logger.xnap=ALL,File,Socket

  log4j.appender.File=org.apache.log4j.FileAppender
  log4j.appender.File.file=debug.log
  log4j.appender.File.layout=org.apache.log4j.PatternLayout
  log4j.appender.File.layout.conversionPattern=%-5p [%t] %m%n
  log4j.appender.File.append=false

  log4j.appender.Socket=org.apache.log4j.net.SocketAppender
  log4j.appender.Socket.remoteHost=localhost
  log4j.appender.Socket.port=4445
  log4j.appender.Socket.locationInfo=true

MAC OS X

 Apple has some interesting native hooks:

 http://developer.apple.com/techpubs/macosx/Java/JavaDevelopment/system_properties/iMac_OS_X_Ap_XREF1_1.html