Hi, Jukka, It's really great to get some experienced person review of what we're doing here, and your comments are most appreciated!
> Hi, > > On Fri, Oct 22, 2010 at 2:02 PM, Marshall Schor <[email protected]> wrote: >> The advantage, I think, of this approach is that the UIMA distribution >> without >> the build tooling is buildable from source using just the one mvn install; >> Maven >> obtains the build tooling needed from maven central, via Maven's remote >> artifact >> fetching mechanism, just like it would obtain the common Apache POM. > OK, I see what you're after. The best way to handle this would > probably to treat such cases as two parallel releases (one for the > build tools, one for the dependant codebase) that are covered by a > single vote ([VOTE] Release UIMA-SDK vX and build tools vY). Right, that's what I'm thinking. > More generally though, there are 14 POMs in uima/build/trunk, > including *8* parent poms. Are these all really necessary? I don't > know the details of the UIMA build that well, but this seems pretty > excessive compared to other Maven projects I've worked with. This may be due to (excessive perhaps) refactoring. The original intent was to separate into individual parent poms particular aspects of the build which were not necessarily needed by all projects. So, for instance, there is a docbook parent pom - it adds stuff needed for processing docbooks. And there is an xxx -ibm-notice - this changes the normal "notice" for source files to include additional text the incubator told us we needed to keep for copyrights moved from original sources we got from IBM. Only those projects that need this specify that parent, for instance. The "parent-pom-distr" adds the assembly step we use to assemble our source and binary distributions for UIMA and UIMA-AS. We could merge many of these (maybe all) into one parent, and then put in some logic that activated the right parts of the pom based on what the project being built, needed. Is that a better way? -Marshall >> I do see one small issue: Our current source README refers to the UIMA >> website >> for instructions on how to build, using maven. But over time, change will >> happen :-) - so the source bundle ought to be more self-contained, and have >> those instructions (on how to build) directly in the README, instead of via a >> reference to the website. They are quite tiny, something like: >> >> a) download/install Maven 3 >> b) unzip the source distribution >> c) cd to a directory (depending on what it is you want to build) and do mvn >> install > Right, it would be great to have a README.txt with this information at > the top of all trunks. For example, the build instructions for Apache > Tika are [1]: > > Tika is based on Java 5 and uses the Maven 2 <http://maven.apache.org/> > build system. To build Tika, use the following command in this directory: > > mvn clean install > > Ideally the UIMA build instructions should be just as simple. Yes, once a project is released, then to build it just takes that one "mvn install" command, done in the right directory, so it should be identical to yours. There is a difference, though, for building the non-released trunk version - some bootstrapping is needed in your maven settings file, I think. (See other parts of this thread). If you have a way around that, I'd love to hear about that, too :-) -Marshall > [1] http://svn.apache.org/repos/asf/tika/trunk/README.txt > > BR, > > Jukka Zitting > >
