Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.2.2
-
None
Description
Converge the many, often slightly different sandbox builds into a more maintainable structure, achieving the following:
- common pear packaging for those projects making a pear, including standardized setting of the pear-id, and the copying of any "lib" files found via dependency plugin to the pear lib dir..
- common preparation of the "bin" and "src" assembly parts, to make the assembly step easier and consistent. The assembly step will be very minimal, because each project will have pre-built in target/bin/<artifactId> and target/src/<artifactId> the set of files that should go into the "bin" and "src" distributions. This approach allows using the maven inheritance mechansim to factor out common operations, so they are more maintainable (versus using a very large and complex "assembly" descriptor).
- common obtaining of 3rd party Jars to be distributed with sandbox projects, and putting of these into both the "bin" distribution (assembly) and the pear (if one is generated). Also, any other contents of a top level lib/ will be copied to both of these places in the lib/ directory.
- common setting of scopes for dependencies for included uima components - some set to "provided", others to "test". The correct scopes are needed to make the dependency pluging reliably pick the right Jars to put into the lib.
- common build of documentation (if available) from docbook sources, and placing that in both the "bin" assembly, and also in a project/"docs" directory - where the intent is that it will be checked in to SVN, and the website can link to this as "online" documentation for the sandbox projects.
- common copying of generated docs into pear
- now that dependencies are being used to get the 3rd party jars, review these to insure all the right jars are being obtained, and adjust the dependencies as needed.
- for those project using a top level folder "desc" to hold descriptors, include these descriptors in the generated main Jar, where they can be then referenced by "name". Example: the Whitespace Annotator did this, and the Tagger used this to conveniently run the Whitespace Annotator without using/installing a PEAR.
- common copying of required LICENSE/NOTICE/DISCLAIMER, plus README files to the src/bin assemblies, and to the PEAR if one is generated.
- common copying of top level desc and resources directories to the bin, src, (automatically done for PEAR by pear-packaging-plugin)