You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by Paolo Castagna <ca...@googlemail.com> on 2011/11/21 21:19:29 UTC

JenaDist

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.

Two files are produced:

  apache-jena-2.6.5-incubating-SNAPSHOT-bin.zip (22 MB)
  apache-jena-2.6.5-incubating-SNAPSHOT-src.zip (19 MB)

The -bin.zip has this structure:

  bat/
  bin/
  bin2/
  javadoc/
    jena-arq/
    jena-core/
    jena-iri/
    jena-larq/
    jena-tdb
  lib/
  DISCLAIMER.txt
  LICENSE.txt
  NOTICE.txt
  README.txt

I failed to add a lib-src/ directory with the -sources.jar of our modules.

The -src.zip has this structure:

  jena-arq/
  jena-core/
  jena-dist/
  jena-iri/
  jena-larq/
  jena-tdb/
  jena-top/
  DISCLAIMER.txt
  LICENSE.txt
  NOTICE.txt
  README.txt

With this you are supposed to be able to recreate the -bin.zip file.
However, I had problems with the names of the directories and Eclipse
project names. My suggestion is to rename Eclipse project names as the
directories above. (There is also a comment in the pom.xml file and I
posted a patch which shows the changes that I would like we apply).

Please, have a look and let me know if you see problems.

Cheers,
Paolo

PS:
There are a few [WARNING] messages which I'd like to eliminate, but so
far I failed in doing so... the ones from Javadoc should be trivial, I
have not look at those (yet).

Re: JenaDist

Posted by Paolo Castagna <ca...@googlemail.com>.
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

Re: JenaDist

Posted by Benson Margulies <bi...@gmail.com>.
I'm holding off on being helpful until you all are clear on what
you're trying to do.

On Tue, Nov 22, 2011 at 5:31 AM, Paolo Castagna
<ca...@googlemail.com> wrote:
>
>
> Andy Seaborne wrote:
>> On 22/11/11 09:24, Paolo Castagna wrote:
>>>
>>>
>>> Andy Seaborne wrote:
>>>> On 21/11/11 23:31, Paolo Castagna wrote:
>>>>> Hi Andy
>>>>>
>>>>> Andy Seaborne wrote:
>>>>>> Paolo,
>>>>>>
>>>>>> I'm confused - could you explain how this would be used in our
>>>>>> release?
>>>>>
>>>>> Some examples:
>>>>>
>>>>> Apache Avro is a multi-module project: one single project, different
>>>>> modules.
>>>>> It is distributed here: http://www.apache.org/dist/avro/
>>>>> Maven artifacts are here:
>>>>> http://repo1.maven.org/maven2/org/apache/avro/
>>>>>
>>>>> Apache Whirr is a another multi-module project: one single project,
>>>>> different modules.
>>>>> Distributed here:
>>>>> http://www.apache.org/dist/incubator/whirr/whirr-0.6.0-incubating/
>>>>> Maven artifacts are here:
>>>>> http://repo1.maven.org/maven2/org/apache/whirr/
>>>>>
>>>>> Apache CXF
>>>>> http://www.apache.org/dist/cxf/
>>>>> http://repo1.maven.org/maven2/org/apache/cxf/
>>>>>
>>>>> Apache Lucene
>>>>> http://www.apache.org/dist/lucene/java/3.4.0/
>>>>> http://repo1.maven.org/maven2/org/apache/lucene/
>>>>>
>>>>
>>>> The /dist/ is a "-src" artifact.
>>>>
>>>> JenaDist does not build "-src" artifacts.
>>>>
>>>> "-src" are the artifacts that the vote for a release is about (now
>>>> called "source-release" if you use current RAT, which we do).  Avro does
>>>> not use RAT to do it, it uses ant.
>>>>
>>>> They are a complete copy of the release tree.
>>>>
>>>> But there aren't any for JenaDist, or rather it's 16Kbytes which is
>>>> rather unlikely (it's just JenaDist).
>>>>
>>>>> ...
>>>>>
>>>>> Do these cause you the same sort of confusion?
>>>>
>>>> They do not answer the question or rather they show that JenaDist isn't
>>>> complete.
>>>>
>>>> Where is the master artifact (artifacts?) that the vote is about?
>>>
>>> In the snapshot|staging repository (in addition to all the other
>>> artifacts we already have):
>>> https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-dist/2.6.5-incubating-SNAPSHOT/jena-dist-2.6.5-incubating-20111122.000215-1-src.zip
>>>
>>> https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-dist/2.6.5-incubating-SNAPSHOT/jena-dist-2.6.5-incubating-20111122.000215-1-bin.zip
>>>
>>
>> apache-jena-* seem to be copies of the build state, not the release tree
>>
>> 1/ There are lots of .class files
>> 2/ Directories have been renamed.
>>
>> It's produced by assembly-sources.xml from stuff processed (filtered,
>> selected etc) into target/ -- don't we need a true copy of the release
>> tree?
>>
>> The simple way to do that is a small script that zip/tars the right svn
>> trees.
>
> Ok, I am moving the JenaDist back to the Scratch area.
>
> Paolo
>
>>
>> Next up - release notes.
>>
>>     Andy
>>
>>> The name needs to change from jena-dist to apache-jena.
>>> <fileName>  does not work as you pointed out.
>>>
>>>> Have you run "mvn clean install -Papache-release" and looked at the
>>>> contents?  (I have - I see strange things.)
>>>
>>> I have been testing with mvn -Papache-release clean package.
>>> I'll see what happens with mvn clean install -Papache-release.
>>>
>>>> It's OK if JenaDist needs time to stabilize.  We do a more manual
>>>> process this time; I'll kludge something together when I have some time.
>>>
>>> Ack.
>>>
>>> Paolo
>>>
>>>>
>>>>      Andy
>>>>
>>>>>
>>>>> Paolo
>>
>

