Last updatedDec 18, 2017

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

.

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.

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

ojdbc6com.oracle:ojdbc611.2.0.2.0Download 'ojdbc6.jar' under 'Oracle Database 11g Release 2 (11.2.0.2.0) JDBC Drivers'

jta

jta:jta

1.0.1B

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.

    The jta library is downloaded as .zipfile and before you can install this library into your local Maven repository:

    1
    2
    3
    4
    5
    6
    7
    8
    -   **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:**
    
        ``` xml
        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 downloadsdirectory, enter the following commands:

    1
    2
    3
    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
        ```
  3. 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 support.atlassian.com and attach the full output from the script to your support request.