I recently had an issue with many Maven repositories being part of the same project source code, while not sharing a common aggregate pom. Although the rationale behind a setup like this is often well justified, that does not make it any easier for developers working on source code across such a scattered strucutre. With this in mind I decided to create a node command line tool which recursively runs any supplied maven command on all maven projects found under the current working directory. MVNR does an honest attempt at figuring out which of the known maven artifacts need to be built first. In other words mvnr tries to figure out which of the artifacts under the current working directory needs to be built first in order for other artifacts to successfully be built with these as dependencies, recursively.
npm install -g mvnr
After this you can run maven commands as you normally would by issuing the ‘mvnr’ command, and mvnr will figure out what directories it needs to run them on.
mvnr clean install
since mvnr uses ‘mvn -f’, which some plugins unfortunately do not respect, you may have pom configurations which have plugins using relative paths which assume cwd. This will not work very well.
|24 May 2013||»||mvnr: recursive mvn command runner|
|23 May 2013||»||Query By Example for JPA|
|22 May 2013||»||gitr: recursive git command runner|
|21 May 2013||»||Keeping gh-pages branch in sync with master|
|19 May 2013||»||Migrated to jekyll and github pages|
|14 Aug 2012||»||Using Sublime Text 2 as git commit message editor|
|10 Mar 2012||»||QRGen, a small wrapper on top of ZXING for generating QRCodes in java|
|04 Jan 2012||»||My Bash PS1 with git branch info|
|17 Aug 2010||»||Making a swing project using IntelliJ IDEA GUI builder with maven, Including executable jar|
|01 May 2010||»||Using Arquillian to test against a remote jboss container from within IDEA|
|06 Apr 2010||»||WELD/CDI lightningtalk from Know IT 2010 annual conference|
|03 Apr 2010||»||Solving Sudoku using java swing and junit|
|01 Mar 2010||»||Simple CDI/WELD login example|
|01 Mar 2010||»||Implementing @RequestParam in CDI/WELD using Qualifier and InjectionPoint as @HttpParam|
|01 Nov 2009||»||Seam Maven Refimpl|