On Tue, 2011-09-06 at 13:06 +0100, Andy Seaborne wrote:

[Great set of thoughts.]

> == Goals
[snip]
> + A single download zip file  for using Jena as a library
> 
> + A single jar file for using Jena as a library

+1 for goals overall and for the notion of a single jar.

I'd like (as in, I would put work into this) to also have osgi support. 

Suggest:

o the jena-one-jar would also be marked as an OSGI bundle (easy to do
via maven bundle plugin)

o a third top level download, jena-complete, which is the jena-one-jar
plus dependent jars (i.e. xerces, slf4j/log4j etc) packaged as an single
jar/OSGI bundle. 

The latter is not *necessary* for OSGi support but the way we/I
currently work with OSGi makes it easier to have reasonably chunky
self-contained bundles than do the fine grain dependency management at
the OSGi level. 

This can also be used via "java -jar jena-complete.jar ..." to run any
of the command line utilities which would save some support list load on
classpath advice :)


> == Possible build layout.

OK with going for maven multi-module project structure.

Given comments on the "Build experiments" thread I wonder if we a want
sub-project structure as well. A possible structure might be:

  Jena sub-project
    modules
      JenaSys
      IRI
      Atlas
      RIOT
      ARQ
      TDB?

      Jena (one jar and zip) - just for building integrated artefact
      JenaComplete           - just for building integrated artefact

  Website sub-project

  SDB sub-project

  Fuseki sub-project

  Eyeball sub-project

So sub projects can be independently checked out and the Jena
sub-project can then be hierarchical.

If we went the sub-project route then it might make sense to have TDB as
a separate sub-project as well since that is under more active
development. Depends partly on whether we feel TDB should be part of
jena-one-jar or separate (I noted your "maybe?" on that, have no settled
view myself).

> === Questions and notes.
> 
> 1/ We currently make some attempt to deliver the test suite in the zip 
> so people can locally run it to check an installation.  From memory, the 
> only thing this seems to catch is problems running the test suite, not 
> problems with installation.  Maybe it's not worth the effort.

Not worth the effort.

> 3/ For RDB, I propose creating a maven module and putting the code here 
> with a dependency of whatever version of Jena it is at the time then 
> leaving it frozen.  Alternatively, zip up the code and dump somewhere in 
> case anyone wants to port it.

Prefer former (create module then leave frozen) but OK with either.

> 4/ Shall we leave the documentation out of the build and just have it on 
> the website?

Yes, except for some minimal "getting started" documentation in the zip
that references the website for details.

> 5/ Jump to maven 3?

If that risks any increase in maven/m2e unpredictability then no :) but
I've no knowledge of what the specific issues might be.

Dave




Reply via email to