incubator-jena-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paolo Castagna <>
Subject Re: JenaDist
Date Tue, 22 Nov 2011 17:08:45 GMT
Paolo Castagna wrote:
> Hi,
> I've added a JenaDist module here:
> The aim of this module is to create the Apache Jena distribution
> (including jena-core, jena-iri, jena-arq, jena-larq and jena-tdb).
> It is not perfect, but it's better than nothing.

Still not perfect, but some progress:

 - Files created have been renamed to:
    - apache-jena-2.6.5-incubating-SNAPSHOT-jar-with-dependencies.jar
    - apache-jena-2.6.5-incubating-SNAPSHOT-one-jar.jar

 - apache-jena-2.6.5-incubating-SNAPSHOT-jar-with-dependencies.jar
   is a single jar which includes jena-core, jena-arq, jena-iri, jena-larq
   and jena-tdb as well as their dependencies.

 - apache-jena-2.6.5-incubating-SNAPSHOT-one-jar.jar
   is a single jar which includes jena-core, jena-arq, jena-iri, jena-larq
   and jena-tdb but not their dependencies.

 - classes/* directories have been filtered out from the

 - BUILD.txt with instructions on how to use jena-dist has been added
   target audience: release manager

 - README.txt with description of what the and files contain as well as instructions on how to use
   "install" Apache Jena has been added. Target audience: Jena users.

 - An example of output produced running "mvn -Papache-release deploy" is here:
   I did not test it with mvn -Papache-release release:prepare and
   mvn -Papache-release release:perform since these commands will change
   pom.xml removing -SNAPSHOT from the versions and tag the source on SVN
   appropriately. It's possible to revert from that.
   Running with mvn install | mvn package should be fine.

 - TODO.txt with pending tasks/improvements and a known issue has been added

jena-dist does not remove the need for a Jena release process document:
Two good examples are:

jena-dist does not interfere with the independent life cycle of each of
the Jena modules (i.e. jena-core, jena-iri, jena-arq, jena-larq, jena-tdb,
etc.). It is possible, for example, to release jena-arq without the need to
use or interact with jena-dist.

The aim of jena-dist is to produce the and files above as well as a single jar with|without

jena-dist is an attempt to satisfy the goals stated here [1], in particular:
+ Balance cost of change and benefit
  ==> no change to the existing modules, 1 day+night
+ A single download zip file for using Jena as a library
  ==> [2] (~ 26 MB)
+ A single jar file for using Jena as a library
  ==> [3,4] with|without dependencies

Currently not satisfied goal is:
+ a single obviously-named Maven artifact - at the moment, a single
  dependency to pull is e.g. TDB because that pulls in the rest,
  which isn't exactly obvious.
At the moment, I am not sure how best to achieve this and if it is better
to have something separate or it can be done directly in jena-dist.
There is still a <moduleSets> vs. <dependencySets> investigation to evaluate
pros/cons. Maybe it's possible to use <dependencies> and satisfy this goal
as well.

I left JenaDist where it is now in SVN, but if a better and simpler solution
comes along, I am happy to scrap it (== move it back to the Scratch area).
Consider JenaDist as a practical/pragmatic proposal which, if does not work
for us, we can simply drop.

An example of a similar approach is available here:
... it's the Maven module to build the Apache Maven distribution:



View raw message