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

How to build a repository which is depending on another repository

Raymond Lee February 27, 2018

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.
April 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

Raymond Lee May 2, 2018

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

Raymond Lee May 2, 2018

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 7, 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