Re: JenaDist

Posted by Paolo Castagna <ca...@googlemail.com>.

Andy Seaborne wrote:
> On 22/11/11 09:24, Paolo Castagna wrote:
>>
>>
>> Andy Seaborne wrote:
>>> On 21/11/11 23:31, Paolo Castagna wrote:
>>>> Hi Andy
>>>>
>>>> Andy Seaborne wrote:
>>>>> Paolo,
>>>>>
>>>>> I'm confused - could you explain how this would be used in our
>>>>> release?
>>>>
>>>> Some examples:
>>>>
>>>> Apache Avro is a multi-module project: one single project, different
>>>> modules.
>>>> It is distributed here: http://www.apache.org/dist/avro/
>>>> Maven artifacts are here:
>>>> http://repo1.maven.org/maven2/org/apache/avro/
>>>>
>>>> Apache Whirr is a another multi-module project: one single project,
>>>> different modules.
>>>> Distributed here:
>>>> http://www.apache.org/dist/incubator/whirr/whirr-0.6.0-incubating/
>>>> Maven artifacts are here:
>>>> http://repo1.maven.org/maven2/org/apache/whirr/
>>>>
>>>> Apache CXF
>>>> http://www.apache.org/dist/cxf/
>>>> http://repo1.maven.org/maven2/org/apache/cxf/
>>>>
>>>> Apache Lucene
>>>> http://www.apache.org/dist/lucene/java/3.4.0/
>>>> http://repo1.maven.org/maven2/org/apache/lucene/
>>>>
>>>
>>> The /dist/ is a "-src" artifact.
>>>
>>> JenaDist does not build "-src" artifacts.
>>>
>>> "-src" are the artifacts that the vote for a release is about (now
>>> called "source-release" if you use current RAT, which we do).  Avro does
>>> not use RAT to do it, it uses ant.
>>>
>>> They are a complete copy of the release tree.
>>>
>>> But there aren't any for JenaDist, or rather it's 16Kbytes which is
>>> rather unlikely (it's just JenaDist).
>>>
>>>> ...
>>>>
>>>> Do these cause you the same sort of confusion?
>>>
>>> They do not answer the question or rather they show that JenaDist isn't
>>> complete.
>>>
>>> Where is the master artifact (artifacts?) that the vote is about?
>>
>> In the snapshot|staging repository (in addition to all the other
>> artifacts we already have):
>> https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-dist/2.6.5-incubating-SNAPSHOT/jena-dist-2.6.5-incubating-20111122.000215-1-src.zip
>>
>> https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-dist/2.6.5-incubating-SNAPSHOT/jena-dist-2.6.5-incubating-20111122.000215-1-bin.zip
>>
> 
> apache-jena-* seem to be copies of the build state, not the release tree
> 
> 1/ There are lots of .class files
> 2/ Directories have been renamed.
> 
> It's produced by assembly-sources.xml from stuff processed (filtered,
> selected etc) into target/ -- don't we need a true copy of the release
> tree?
> 
> The simple way to do that is a small script that zip/tars the right svn
> trees.

