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/12/14 19:23:38 UTC

[DISCUSS] tuning building from sources for different use-cases

Currently, the build-from-sources for UIMA Java SDK, UIMA-AS and Add-ons is
targeted at two use-cases:

1) build by UIMA developers for incremental development

2) build by release managers for releasing (triggered by mvn
release:prepare/perform or using mvn ... -Papache-release profile)

A 3rd possible use-case exists: building by non-UIMA developers who want a
simple build from source.  This build could omit steps which would be only of
interest to UIMA developers (such as running RAT).  Other things that could be
omitted for this use case include
- unit tests
- docbook building
- javadoc creation (currently done only for the building of the binary
distribution - for other cases, it's turned off)
- building the binary distribution

Should any of these be omitted? Did I miss anything else?

Finally, should we have this kind of build?  If we did, we would need some way
to have UIMA developers signal these should be included.

Any feedback on how other Apache projects handle this would be appreciated.

-Marshall

Re: [DISCUSS] tuning building from sources for different use-cases

Posted by Marshall Schor <ms...@schor.com>.
On 12/14/2010 1:23 PM, Marshall Schor wrote:
> Currently, the build-from-sources for UIMA Java SDK, UIMA-AS and Add-ons is
> targeted at two use-cases:
>
> 1) build by UIMA developers for incremental development
>
> 2) build by release managers for releasing (triggered by mvn
> release:prepare/perform or using mvn ... -Papache-release profile)
>
> A 3rd possible use-case exists: building by non-UIMA developers who want a
> simple build from source.  This build could omit steps which would be only of
> interest to UIMA developers (such as running RAT).  Other things that could be
> omitted for this use case include
> - unit tests
> - docbook building
> - javadoc creation (currently done only for the building of the binary
> distribution - for other cases, it's turned off)
> - building the binary distribution
>
> Should any of these be omitted? Did I miss anything else?
>
> Finally, should we have this kind of build?  If we did, we would need some way
> to have UIMA developers signal these should be included.
>
> Any feedback on how other Apache projects handle this would be appreciated.

After thinking about this some more, I think that a good approach might be to
move the following build processes to work only if the "apache-release" profile
is specified.  This profile is used when "releasing", but can of course be
specified by anyone who cares, by adding -Papache-release.

The build processes moved here would be just those involved in doing an apache
release, or building the release artifacts (the source-release or binary
distribution).  So for instance, (following the suggestion made by Jukka in
https://issues.apache.org/jira/browse/UIMA-1967, we would move the binary build
step under this profile.  And per this thread, we would move the Rat checking
under this profile.  Note that the javadoc creation for the "public" APIs is
part of the binary build - so it would also be done only when the apache-release
profile is selected.

The other suggested processes (running Unit test, docbook building) are
generally useful for non-Apache UIMA development, I would continue to have them
run for non- "apache-release" builds.

I'll open a Jira to do this, but as always, please feel free to improve this
approach :-) .

-Marshall
> -Marshall
>
>