Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,558,898
Community Members
 
Community Events
184
Community Groups

How to build a repository which is depending on another repository

Hi all,

I have very little experience in using bamboo and really hope to get some hints on the question I am facing.

I have one system which splits into two respositories in stash, let's say project A and B and B requires the jar/classes built from project A to complete it build process. In project B pom.xml, it states the dependency 

<dependency>
<groupId>com.project.A</groupId>
<artifactId>ProjectA</artifactId>
<version>1.0.0-SNAPSHOT</version>

.....

 

and when running maven on project A, we need to run "clean install" instead of "clean package" such that project B can access the project A binary. 

I found that it makes our build not easy to manage and I think there should be other way that Project A produces jar/classes binaryin one respostory and project B can get this binary into its build process. But I still cannot find out a way in bamboo how to achieve this purpose.

Can some of you share your experience in such build process scenario ? 

I look at some artices in web and still cannot get it work in bamboo.

Do I need to remove the dependency in project B and direct reference to the jar in build process ? 

If any of you can show me the way, I will be very appreciated your help.

Please kindly help

Thanks fo ryour kind attention,

Ray

 

 

1 answer

0 votes
Gabriel Ribeiro
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
Apr 26, 2018

Hi Ray, 

I'm not sure if I understood it correctly but, have you tried to make the jars produced by the Proj A available as artifacts and then download them during the Proj B build process?

Another thing that you could try is to create a local maven repository and add the jar files produced by Proj A there using a solution described in the following StackOverflow thread:

Does that make any sense to your use case?


Thank you.

best,
Gabriel Ribeiro

Hi Gabriel,

Really thanks for your reply, your understanding is correct, actually, I know how to share one project artifacts to another project, but within the same repository. I am not really sure if this principle can be applied to two separate repository artifact sharing in build process. 

I have also explored your suggestion to use a local maven repository, is it an approach that create a local (or temporary) repository with maven pom instructions, then one project "clean install" its package into the local/temporary repository and another project tries to reference the local/temporary repository installed artifacts in build process.

Really appreciate you can help me on this topic

 

Many thanks,

Ray

Hi Gabriel,

For sharing artifact from another repository, how the pom.xml be referening the artifact at runtime ?

Would you share me your idea ?

Many thanks,

Ray

Gabriel Ribeiro
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 07, 2018

Hi Rey,

I think this solution would be the best approach but, you can reference your jar file directly like this:

<dependency>
    <groupId>com.sample</groupId>
    <artifactId>sample</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/resources/yourJar.jar</systemPath>
</dependency>

thanks

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events