Ok, I am moving the JenaDist back to the Scratch area.

Paolo

> 
> Next up - release notes.
> 
>     Andy
> 
>> The name needs to change from jena-dist to apache-jena.
>> <fileName>  does not work as you pointed out.
>>
>>> Have you run "mvn clean install -Papache-release" and looked at the
>>> contents?  (I have - I see strange things.)
>>
>> I have been testing with mvn -Papache-release clean package.
>> I'll see what happens with mvn clean install -Papache-release.
>>
>>> It's OK if JenaDist needs time to stabilize.  We do a more manual
>>> process this time; I'll kludge something together when I have some time.
>>
>> Ack.
>>
>> Paolo
>>
>>>
>>>      Andy
>>>
>>>>
>>>> Paolo
> 

Re: JenaDist

Posted by Andy Seaborne <an...@apache.org>.
On 22/11/11 09:24, Paolo Castagna wrote:
>
>
> Andy Seaborne wrote:
>> On 21/11/11 23:31, Paolo Castagna wrote:
>>> Hi Andy
>>>
>>> Andy Seaborne wrote:
>>>> Paolo,
>>>>
>>>> I'm confused - could you explain how this would be used in our release?
>>>
>>> Some examples:
>>>
>>> Apache Avro is a multi-module project: one single project, different
>>> modules.
>>> It is distributed here: http://www.apache.org/dist/avro/
>>> Maven artifacts are here: http://repo1.maven.org/maven2/org/apache/avro/
>>>
>>> Apache Whirr is a another multi-module project: one single project,
>>> different modules.
>>> Distributed here:
>>> http://www.apache.org/dist/incubator/whirr/whirr-0.6.0-incubating/
>>> Maven artifacts are here: http://repo1.maven.org/maven2/org/apache/whirr/
>>>
>>> Apache CXF
>>> http://www.apache.org/dist/cxf/
>>> http://repo1.maven.org/maven2/org/apache/cxf/
>>>
>>> Apache Lucene
>>> http://www.apache.org/dist/lucene/java/3.4.0/
>>> http://repo1.maven.org/maven2/org/apache/lucene/
>>>
>>
>> The /dist/ is a "-src" artifact.
>>
>> JenaDist does not build "-src" artifacts.
>>
>> "-src" are the artifacts that the vote for a release is about (now
>> called "source-release" if you use current RAT, which we do).  Avro does
>> not use RAT to do it, it uses ant.
>>
>> They are a complete copy of the release tree.
>>
>> But there aren't any for JenaDist, or rather it's 16Kbytes which is
>> rather unlikely (it's just JenaDist).
>>
>>> ...
>>>
>>> Do these cause you the same sort of confusion?
>>
>> They do not answer the question or rather they show that JenaDist isn't
>> complete.
>>
>> Where is the master artifact (artifacts?) that the vote is about?
>
> In the snapshot|staging repository (in addition to all the other artifacts we already have):
> https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-dist/2.6.5-incubating-SNAPSHOT/jena-dist-2.6.5-incubating-20111122.000215-1-src.zip
> https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-dist/2.6.5-incubating-SNAPSHOT/jena-dist-2.6.5-incubating-20111122.000215-1-bin.zip

apache-jena-* seem to be copies of the build state, not the release tree

1/ There are lots of .class files
2/ Directories have been renamed.

It's produced by assembly-sources.xml from stuff processed (filtered, 
selected etc) into target/ -- don't we need a true copy of the release tree?

The simple way to do that is a small script that zip/tars the right svn 
trees.

Next up - release notes.

	Andy

