Getting the “real” URL of a Maven project in a Velocity template… should have been easy.

So, it’s Friday evening, and all I’m left to do if fix our generated NOTICE.txt files.

We’re using the Maven Remote Resources Plugin to generate all sorts of files, like a README.txt, NOTICE.txt and a LICENSE.txt.

The Notice file is supposed to contain a list of all other software used by the one in which the file is built; typically, libraries, etc. It is meant to say who wrote that software, what license it’s using, and provide links to all those resources.

Now, we realized a couple months ago that this in fact did not output the expected URLs in all cases. Here’s an example:

This product includes/uses software(s) developed by 'Magnolia International Ltd.' (http://www.magnolia-cms.com)
  - magnolia-core (http://www.magnolia-cms.com/magnolia-core)
      License: GPLv3  (http://www.gnu.org/licenses/gpl-3.0.txt)
      License: Magnolia Network Agreement  (http://www.magnolia-cms.com/mna.html)
  - magnolia-gui (http://www.magnolia-cms.com/magnolia-gui)
      License: GPLv3  (http://www.gnu.org/licenses/gpl-3.0.txt)
      License: Magnolia Network Agreement  (http://www.magnolia-cms.com/mna.html)

And what I’ve been spending the last couple of hours fighting, is those two completely bogus URLs to magnolia-core and magnolia-gui. They don’t exist. They’re certainly not referenced as such in our POM files. So what’s going on ?
Continue reading