2011/7/31 Marshall Schor <[email protected]> > The addons build is now operating along the following lines: > > Each addon is built as if it were a single project. A common > target/base-bin is > created which has the main artifact plus dependencies, documentation > (including > javadocs) and LICENSE/NOTICE etc. for that project's binary distribution. > > This is zipped / tarred up to produce "single assemblies". > > This is zipped / tarred up as part of the aggregate addons big assembly. > > This is also used as the base for making the PEAR file (for the "annotator" > projects only) - this adds the PEAR installation xml file, and zips up as a > PEAR. > > This is also used as the base for making the OSGi file (for the "annotator" > projects only) - this adds the OSGi manifest, and deletes things like > documentation, which are not normally included in OSGi builds. > > --------------- > > The previous addons build did not create individual zips/tars of the > individual > projects - only the big aggregate ones. Also, the current process is only > producing source-release builds at the top level. So, I think I will > change the > build to only produce individual zips/tars of individual projects if you > run > maven on the individual projects with -Papache-release. This will make it > consistent with how it was before, and also make the source-release.zips > get > generated with the binary release. > > We also will need to decide on the distribution channels for the > individually > packaged addons, if and when we release them individually. The current > Apache > practice is to have the source and binary distributions for these come from > the > Apache mirror system. An alternative is to attach these as artifacts to > the > main artifact and include them in the Maven deploy to Maven Central. (or > both).
+1 for both > Currently, we "block" the maven distribution of these artifacts, and > only distribute via the Apache mirror system. > one more thing I think it'd be nice is to have different packagings of each addon on Maven Central so that one could include : <dependency> <groupId>org.apache.uima</groupId> <artifactId>BSFAnnotator</artifactId> <version>2.3.1</version> <type>jar</version> </dependency> or <dependency> <groupId>org.apache.uima</groupId> <artifactId>BSFAnnotator</artifactId> <version>2.3.1</version> <type>bundle</version> </dependency> depending on its specific needs. What do you think? > > -------------- > > So a bit more work to do - where we keep the structure for producing > individual > project source/bin zips/tars so we can easily enable it going forward, but > block > the generation of these when doing the aggregate distribution. > > And, I have yet to verify that the aggregate binary-version license/notice > files > are the concatenation of all the included projects' license/notice files > (with > duplicates removed). > > Also, I think the OSGi build, as it is currently used, will need to include > some > UIMA SDK jars? > At the moment I'm not sure which is the right choice here so I've not a strong opinion, only I think we should go the 'safer' way, that I think is including such jars. Tommaso
