Building a Bamboo War Distribution From Source

This guide describes building a atlassian-bamboo-web-app.war distribution from the Bamboo source code. Plugin developers who wish to use source code as an aid in building plugins should also refer to the Setting up Bamboo Development Environment in IDEA documentation.

Building a war distribution

You can download Bamboo Source code from our website if you have a Commercial License. If you do not have access to the source code download site, log in to my.atlassian.com as your billing contact or contact our sales department.

Bamboo is built using Maven. When you build Bamboo, Maven will download dependencies and store them in a local repository. Some of these dependencies require manual installation for legal distribution reasons. Maven will tell you, as you build, which dependencies it requires you to download.

Coping with Sun JAVA libraries

Due to licensing restrictions, we are not allowed to re-distribute native SUN libraries through our maven2 public repositories.
If you are developing plugins for Bamboo or building Bamboo from source, you might need javax.mail and javax.transaction:jta:jar for Bamboo to build successfully. Please visit our confluence page on Working with Sun JAVA libraries for further details.
Maven has also provided documentation for both 3rd party jars in general and Sun jars in particular.

  1. Install Maven 2.0.7
  2. Install JDK 1.5 (Doesn't work with 1.4 ).
  3. Download the settings.xml BAMBOO:attached to this page, to your <USER_HOME>/.m2/ directory
  4. Install all of the following restricted third party (.jar) libraries to your local Maven repository (.m2), ensuring that you download the version specified below. All of these libraries are required to successfully build Bamboo from source. If any of these libraries are missing, the build process will fail.
    (info) Due to licensing restrictions, we are unable to distribute these third party libraries from Atlassian's public Maven repository. If you have built previous versions of JIRA from source, you may already have some of these libraries in your local Maven repository.

    Libraries

    Maven groupId and artifactId

    Version

    Download URL

    ojdbc6 com.oracle:ojdbc6 11.2.0.2.0 http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html (Download 'ojdbc6.jar' under 'Oracle Database 11g Release 2 (11.2.0.2.0) JDBC Drivers')

    jta

    jta:jta

    1.0.1B

    http://www.oracle.com/technetwork/java/javaee/jta/index.html

    (Download 'Class Files 1.0.1B')


    To install these restricted third party libraries:

    1. Download each one (from its link above) into a directory on your file system, for example, downloads in your home directory area.
      1. (warning)The jta library is downloaded as .zipfile and before you can install this library into your local Maven repository:
        • On Windows:
          Use Windows Explorer to enter the downloads directory and rename the jta-1_0_1B-classes.zip file to jta-1_0_1B-classes.jar
        • On Mac/Linux:

          cd $HOME/Downloads
          mv jta-1_0_1B.zip jta-1_0_1B.jar
    2. Once you have downloaded, expanded and renamed each of these libraries, install them into your local Maven repository. For example, in your downloads directory, enter the following commands:

      mvn install:install-file -DgroupId=jta -DartifactId=jta -Dversion=1.0.1 -Dpackaging=jar -Dfile=jta-1_0_1B-classes.jar
      mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.2.0 -Dpackaging=jar -Dfile=ojdbc6.jar
  5. In the atlassian-bamboo directory run mvn clean package -Dmaven.test.skip=true -Pall.

If the build is run successfully you should have a atlassian-bamboo-web-app-*.war file created in ../atlassian-bamboo/bamboo-web-app/target/. If the build was unsuccessful, please take a look at our Troubleshooting Page for some more common errors otherwise create a support issue at http://support.atlassian.com and attach the full output from the script to your support request.

Was this page helpful?

Have a question about this article?

See questions about this article

Powered by Confluence and Scroll Viewport