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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.