This page last changed on Feb 14, 2006 by david@randombits.org.

The build.properties file contains project properties specific to the specific developer's environment. It should NOT be checked into source control, or it will break other people's build environment. Also, properties which should apply to the project independent of the build environment should be put in project.properties instead.

As well as the properties listed below, you can override any of the properties specified in project.properties, so it may be worth checking those options too.

Below are some examples of common properties which may need to be set in your environment.

Maven Properties

Remote Repositories

This property allows you to specify remote repositories which Maven can download dependent libraries from. In general, this should be specified in project.properties, however there are some occasions where a repository isn't available (eg. it is a private repository inside an organisation) and outsiders will have to get the libraries from elsewhere. This should be avoided if possible.

maven.repo.remote=file:../lib,http://repository.atlassian.com,http://www.ibiblio.org/maven

Proxy Settings

If you are behind a firewall, you may need to specify how Maven can get through your proxy server. Only complete the ones which are required for your server.

## Specify these properties if you are behind a proxy server
maven.proxy.host=192.168.0.1
maven.proxy.port=8080
maven.proxy.username=xxx
maven.proxy.password=yyy
maven.proxy.ntlm.host=server
maven.proxy.ntlm.domain=domain

IntelliJ IDEA Properties

If you are using the 'atlassian-idea' plugin to build your project files, there are several custom properties available to make project setup simpler.

Jikes

You can specify that IDEA uses the open-source Jikes compiler if you wish.

atlassian.idea.jikespath=/path/to/jikes

JDK

Usually, however, you'll be using one of the standard JDKs set up in IDEA. Specify the name that IDEA has given the JDK here. You can find the name by opening IDEA and selecting 'File > Settings', then 'JDK & Global Libraries'. The value you need is in the 'Name' field of the JDK.

atlassian.idea.jdk.name=1.4

Source Code

If you have access to the Confluence or JIRA source code, it can be handy to have your linked libraries referencing that source code when debugging. You can specify a basic set of source code links by pointing the plugin at the root of the downloaded source distribution. Debugging will still work fine without it, but it will get lost once the trace leaves your plugin code.

atlassian.idea.src.relative.location=../confluence-2.1-src

Global Libraries

Sometimes you will need to specify extra global libraries that need to be linked to by your project. Often these are items like JDBC drivers, and are more often required when setting up Confluence or JIRA as a whole, rather than a plugin project. However, this is where you do it.

atlassian.idea.global.libraries.to.enable=mysql

Application Server Settings

These properties will only be relevant in the project files for Confluence or JIRA, not plugin projects. They point to your app server installation(s). Currently supported are Tomcat 4 & 5, Resin 2 & 3, and Orion.

Only include/uncomment the ones you actually have installed.

atlassian.idea.tomcat.location=~/apache-tomcat-5.5.12
atlassian.idea.resin3.location=~/resin3
atlassian.idea.resin.location=~/resin2
atlassian.idea.orion.location=~/orion

Application Server Settings

Once you've picked your application server, the following wil specify how the web application is launched.

The settings below will allow you to access the running server at http://localhost:8080/confluence:

# port on which Confluence will listen
atlassian.idea.application.port=8080
# the context root at which Confluence will be deployed
atlassian.idea.application.webapp.contextpath=confluence

WAR Settings

Again, these are not relevant for plugin projects and in fact should not be present. These should already be set for you in later versions of Confluence and JIRA, but it's good to check them.

maven.multiproject.type=war
maven.war.webxml=src/webapp/WEB-INF/web.xml
maven.war.webapp.dir=target/exploded

Database Settings

If you are using an external database, set this up as documentation dictates. Confluence and JIRA build.properties files have some instructions for common database engines which should be fairly easy to adapt to your environment.

Document generated by Confluence on May 01, 2007 19:27