View Single Post
Old 01-14-2011, 02:59 PM
domdorn domdorn is offline
Join Date: Dec 2009
Location: Vienna / Austria
Posts: 97
Thumbs up Quercus Open Source Modules

To fulfill the need of the community to take part in the Quercus evolution,
we're starting the Quercus Open Source Modules project.

The goal is to provide more or less "independent" modules that are not packaged with the main Quercus distribution, but can simply be added by putting the jars in the classpath (e.g. /WEB-INF/lib folder).

Development should take place on, as it's by far the most used platform for easy code collaboration.

Contribute a new module
If you want to contribute, please reply to this post, tell something about the module you'd like to start and we'll get everything set-up.

Participate in a module
If you want to participate in a modules development, simply fork the repository on Github, do your work (including tests) and send a pull request.

Existing Modules

Currently, these is the list of available modules (that I'm _aware of_):
and there is our Quercus Testing Framework available under
Quercus Testing Framework

Please clone the Quercus Testing Framework,
then do a
mvn clean compile install

to get started with testing, please also clone Quercus-Filter

to get a general idea of a module layout.

Our testing framework is still a bit beta, so these are the steps you need to do:

- add the JUnit dependency to your modules pom.xml
- add our quercus-testing-framework dependency to your modules pom.xml
- create the folder /src/test/resources/qa
- create the file /src/test/resources/qa/resin.conf with the following content:
<?xml version="1.0" encoding="UTF-8" ?>
<resin xmlns=""

- add a sample test /src/test/resources/qa/
<title>mymodule: FOOBAR Test</title>

<php out='stdout'>

echo "foo";


<compare file='/stdout' escape>
- create a Junit Test like the following in /src/test/java/..../
package com.caucho.quercus.lib.filter;

import com.caucho.quercus.junit.QuercusRunner;
import org.junit.runner.RunWith;

public class FilterTest {
- execute your tests by typing
mvn clean compile test

In future versions of the testing framework, you will not have to create the resin.conf and the JUnit class, but right now its required.

Building of the module
We're using Maven to build the modules. Please take a look at
to see how its done.

Quercus itself as Github-Repository?
It will take some time to properly get Quercus out of our main development repository, as Quercus has grown years with our other products in that environment and we don't simply want to cut it out of that repository and therefor loose all the history and other goodies given by decent SCMs.

We're still very busy with getting our Application Server "Resin" certified and ready for the JavaEE6 Web-Profile, so our resources are currently quite constraint and this will take some time to get done right.

Please add your questions as posts bellow. I'll update this post and include the answers here.
Reply With Quote