Adding dependencies in bamboo java specs

Chris Johnston
Contributor
June 14, 2018

Is there a way to get around this requirement for bamboo java specs?

  • it's sufficient to compile your project with bamboo-specs and bamboo-specs-api dependencies only - don't add extra dependencies

 We have a large number of repositories.  Each repository has bamboo specs stored with it.  However, many tasks defined in those plans are common.

As such, I'd like to create a utility helper class and put all of the job tasks within that utility.    That utility class can then be versioned and published to a nexus repository -- which could then be used as a dependency within each bamboo spec plan.....

Right now, there doesn't seem to be a way to do this -- and I would have to have copies of the utility class in every single repository .... which makes one of the major points of moving the plan into code not very useful.... since I still have to edit every single plan in order to fix a bug in one of the common tasks.

Any help is appreciated.

1 answer

1 accepted

1 vote
Answer accepted
Gabriel Ribeiro
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 14, 2018

Hi Chris,

Did you try to set the dependencies at the BAMBOO_INSTALL/atlassian-bamboo/WEB-INF/classes/bamboo-specs-pom.xml file?

thanks

Chris Johnston
Contributor
June 15, 2018

I figured this out.  I did edit the above file, in order to add a <repositories> section in there to point to our own nexus server.  However, when I did this, I had <snapshots><enabled>false</enabled></snapshots> my utility class was currently building snapshot versions only.  This ended up being the problem.

The <dependency> information seems to work properly in the project itself and I did not need to modify the 2 default dependencies in the bamboo-specs-pom.xml file.

Looks like the bullet in your product documentation is wrong, since it does work with additional maven dependencies.

pascalsnippen
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
August 2, 2018

How do you handle updates made in the utility? Do you have a trigger that all repositories update their specs?

Chris Johnston
Contributor
August 2, 2018

It's not the best, but once the utility gets re-published to nexus, then you have to go back through all the repositories and trigger a publish-specs (mvn -Ppublish-specs).

I just created a script that will do this, and made it a plan in bamboo itself... so after a new utility version is published, you just go execute the "update all plans" plan which basically just iterates through all the repositories, does a shallow clone of each, goes into the bamboo-specs directory and runs mvn -Ppublish-specs

Hugo
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
September 25, 2018

Hello @Gabriel Ribeiro

We are facing the same problem. I have one question about that file.

Are the changes persisted during bamboo updates?

 

Regards,

Hugo

Andrea_Di_Lisio March 5, 2020

Hello @Chris Johnston , 

What do you mean exactly with this ? 

which basically just iterates through all the repositories

I'm interested in having something like this, but I cannot get a proper way of managing this. Is this something you just scripted or implemented along with Java specs ?

Thank you,

Andrea

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events