MODE-1386 Updated Maven assemblies, corrected dependencies, and added examplesThe Maven assemblies were corrected (a bit; still work to do to create usable distributions),but several dependencies were removed and two examples were added to the codebase (but not tothe build yet).
MODE-1128 Eliminated the dependency on JCIP and its annotationsChanged the POM and Java source to eliminate the dependency on JCIP annotations. ModeShapewas using only 4 of the annotations (number of corresponding import statements is listed in parentheses):net.jcip.annotations.GuardedBy (10)net.jcip.annotations.Immutable (310)net.jcip.annotations.NotThreadSafe (95)net.jcip.annotations.ThreadSafe (97)These were replaced with new annotations in 'org.modeshape.common.annotation' that are semanticallyand lexically the same as the JCIP annotations.The 'net.jcip' dependency was removed from all POMs. This change should be backward compatible.If user code is explicitly using these annotations within Maven projects, they will have to have explicitdependencies, and when upgrading to 2.5.0.Beta2 they will not have any issues. Similarly, non-Mavenprojects will already have the JCIP JAR on their classpath, and can remove the library if they are notexplicitly using it.All unit and integration tests continue to pass with these changes.
MODE-1104 Changed build to work in a single passPrior to this change, someone running a ModeShape build for the first time had to run two separate commands:'mvn -Pintegration install' and 'mvn -Passembly install'. It also used aggregator goals for JavaDoc andassemblies, which fork a new build process for each invocation and which can result in a build that doesdouble work (if they're included in the main build process). Plus, because the JavaDoc and assembly usageswere in the parent POM, the JavaDoc and assemblies were produced before the modules were compiled; on a machinein which 'mvn install' was not yet run, this caused an error.Now, the assembly operation is defined in a child module called 'modeshape-distribution' and the assemblydescriptors are referenced as being on the classpath since they're now defined in a new'modeshape-assembly-descriptors' module. The end result is that, on a fresh machine on which ModeShapehas not yet been built, the source for ModeShape can be downloaded and completely built using a singlecommand: 'mvn -Passembly install'.This commit moves quite a few files around and restructures a number of the POM files, but does not affectany of the Java source code.