If you are building sipXecs older than 4.5, look at this page's history for any specific details.
You should feel free to use whatever developement environment suits your needs. If you happen to use NetBeans, emacs or anything else please share your experience. Let email@example.com us know if you would like to keep configuration files for your environment in sipXconfig subversion repository.
While I am pretty sure most modern IDEs have the following features, the major reasons why I am using Eclipse today are here:
Get the latest stable build of Eclipse and install it on the system. Some Linux distributions (Fedora Core 4) include eclipse. However Eclipse install without any problems on Linux, Windows and Mac OS X.
Go to Eclipse Download Site, click on latest stable 3.4 build and download Eclipse SDK version appropriate for your platform.
Eclipse has a notion of workspaces and project. Workspace is a set of related projects that share common options (compilation, code formatting etc.). From my experience it's best to have one workspace per subversion branch (i.e. a separate workspaces for main, 2.8, 2.6 etc.)
Set common configuration options.
SIPX_SRCDIR=path to top source directory
SIPXCONFIG_SRCDIR=SIPX_SRCDIR/sipXconfig used to avoid some circular imports in Eclipse
You need a separate Eclipse workspace for each source code directory, since each branch will have a different SIPX_SRCDIR setting.
Classpath variables used in other projects:
OPENFIRE-ROOT=path to openfire root (usually /opt/openfire)
Go to Windows->Preferences->Java->Code Style
Go to Windows->Preferences->Java->Code Style->Clean Up
Go to Windows->Preferences->Java->Code Style->Code Formatter
Go to Windows->Preferences->Java->Code Style->Code Templates
Consider configuring Save Actions to clean-up changed files and format changed lines in the file.
SipXconfig requires Java 1.6:
Installing these plugins is optional, but they do have plenty of features that would simplify developement.
Some plugins have "update sites" - you can easily update them through Eclipse UI.
You can now get the following plugins:
Other plugins have to be downloaded and install manually (by copying the plugin to /path/to/eclipse/plugins directory).
Step 1. Install checkstyle plugin from with update URL: http://eclipse-cs.sf.net/update/
Step 2. Go to Window->Preferences->Checkstyle
Step 3. Click "New..." in the "Global Check Configurations" and add new "External Configuration File" entry call "sipxecs" with location specifying path to your-source-directory/config/checkstyle/checktyle.xml. Before leaving this dialog, click on "Additional properties", and specify your-source-directory/config/checkstyle for variable "top.dir"
Step 4. Click on the new "sipxecs" Check Configuration and "Set as Default" button.
The last step is opening sipXconfig projects. All necessary configuration files are kept in subversion repository (these are .project and .classpath file in sipXconfig subdirectories) - it's easy to open projects in Eclipse by importing them.
All projects are automatically compiled in background. You are ready to go, at least for the Java projects. You need to add C++ support to be able to build everything from Eclipse; here's information; Eclipse for C++ projects
If building doesn't work; some tips: