RIFE logo
This page last changed on Jun 06, 2007 by gbevin.

Contents:

Build notes

Eclipse seems to have trouble with spaces in directory names, so on Windows put the RIFE directory somewhere where there are no spaces in the paths.

If you build a RIFE jarfile and you start seeing strange exceptions when you use it, try doing "ant clean package" from outside your IDE.

To build just the RIFE jar file, use the Ant target "packageBase".

Running the unit tests

You should setup the unittests for your environment by customizing one of the config files here: programs/unittests/config/rep/config-* (use the one of the platform that you're using). RIFE_HOME should be the only one you should have to change.

You will also want to edit programs/unittests/config/rep/unittests_datasources.xml and comment out or rename the datasources for any databases you don't have installed locally. Otherwise you will get test failures as the test suite tries to test RIFE's database-specific code.

To run the unit tests, run ant test. It is not currently possible to run the unit tests using Eclipse's built-in JUnit test runner because some of the tests test RIFE's custom classloader, which isn't in control when tests are run from Eclipse.

Customizing the unit tests

If you're hacking RIFE's internals, you will want to write unit tests to ensure that your changes work as intended. Here's a quick guide to adding new tests to the authentication code; a similar approach would apply elsewhere.

First, add the required elements to the authentication sites in programs/unittests/config/site.

If applicable, you can add the individual element XML files to programs/unittests/config/element/authentication.

Then you add the actual tests to the JUnit suites that are in src/unittests/com/uwyn/rife/authentication/elements.

To run only the authentication tests, comment out the non authentication test suites from src/unittests/com/uwyn/rife/TestRifeTests.java and only leave the last bunch of server-side test suites in src/unittests/com/uwyn/rife/authentication/TestSuiteAuthentication.java.

Subversion

We use subversion for the development of all RIFE projects. The Subversion repository is at http://svn.rifers.org. All developers should add the following to their ~/.subversion/config file to ensure that all new files have the correct properties:

### Section for configuring miscelleneous Subversion options.
[miscellany]
### Set enable-auto-props to 'yes' to enable automatic properties
### for 'svn add' and 'svn import', it defaults to 'no'.
### Automatic properties are defined in the section 'auto-props'.
enable-auto-props = yes

### Section for configuring automatic properties.
### The format of the entries is:
###   file-name-pattern = propname[=value][;propname[=value]...]
### The file-name-pattern can contain wildcards (such as '*' and
### '?').  All entries which match will be applied to the file.
### Note that auto-props functionality must be enabled, which
### is typically done by setting the 'enable-auto-props' option.
[auto-props]
*.bat = svn:keywords=Id Revision;svn:svn:eol-style=native
*.bsh = svn:keywords=Id Revision;svn:eol-style=native
*.c = svn:keywords=Id Revision;svn:eol-style=native
*.cpp = svn:keywords=Id Revision;svn:eol-style=native
*.css = svn:keywords=Id Revision;svn:eol-style=native
*.dtd = svn:keywords=Id Revision;svn:eol-style=native
*.groovy = svn:keywords=Id Revision;svn:eol-style=native
*.h = svn:keywords=Id Revision;svn:eol-style=native
*.html = svn:keywords=Id Revision;svn:eol-style=native
*.jacl = svn:keywords=Id Revision;svn:eol-style=native
*.janino = svn:keywords=Id Revision;svn:eol-style=native
*.java = svn:keywords=Id Revision;svn:eol-style=native
*.js = svn:keywords=Id Revision;svn:eol-style=native
*.jws = svn:keywords=Id Revision;svn:eol-style=native
*.pnut = svn:keywords=Id Revision;svn:eol-style=native
*.properties = svn:keywords=Id Revision;svn:eol-style=native
*.py = svn:keywords=Id Revision;svn:eol-style=native
*.rb = svn:keywords=Id Revision;svn:eol-style=native
*.sh = svn:keywords=Id Revision;svn:eol-style=native;svn:executable
*.sql = svn:keywords=Id Revision;svn:eol-style=native
*.txt = svn:keywords=Id Revision;svn:eol-style=native
*.wsdd = svn:keywords=Id Revision;svn:eol-style=native
*.xhtml = svn:keywords=Id Revision;svn:eol-style=native
*.xml = svn:keywords=Id Revision;svn:eol-style=native
*.xsl = svn:keywords=Id Revision;svn:eol-style=native
Makefile = svn:keywords=Id Revision;svn:eol-style=native
*.bmp = svn:mime-type=image/bmp
*.gif = svn:mime-type=image/gif
*.ico = svn:mime-type=image/x-icon
*.png = svn:mime-type=image/png
*.jpeg = svn:mime-type=image/jpeg
*.jpg = svn:mime-type=image/jpeg
*.pdf = svn:mime-type=application/pdf
*.tif = svn:mime-type=image/tiff
*.tiff = svn:mime-type=image/tiff
INSTALL = svn:keywords=Id Revision;svn:eol-style=native
README = svn:keywords=Id Revision;svn:eol-style=native
Document generated by Confluence on Oct 19, 2010 14:57