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 2011/07/30 00:06:26 UTC

building addon binary assemblies

The build system for addons now has each project copying into target/base-bin
the set of artifacts that should go into various forms of binary
builds/assemblies, including plain zips, PEARs, and OSGi files; this is reused
for all of these packagings.

When it's time to build the overall aggregate of all the addons, in the
uima-addons project, I also want to reuse these; then the binary assembly just
puts all of these things together.

But the bin.xml file to do this is kind of big and unwieldly.  So I think
there's probably a better way to do this.  But all I can think of is to write
some kind of custom maven plugin (which would require climbing a lot of learning
curves).  Anyone have thoughts on better ways to do this?

Here's what the binary build looks like:

  <fileSets> 
  <!-- incorporate base-bin's from all sub projects -->

    <!-- AlchemyAPIAnnotator -->

    <fileSet>
      <outputDirectory>Annotators/AlchemyAPIAnnotator</outputDirectory>
      <directory>AlchemyAPIAnnotator/target/base-bin</directory>
      <excludes><exclude>**/*.sh</exclude></excludes>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>
    </fileSet>
    <fileSet>
      <outputDirectory>Annotators/AlchemyAPIAnnotator</outputDirectory>
      <directory>AlchemyAPIAnnotator/target/base-bin</directory>
      <includes><include>**/*.sh</include></includes>
      <fileMode>755</fileMode>
      <directoryMode>755</directoryMode>
    </fileSet>

    <!-- BSFAnnotator -->

    <fileSet>
      <outputDirectory>Annotators/BSFAnnotator</outputDirectory>
      <directory>BSFAnnotator/target/base-bin</directory>
      <excludes><exclude>**/*.sh</exclude></excludes>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>
    </fileSet>
    <fileSet>
      <outputDirectory>Annotators/BSFAnnotator</outputDirectory>
      <directory>BSFAnnotator/target/base-bin</directory>
      <includes><include>**/*.sh</include></includes>
      <fileMode>755</fileMode>
      <directoryMode>755</directoryMode>
    </fileSet>
 
...

repeat for each project, ...

Any clever (or other?) ideas appreciated...

-Marshall