You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by Marshall Schor <ms...@schor.com> on 2010/03/29 15:09:05 UTC

release / build simplification

Toward this goal, I think I have found a way to make each maven artifact
independently buildable (and even releasable).  The key is to remove the
cross project dependencies on having other checked-out things.

To do this I would make these 3 changes:

1) separate pom functions: into parent poms (whose function is to factor
out common things) and "aggregate" poms (whose function is to aggregate
other modules - so they can be built and released as one thing).

2) replace our docbook tooling with the maven docbkx plugin - I've tried
this on a small piece of documentation, and it seems like with a bit of
work, it could be configured to fit our docbook usage.

3) replace our dependency on copying license/notice boilerplate from the
uimaj-distr project checkout, with the approach used in the apache.org
pom - using the maven remote-resources plugin to get it.

When this is done, it will no longer be important exactly how svn
checkouts occur, since we won't be depending on relative directory
coordinates to do builds (with the exception of aggregate poms).  For
aggregate poms, these would always be checked out with the sub-modules
they are aggregating, since that's their purpose.  But with this, if
someone wanted to checkout and build a sandbox annotator, they could
just do that one project.

With this approach, we could transition to a scheme whereby we would not
update submodules that don't change from release to release, if we so
desired (I think that would be a good idea). 

I'll push forward with seeing if I can get our big docbooks to build
properly using the docbkx plugin.

What do others think about this direction?

-Marshall

Re: release / build simplification - progress on using docbk maven plugin

Posted by Marshall Schor <ms...@schor.com>.
Good progress on docbook tooling -

I've now succeeded in getting one of our more complex "books" to build
with docbk.  The fonts work, the images work, and the olink cross-book
linking seems to be working.

Next, I'll see if I can get all of the uima books to build and cross
reference.

-Marshall

On 3/29/2010 9:09 AM, Marshall Schor wrote:
> Toward this goal, I think I have found a way to make each maven artifact
> independently buildable (and even releasable).  The key is to remove the
> cross project dependencies on having other checked-out things.
>
> To do this I would make these 3 changes:
>
> 1) separate pom functions: into parent poms (whose function is to factor
> out common things) and "aggregate" poms (whose function is to aggregate
> other modules - so they can be built and released as one thing).
>
> 2) replace our docbook tooling with the maven docbkx plugin - I've tried
> this on a small piece of documentation, and it seems like with a bit of
> work, it could be configured to fit our docbook usage.
>
> 3) replace our dependency on copying license/notice boilerplate from the
> uimaj-distr project checkout, with the approach used in the apache.org
> pom - using the maven remote-resources plugin to get it.
>
> When this is done, it will no longer be important exactly how svn
> checkouts occur, since we won't be depending on relative directory
> coordinates to do builds (with the exception of aggregate poms).  For
> aggregate poms, these would always be checked out with the sub-modules
> they are aggregating, since that's their purpose.  But with this, if
> someone wanted to checkout and build a sandbox annotator, they could
> just do that one project.
>
> With this approach, we could transition to a scheme whereby we would not
> update submodules that don't change from release to release, if we so
> desired (I think that would be a good idea). 
>
> I'll push forward with seeing if I can get our big docbooks to build
> properly using the docbkx plugin.
>
> What do others think about this direction?
>
> -Marshall
>
>
>