The question you need to ask when splitting among repositories is about
what the release cycle is.

If things *always* _have to_ be released together, then they should be in
the same repo.

If things *sometimes* (at least twice) _just might_ be released
independently (i.e. Where one gets an additional release from the other),
then they must be in separate repos.

Life is simpler if you do not have -SNAPSHOT dependencies across repos.

Now having said all that, you can set up your parent to pull the children
into its reactor *if they are present* by using profiles with file based
activation to declare the modules... it's not pretty, but it does work.
Hopefully for Maven 5 we can have a better solution.

My normal approach is to instead create a "throwaway aggregator only pom"
that pulls in everything and build that. The aggregator pom could be
created on the fly before you build and would reference the parent and all
the child modules. That removes the pain of profiles in the parent and sets
up the reactor for you such that everything is discovered by Maven

HTH


On Sat 11 Mar 2017 at 11:04, paul b <pblake...@gmail.com> wrote:

> Thanks David for your response.  I appreciate your comments.  So, I would
> like to build the project from the parent so could do the following.  Doing
> this gives me the ability to build all projects from the parent and to
> build indivdual projects too!  Which is what I want to achieve from
> jenkins.  Although from the git repository point I dont want the parent to
> have the responsibility of all the projects.  I want each individual
> project to have their own git repo.  That makes sense to me.  I would like
> to know if there are any possible solutions from a git point?  It doesnt
> seem like this solution is scalable?
>
> Parent
>
> +-pom.xml
>
> +-Project1
>
>   +-module1
>
>     +-pom.xml
>
>   +-module2
>
>     +-pom.xml
>
> +-Project2
>
>   +-module1
>
>     +-pom.xml
>
>   +-module2
>
>     +-pom.xml
>
>
> On Friday, 10 March 2017 18:43:06 UTC, David Karr wrote:
>
> On Fri, Mar 10, 2017 at 8:53 AM, paul b <pbla...@gmail.com> wrote:
> > I have several projects that are multi module projects that are like the
> > following
> >
> > Project1
> > +-module1
> >   +-pom.xml
> > +-module2
> >   +-pom.xml
> >
> > Each project is configuration controlled in git as their own project
> >
> > Now, I have created a parent project with the following flat structure.
> > This is because I would like to keep each project with its own git
> project.
> > That seems sensible for me???
>
> A basic rule for deciding where you should separate things into their
> own git repository is whether the two things need to be built
> together.  If they need to be built together, then keep them in the
> same repository.  The structure you've defined is not "sensible".
>
> > Parent
> > +-pom.xml
> > Project1
> > +-module1
> >   +-pom.xml
> > +-module2
> >   +-pom.xml
> >
> > Project2
> > +-module1
> >   +-pom.xml
> > +-module2
> >   +-pom.xml
> >
> > The parent pom references each project like the following
> >
> >   <modules>
> >     <module>../project1</module>
> >     <module>../project2</module>
> >   </modules>
> >
> > This is fine as per maven documentation and all works ok locally but
> when I
> > build this from Jenkins I run into issues.  This is because Jenkins cant
> > find the pom file for each project.  Basically this is down to the flat
> > directory structure!  Is there any way in Jenkins that I can get over
> this
> > issue?
>
> Fix the problem in your repository structure, not in Jenkins.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jenkinsci-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/5d99a764-5c68-452b-b7fc-a6f3a43640ab%40googlegroups.com
> <https://groups.google.com/d/msgid/jenkinsci-users/5d99a764-5c68-452b-b7fc-a6f3a43640ab%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
-- 
Sent from my phone

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/CA%2BnPnMz4cjycoZ8%2B7o2LJMoRqBtg4%3DqGfHknwxC9RKLE90DFkg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to