Plugin documentation

Goals available:

freehep-nar:nar-assemblyAssemble libraries of NAR files.
freehep-nar:nar-compileCompiles native source files.
freehep-nar:nar-downloadDownloads any dependent NAR files. This includes the noarch and aol type NAR files.
freehep-nar:nar-integration-testRun integration tests using Surefire. This goal was copied from Maven's surefire plugin to accomodate a few things for the NAR plugin: 1. To test a jar file with its native module we can only run after the package phase, so we use the integration-test phase. 2. We need to set java.library.path to an AOL (architecture-os-linker) specific value, but AOL is only known in the NAR plugin and thus cannot be set from the pom. 3. To have the java.library.path definition picked up by java we need the "pertest" forkmode. To use this goal you need to put the test sources in the regular test directories but disable the running of the tests by the maven-surefire-plugin.
freehep-nar:nar-javahCompiles class files into c/c++ headers using "javah". Any class file that contains methods that were declared "native" will be run through javah.
freehep-nar:nar-packageJars up the NAR files.
freehep-nar:nar-resourcesCopies any resources, including AOL specific distributions, to the target area for packaging
freehep-nar:nar-system-generateGenerates a NarSystem class with static methods to use inside the java part of the library.
freehep-nar:nar-testCompileCompiles native test source files.
freehep-nar:nar-testTests NAR files. Runs Native Tests and executables if produced.
freehep-nar:nar-unpackUnpacks NAR files. Unpacking happens in the local repository, and also sets flags on binaries and corrects static libraries.