Hi Nick, Thanks for the questions, I'll try to explain.
The parent pom aggregates a library (jar) from different and sometimes interdependent modules. The parent pom checks out the module sources with the poms and compiles them into a single jar. I was using the modules pattern in in the parent pom to make the BOM easier (less confusing) to manage. I was also using scm plugin for multi-module checkouts. Independently, multi-module builds and multi-module checkouts work perfectly. When I mix the SCM plugin with the multi-module build, reactor first checks if the module's poms exist prior to checkout. I was wondering whether there was a way to defer the pom check until after checkout. After reviewing reactor code, I found that is not possible without changes. It looks like the release plugin interacts with reactor in a complimentary process. On 2019/03/24 11:31:28, Nikki Novak <[email protected]> wrote: > Gary, > > Having modules residing in other repositories is not a problem... > > ...but why do they not have a pom.xml ? > > ...Is the POM on a different branch ? > ...Are the modules using ANT or gradle instead ? > ...Are you auto-generating POMs ? > > Like, I'm really scratching my head trying to figure out what is going on > here ? > > If the only thing you need to do is checkout, then you could add a git > submodule and add the folder to the maven aggregator ? > The git submodule always points to a specific commit (until you update the > reference). > > Would that be a viable option for your purpose(s) ? > > Nick > > ________________________________ > From: garym@ <oedata.com [email protected]> > Sent: Sunday, March 24, 2019 1:26 AM > To: [email protected] > Subject: Re: Need help.. How to configure POM for multi-module checkout > > Hi Karl, > > Thank you for replying on mail server. and thanks for sending me the links to > you project poms. They look awesome. > > The is a difference between your projects and my situation. Your projects all > the modules reside in the same repository. In my case, they reside in > different repositories. > > I elected to use the scm plugin because it allows me to select branches and > tags, based on the project and development requirements. I didn't suspect > reactor would check for poms before executing the life cycle. > > I'm sure this has been solved by someone in the past. I just don't know how > to solve it using maven. I can solve it with a bunch of execute blocks, but > that is very ugly. I'm going to look at the release plugin and a few others > > It's likely I'm using the wrong plugin or I'm missing a plugin. > > BTW, I like your iterator plugin > > cheers > gary > > > > > On 2019/03/23 23:56:48, Karl Heinz Marbaise <[email protected]> wrote: > > Hi, > > > > I will give you the same answer as on StackOverflow. > > > > The way you are going sounds wrong... > > > > As I already suggested is the way to go creating a multi module build > > which comprises of several modules which is located within a single Git > > repository. this can be build by using a single command. > > > > > > mvn clean package > > > > from the root location.. > > > > https://github.com/khmarbaise/javaee > > https://github.com/khmarbaise/supose > > > > Kind regards > > Karl Heinz Marbaise > > > > On 24.03.19 00:35, Gary M wrote: > > > Hi, > > > > > > I need some help with scm checking out multiple modules and building them. > > > I have several projects I'm consolidating into a single jar. Reactor > > > checks for module poms before generate-sources executes. > > > > > > How do I fix this issue ? > > > > > > thanks.. > > > g > > > > > > POM sample to give you an idea of what I've done. > > > <plugins> > > > <plugin> > > > <groupId>org.apache.maven.plugins</groupId> > > > <artifactId>maven-scm-plugin</artifactId> > > > <version>1.9.4</version> > > > <executions> > > > <execution> > > > <id>mod-1</id> > > > <phase>generate-sources</phase> > > > <configuration> > > > <connectionUrl>${mod-1.url}</connectionUrl> > > > <scmVersionType>${mod-1.versionType}</scmVersionType> > > > <scmVersion>${mod-1.version}</scmVersion> > > > <checkoutDirectory>${mod-1.directory}</checkoutDirectory> > > > </configuration> > > > <goals> > > > <goal>checkout</goal> > > > </goals> > > > </execution> > > > <execution> > > > <id>mod-2</id> > > > <phase>generate-sources</phase> > > > <configuration> > > > <connectionUrl>${mod-2.url}</connectionUrl> > > > <scmVersionType>${mod-2.versionType}</scmVersionType> > > > <scmVersion>${mod-2.version}</scmVersion> > > > <checkoutDirectory>${mod-2.directory}</checkoutDirectory> > > > </configuration> > > > <goals> > > > <goal>checkout</goal> > > > </goals> > > > </execution> > > > </executions> > > > > > > ..... > > > > > > </build> > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
