Paolo Castagna wrote:
> Hi,
> I've added a JenaDist module here:
> https://svn.apache.org/repos/asf/incubator/jena/Jena2/JenaDist/trunk/
> 
> 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-distribution.zip
    - apache-jena-2.6.5-incubating-SNAPSHOT-source-release.zip
    - 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 -source-release.zip

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

 - README.txt with description of what the -distribution.zip and
   -source-release.zip 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:
   
https://repository.apache.org/content/repositories/snapshots/org/apache/jena/apache-jena/2.6.5-incubating-SNAPSHOT/
   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:
https://cwiki.apache.org/confluence/display/JENA/ProcessRelease
Two good examples are:
 - http://sling.apache.org/site/release-management.html
 - https://cwiki.apache.org/WHIRR/how-to-release.html

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 -distribution.zip and
-source-release.zip files above as well as a single jar with|without
dependencies.

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:
https://svn.apache.org/repos/asf/maven/maven-3/trunk/apache-maven/
... it's the Maven module to build the Apache Maven distribution:
http://www.apache.org/dist/maven/source/

Paolo

 [1] http://markmail.org/thread/tqyj7qzklnxsz2kc
 [2] 
https://repository.apache.org/content/repositories/snapshots/org/apache/jena/apache-jena/2.6.5-incubating-SNAPSHOT/apache-jena-2.6.5-incubating-20111122.161500-2-distribution.zip
 [3] 
https://repository.apache.org/content/repositories/snapshots/org/apache/jena/apache-jena/2.6.5-incubating-SNAPSHOT/apache-jena-2.6.5-incubating-20111122.161500-2-jar-with-dependencies.jar
 [4] 
https://repository.apache.org/content/repositories/snapshots/org/apache/jena/apache-jena/2.6.5-incubating-SNAPSHOT/apache-jena-2.6.5-incubating-20111122.161500-2-one-jar.jar

Reply via email to