> The name needs to change from jena-dist to apache-jena.
> <fileName>  does not work as you pointed out.
>
>> Have you run "mvn clean install -Papache-release" and looked at the
>> contents?  (I have - I see strange things.)
>
> I have been testing with mvn -Papache-release clean package.
> I'll see what happens with mvn clean install -Papache-release.
>
>> It's OK if JenaDist needs time to stabilize.  We do a more manual
>> process this time; I'll kludge something together when I have some time.
>
> Ack.
>
> Paolo
>
>>
>>      Andy
>>
>>>
>>> Paolo


Re: JenaDist

Posted by Andy Seaborne <an...@apache.org>.
On 22/11/11 09:24, Paolo Castagna wrote:
>
>
> Andy Seaborne wrote:
>> On 21/11/11 23:31, Paolo Castagna wrote:
>>> Hi Andy
>>>
>>> Andy Seaborne wrote:
>>>> Paolo,
>>>>
>>>> I'm confused - could you explain how this would be used in our release?
>>>
>>> Some examples:
>>>
>>> Apache Avro is a multi-module project: one single project, different
>>> modules.
>>> It is distributed here: http://www.apache.org/dist/avro/
>>> Maven artifacts are here: http://repo1.maven.org/maven2/org/apache/avro/
>>>
>>> Apache Whirr is a another multi-module project: one single project,
>>> different modules.
>>> Distributed here:
>>> http://www.apache.org/dist/incubator/whirr/whirr-0.6.0-incubating/
>>> Maven artifacts are here: http://repo1.maven.org/maven2/org/apache/whirr/
>>>
>>> Apache CXF
>>> http://www.apache.org/dist/cxf/
>>> http://repo1.maven.org/maven2/org/apache/cxf/
>>>
>>> Apache Lucene
>>> http://www.apache.org/dist/lucene/java/3.4.0/
>>> http://repo1.maven.org/maven2/org/apache/lucene/
>>>
>>
>> The /dist/ is a "-src" artifact.
>>
>> JenaDist does not build "-src" artifacts.
>>
>> "-src" are the artifacts that the vote for a release is about (now
>> called "source-release" if you use current RAT, which we do).  Avro does
>> not use RAT to do it, it uses ant.
>>
>> They are a complete copy of the release tree.
>>
>> But there aren't any for JenaDist, or rather it's 16Kbytes which is
>> rather unlikely (it's just JenaDist).
>>
>>> ...
>>>
>>> Do these cause you the same sort of confusion?
>>
>> They do not answer the question or rather they show that JenaDist isn't
>> complete.
>>
>> Where is the master artifact (artifacts?) that the vote is about?
>
> In the snapshot|staging repository (in addition to all the other artifacts we already have):
> https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-dist/2.6.5-incubating-SNAPSHOT/jena-dist-2.6.5-incubating-20111122.000215-1-src.zip
> https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-dist/2.6.5-incubating-SNAPSHOT/jena-dist-2.6.5-incubating-20111122.000215-1-bin.zip

Except I don't get these in my local repo - I get the real 
jena-dist-2.6.5-* from target and the apache- ones are lost.  Random 
chnace presumably.

	Andy

> The name needs to change from jena-dist to apache-jena.
> <fileName>  does not work as you pointed out.
>
>> Have you run "mvn clean install -Papache-release" and looked at the
>> contents?  (I have - I see strange things.)
>
> I have been testing with mvn -Papache-release clean package.
> I'll see what happens with mvn clean install -Papache-release.
>
>> It's OK if JenaDist needs time to stabilize.  We do a more manual
>> process this time; I'll kludge something together when I have some time.
>
> Ack.
>
> Paolo
>
>>
>>      Andy
>>
>>>
>>> Paolo


Re: JenaDist

Posted by Paolo Castagna <ca...@googlemail.com>.

Andy Seaborne wrote:
> On 21/11/11 23:31, Paolo Castagna wrote:
>> Hi Andy
>>
>> Andy Seaborne wrote:
>>> Paolo,
>>>
>>> I'm confused - could you explain how this would be used in our release?
>>
>> Some examples:
>>
>> Apache Avro is a multi-module project: one single project, different
>> modules.
>> It is distributed here: http://www.apache.org/dist/avro/
>> Maven artifacts are here: http://repo1.maven.org/maven2/org/apache/avro/
>>
>> Apache Whirr is a another multi-module project: one single project,
>> different modules.
>> Distributed here:
>> http://www.apache.org/dist/incubator/whirr/whirr-0.6.0-incubating/
>> Maven artifacts are here: http://repo1.maven.org/maven2/org/apache/whirr/
>>
>> Apache CXF
>> http://www.apache.org/dist/cxf/
>> http://repo1.maven.org/maven2/org/apache/cxf/
>>
>> Apache Lucene
>> http://www.apache.org/dist/lucene/java/3.4.0/
>> http://repo1.maven.org/maven2/org/apache/lucene/
>>
> 
> The /dist/ is a "-src" artifact.
> 
> JenaDist does not build "-src" artifacts.
> 
> "-src" are the artifacts that the vote for a release is about (now
> called "source-release" if you use current RAT, which we do).  Avro does
> not use RAT to do it, it uses ant.
> 
> They are a complete copy of the release tree.
> 
> But there aren't any for JenaDist, or rather it's 16Kbytes which is
> rather unlikely (it's just JenaDist).
> 
>> ...
>>
>> Do these cause you the same sort of confusion?
> 
> They do not answer the question or rather they show that JenaDist isn't
> complete.
> 
> Where is the master artifact (artifacts?) that the vote is about?

In the snapshot|staging repository (in addition to all the other artifacts we already have):
https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-dist/2.6.5-incubating-SNAPSHOT/jena-dist-2.6.5-incubating-20111122.000215-1-src.zip
https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-dist/2.6.5-incubating-SNAPSHOT/jena-dist-2.6.5-incubating-20111122.000215-1-bin.zip

The name needs to change from jena-dist to apache-jena.
<fileName> does not work as you pointed out.

> Have you run "mvn clean install -Papache-release" and looked at the
> contents?  (I have - I see strange things.)

I have been testing with mvn -Papache-release clean package.
I'll see what happens with mvn clean install -Papache-release.

> It's OK if JenaDist needs time to stabilize.  We do a more manual
> process this time; I'll kludge something together when I have some time.

Ack.

Paolo

> 
>     Andy
> 
>>
>> Paolo

Re: JenaDist

Posted by Andy Seaborne <an...@apache.org>.
On 21/11/11 23:31, Paolo Castagna wrote:
> Hi Andy
>
> Andy Seaborne wrote:
>> Paolo,
>>
>> I'm confused - could you explain how this would be used in our release?
>
> Some examples:
>
> Apache Avro is a multi-module project: one single project, different modules.
> It is distributed here: http://www.apache.org/dist/avro/
> Maven artifacts are here: http://repo1.maven.org/maven2/org/apache/avro/
>
> Apache Whirr is a another multi-module project: one single project, different modules.
> Distributed here: http://www.apache.org/dist/incubator/whirr/whirr-0.6.0-incubating/
> Maven artifacts are here: http://repo1.maven.org/maven2/org/apache/whirr/
>
> Apache CXF
> http://www.apache.org/dist/cxf/
> http://repo1.maven.org/maven2/org/apache/cxf/
>
> Apache Lucene
> http://www.apache.org/dist/lucene/java/3.4.0/
> http://repo1.maven.org/maven2/org/apache/lucene/
>

The /dist/ is a "-src" artifact.

JenaDist does not build "-src" artifacts.

"-src" are the artifacts that the vote for a release is about (now 
called "source-release" if you use current RAT, which we do).  Avro does 
not use RAT to do it, it uses ant.

They are a complete copy of the release tree.

But there aren't any for JenaDist, or rather it's 16Kbytes which is 
rather unlikely (it's just JenaDist).

> ...
>
> Do these cause you the same sort of confusion?

They do not answer the question or rather they show that JenaDist isn't 
complete.

Where is the master artifact (artifacts?) that the vote is about?

Have you run "mvn clean install -Papache-release" and looked at the 
contents?  (I have - I see strange things.)

It's OK if JenaDist needs time to stabilize.  We do a more manual 
process this time; I'll kludge something together when I have some time.

	Andy

>
> Paolo

Re: JenaDist

Posted by Paolo Castagna <ca...@googlemail.com>.
Hi Andy

Andy Seaborne wrote:
> Paolo,
> 
> I'm confused - could you explain how this would be used in our release?

Some examples:

Apache Avro is a multi-module project: one single project, different modules.
It is distributed here: http://www.apache.org/dist/avro/
Maven artifacts are here: http://repo1.maven.org/maven2/org/apache/avro/

Apache Whirr is a another multi-module project: one single project, different modules.
Distributed here: http://www.apache.org/dist/incubator/whirr/whirr-0.6.0-incubating/
Maven artifacts are here: http://repo1.maven.org/maven2/org/apache/whirr/

Apache CXF
http://www.apache.org/dist/cxf/
http://repo1.maven.org/maven2/org/apache/cxf/

Apache Lucene
http://www.apache.org/dist/lucene/java/3.4.0/
http://repo1.maven.org/maven2/org/apache/lucene/

...

Do these cause you the same sort of confusion?

Paolo

> 
> When I looked at the weekend, it seemed to be building a zip file by
> using dependences.  That made sense to me - each project is made (using
> -Papache-release to get the required "source-release" artifacts - these
> are the gold zips that the vote is actually on.  The jars and
> distributions are secondary; they just happen to be what people actually
> use).  We now have all the bytes in the maven repo.
> 
> Then run JenaDist to repacked these bytes into a zip file so people
> aren't forced to use maven to get Jena.
> 
> 
> Now JenaDist seems to be building jars - which means the jars are
> different from those places in "source-release" artifacts.
> 
> I didn't get anything I understood from -Papache-release (it has
> duplicate files).  -Papache-release produces the master file with
> classifier "source-release" which is the thing that is technically
> released.
> 
> jena-dist-2.6.5-incubating-SNAPSHOT-source-release.zip is 16849 bytes.
> 
> 
> As this is basically a one-shot release (or at least a few), my
> understanding from looking at the weekend was that by using
> dependencies, we got the jars we needed (the same jars as the build of
> each project produced - they have build timestamps burnt into them), and
> then if there were a bash script before hand that copies in the other
> files (e.g. release notes for each module)  and then run maven to
> assembly the thing nicely.  OK - it's not beautiful but it ships exactly
> the bytes of the other project's builds.  "sources" can be done crudely
> if you don't get a response from maven-users@
> 
> 
> By the way - if you use <finalName> in an assembly plugin, then
> "install" it, the name changes:
> 
> I see this:
> 
> [INFO] Installing
> /home/afs/Projects/JenaDist/target/apache-jena-2.6.5-incubating-SNAPSHOT-bin.zip
> to
> /home/afs/.m2/repo/org/apache/jena/jena-dist/2.6.5-incubating-SNAPSHOT/jena-dist-2.6.5-incubating-SNAPSHOT-bin.zip
> 
> 
> apache-jena-2.6.5-incubating-SNAPSHOT-bin.zip
> =>
> jena-dist-2.6.5-incubating-SNAPSHOT-bin.zip
> 
> but as RAT produces file jena-dist-2.6.5-incubating*
> 
> I gave up trying to produce anything other than a zip with the artifact
> name.  <finalName> is only useful if you don't install.
> 
>     Andy
> 
> 
> On 21/11/11 20:19, 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.
>>
>> Two files are produced:
>>
>>    apache-jena-2.6.5-incubating-SNAPSHOT-bin.zip (22 MB)
>>    apache-jena-2.6.5-incubating-SNAPSHOT-src.zip (19 MB)
>>
>> The -bin.zip has this structure:
>>
>>    bat/
>>    bin/
>>    bin2/
>>    javadoc/
>>      jena-arq/
>>      jena-core/
>>      jena-iri/
>>      jena-larq/
>>      jena-tdb
>>    lib/
>>    DISCLAIMER.txt
>>    LICENSE.txt
>>    NOTICE.txt
>>    README.txt
>>
>> I failed to add a lib-src/ directory with the -sources.jar of our
>> modules.
>>
>> The -src.zip has this structure:
>>
>>    jena-arq/
>>    jena-core/
>>    jena-dist/
>>    jena-iri/
>>    jena-larq/
>>    jena-tdb/
>>    jena-top/
>>    DISCLAIMER.txt
>>    LICENSE.txt
>>    NOTICE.txt
>>    README.txt
>>
>> With this you are supposed to be able to recreate the -bin.zip file.
>> However, I had problems with the names of the directories and Eclipse
>> project names. My suggestion is to rename Eclipse project names as the
>> directories above. (There is also a comment in the pom.xml file and I
>> posted a patch which shows the changes that I would like we apply).
>>
>> Please, have a look and let me know if you see problems.
>>
>> Cheers,
>> Paolo
>>
>> PS:
>> There are a few [WARNING] messages which I'd like to eliminate, but so
>> far I failed in doing so... the ones from Javadoc should be trivial, I
>> have not look at those (yet).
> 

Re: JenaDist

Posted by Andy Seaborne <an...@apache.org>.
Paolo,

I'm confused - could you explain how this would be used in our release?

When I looked at the weekend, it seemed to be building a zip file by 
using dependences.  That made sense to me - each project is made (using 
-Papache-release to get the required "source-release" artifacts - these 
are the gold zips that the vote is actually on.  The jars and 
distributions are secondary; they just happen to be what people actually 
use).  We now have all the bytes in the maven repo.

Then run JenaDist to repacked these bytes into a zip file so people 
aren't forced to use maven to get Jena.


Now JenaDist seems to be building jars - which means the jars are 
different from those places in "source-release" artifacts.

I didn't get anything I understood from -Papache-release (it has 
duplicate files).  -Papache-release produces the master file with 
classifier "source-release" which is the thing that is technically released.

jena-dist-2.6.5-incubating-SNAPSHOT-source-release.zip is 16849 bytes.


As this is basically a one-shot release (or at least a few), my 
understanding from looking at the weekend was that by using 
dependencies, we got the jars we needed (the same jars as the build of 
each project produced - they have build timestamps burnt into them), and 
then if there were a bash script before hand that copies in the other 
files (e.g. release notes for each module)  and then run maven to 
assembly the thing nicely.  OK - it's not beautiful but it ships exactly 
the bytes of the other project's builds.  "sources" can be done crudely 
if you don't get a response from maven-users@


By the way - if you use <finalName> in an assembly plugin, then 
"install" it, the name changes:

I see this:

[INFO] Installing 
/home/afs/Projects/JenaDist/target/apache-jena-2.6.5-incubating-SNAPSHOT-bin.zip 
to 
/home/afs/.m2/repo/org/apache/jena/jena-dist/2.6.5-incubating-SNAPSHOT/jena-dist-2.6.5-incubating-SNAPSHOT-bin.zip

apache-jena-2.6.5-incubating-SNAPSHOT-bin.zip
=>
jena-dist-2.6.5-incubating-SNAPSHOT-bin.zip

but as RAT produces file jena-dist-2.6.5-incubating*

I gave up trying to produce anything other than a zip with the artifact 
name.  <finalName> is only useful if you don't install.

	Andy


On 21/11/11 20:19, 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.
>
> Two files are produced:
>
>    apache-jena-2.6.5-incubating-SNAPSHOT-bin.zip (22 MB)
>    apache-jena-2.6.5-incubating-SNAPSHOT-src.zip (19 MB)
>
> The -bin.zip has this structure:
>
>    bat/
>    bin/
>    bin2/
>    javadoc/
>      jena-arq/
>      jena-core/
>      jena-iri/
>      jena-larq/
>      jena-tdb
>    lib/
>    DISCLAIMER.txt
>    LICENSE.txt
>    NOTICE.txt
>    README.txt
>
> I failed to add a lib-src/ directory with the -sources.jar of our modules.
>
> The -src.zip has this structure:
>
>    jena-arq/
>    jena-core/
>    jena-dist/
>    jena-iri/
>    jena-larq/
>    jena-tdb/
>    jena-top/
>    DISCLAIMER.txt
>    LICENSE.txt
>    NOTICE.txt
>    README.txt
>
> With this you are supposed to be able to recreate the -bin.zip file.
> However, I had problems with the names of the directories and Eclipse
> project names. My suggestion is to rename Eclipse project names as the
> directories above. (There is also a comment in the pom.xml file and I
> posted a patch which shows the changes that I would like we apply).
>
> Please, have a look and let me know if you see problems.
>
> Cheers,
> Paolo
>
> PS:
> There are a few [WARNING] messages which I'd like to eliminate, but so
> far I failed in doing so... the ones from Javadoc should be trivial, I
> have not look at those (yet).