BNM v0.0.5

BNM is not Maven.
BNM is rather a prof of possible enhancements to Maven.

Get Started

Get the BNM launcher: de.bb.tools.bnm.launcher-0.0.5.zip (or set the version string inside your existing batch file to 0.0.5)
It downloads the remaining required artifacts into your repository and relaunches BNM using the specified version.
Once the launcher got all required files, it never attempts to redownload them. Why? Because it doesn not use SNAPSHOT version and thus the content won't change.

How good is BNM

BNM is able to build its own project tree and is more than 3 times faster than Maven. Not everything is implemented yet, but BNM can build itself :-)
There is also an eclipse integration using the BNM eclipse plugin. Please use the eclipse update site http://www.bebbosoft.de/plugins to install the feature.
installbnm.png
Once installed learn how to use it here.

Can I use existing pom.xml files?

Yes you can! Right now not all plugins are present. Since BNM does not use Maven plugins a replacement plugin must exist. Each replacement plugin maps itself to the maven id (ignoring the maven version). BNM runs its own plugins on your existing pom.xml files.
Since BNM is more a proof that Maven could be much faster, there is still hope that Maven will improve. Nevertheless it is futile to wait. The best way today is to use BNM and Maven in parallel: - use BNM to compile/build during your development cycle - use Maven for everything else This also reduces the need for many plugins (deployment etc. pp).

Can I code own plugins?

Yes you can. And you don't need any special processing to create a plugin since BNM uses Java annotations to attach the pom.xml values to plugin instances.
Still be aware that BNM plugins must be thread safe! If your plugins hooks some third party stuff which isn't thread safe, synchronize the invokation in the plugins code.

Feedback

Also checkout http://www.bebbosoft.de/bugs/ to enter bugs, requests and so on.

License

BNM is published under GPLv3. The sources are bundled into the JAR files.
If you need a commercial license feel free to contact us.

Features


Internals

If you plan to use a tool like BNM it is important to know how everything works together.

Ingredients

First the ingredients:

merge order

Those are merged in this order to create a resolved pom (see below how merge works). So how does this merge work? Once the resolved pom is created are applied. And finally the properties are resolved which results into the effective pom.

merge mechanics

The merge mechanism takes a parent pom.xml and a child pom.xml and performs the following steps: of the parent pom.xml are replaced with the values of the child pom.xml, even when null. are merged by applying this algorithm to the elements recursively.
rev: 1.23 2009-11-15 15:56:17 +0000