incubator-ctakes-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Coarr, Matt" <mco...@mitre.org>
Subject Re: SVN source structure for Apache cTAKES?
Date Thu, 19 Jul 2012 14:09:59 GMT
+1 for a single trunk with all the subprojects below it.  It makes checking out the whole code
base and tagging/branching much easier.  So marking all the components as ctakes 2.6 would
be a lot simpler.

+1 for multiple jars.  Maven encourages a good practice here that is useful in projects whether
or not they use maven — each project should produce one main jar (it may produce additional
jars for things like source and javadocs).  This keeps a nice clean one-to-one association
between projects and jar files.

+1 on using the standard src/main/java type directory structure.  This is very commonly used
and I don't think we should invent our own.  It makes it easy for newcomers to just know where
everything is without thinking about it.

+1 for encouraging building of unit tests and examples.  I'd suggest keeping examples in their
own projects (core, core-examples, assertion, assertion-examples, etc).  This makes it obvious
where the examples are and it doesn't clutter up the primary release binary.

+1 for the common package structure and naming, though I think this probably needs some more
thought than just adopting whatever comes first.  All of our modules have some similar pieces
seeing as their uima components doing nlp work (analysis engine, configuration/resources,
training, decoding, evaluation, etc).

I agree that models/resources to be managed specially.  I'd like to see these managed (on
the deployment/release side) as maven artifacts.

For these models, if we do keep them in svn, I'd like to suggest that we do not keep them
under the common root trunk/tags/branches.  These files are easily hundreds of MB to gigabytes.
 And I'd like to see the svn operations perform quickly.  I'd also like to be able to have
multiple version of ctakes checked out.

Maybe we could use something like this:

ctakes/modules/trunk
ctakes/modules/trunk/core
ctakes/modules/trunk/lvg
ctakes/resources/trunk
ctakes/resources/trunk/lvg-model
ctakes/resources/trunk

Then if you're not working on model development, you just need to check out ctakes/modules/trunk,
and maven would pull in any resources as needed.

Matt

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message