On 17/10/2011 11:18, Ate Douma wrote:
On 10/17/2011 12:08 PM, Ross Gardler wrote:
On 16 October 2011 21:15, Ate Douma<[email protected]> wrote:
On 10/16/2011 07:59 PM, Scott Wilson wrote:
On 16 Oct 2011, at 15:13, Ate Douma wrote:
Hi Scott,
I looked at the download you provided and I have several comments and
questions, which is why I opened this separate DISCUSS thread to
not pollute
the vote thread itself.
First of all, I assume the target for this artifact is the Maven
central
repository, right?
For that purpose, I think we'll then need a 'proper' maven artifact
build, which means includes a maven project pom (dependency
resolution,
general project and artifact meta-data), and preferably also a
-sources.jar
and -javadoc.jar artifact for IDE support etc.
Maven based builds of course can produce such additional artifacts
as a
trivial by-product, given a proper maven pom that is, but as Wookie
currently is using ivy (which I don't know nothing about) I don't
know how
such things are done the ivy way.
I also noticed the binary jar has the sources embedded, which is
kind of
unusual nowadays (I think). Not really wrong, but unexpected.
The LICENSE and NOTICE files are contained within the root of the jar
while these IMO should be provided under the META-INF/ folder.
I really think, as a minimum, a proper maven pom is required to
even be
able to upload to the Maven repository, and such pom should
provide proper
dependency resolutions. Can ivy 'generate' such a maven pom
automatically?
If not, I really think the java connector module should be (also)
build
by maven itself then, which also will make it much easier to
'stage' the
artifact first through repository.apache.org (Nexus) and after
release
automatically 'publish' it to Maven central. If you need to do
this manually
I have no idea how that (nowadays) works.
OK, all this is now generated correctly using the new Ant/Ivy
scripts in
0.9.1, but it wasn't in place for 0.9.0, so we'd have to sort out
all the
artifacts, pom etc manually.
An alternative is we just get a move on with the 0.9.1 release,
including
the full server, and both the connector, and parser subprojects. As
we only
have a few issues left to resolve it may actually be quicker....
If the 0.9.1 version is almost already, yes it might indeed be
quicker...
I haven't been able to review this yet, but is the (ivy) build
also/already
able to deploy a 0.9.1-SNAPSHOT connector to the Apache snapshot
repository?
If so, I'd suggest doing that as it would immediately make it
discoverable
by Rave (and for any Maven repository using project). It also makes it
possible to proper test the integration before the release!
Now that is a good idea. Releasing the 0.9.1 connector now will allow
me to proceed with the Rave integration. As far as I am aware there
are no backward incompatible changes in the 0.9.1 connector. If
someone can push a 0.9.1-Snapshot I'm happy to re-prioritise my work
on the Rave integration in order to test this release candidate.
Of course, adding a Wookie connector 0.9.1-SNAPSHOT dependency will
make it
a 'blocker' on getting Wookie 0.9.1-incubating released and
available from
the official Maven Central repository before we can release Rave next
(0.5-incubating) which should be end of this month...
As I note above I think we can release the 0.9.1 connector before the
0.9.1 Wookie, there is no need for them to have the same release
cycles.
I agree it would be good for the connector(s) to have their own
release cycle.
However, right now the (java) connector is 'embedded' within a single
Wookie svn trunk (== release lifecycle scope). To make them
independent the connector(s) should be moved into a separate svn base
folder with their own trunk/tags/branches first.
Heres a few of my thoughts...
(1) We already have 0.9.1 snapshots for both the parser and the java
connector found in the apache snapshot repo
-
https://repository.apache.org/content/groups/snapshots/org/apache/wookie/
Is there anything to stop the rave integration work going ahead by
using this snapshot (as long as its an up to date version, or does it
have to be a RELEASE version)
My understanding is that snapshots are periodically uploaded, but
dont need to be voted on - unlike a RELEASE version which does need to
be voted on.
(note we didnt have maven artifacts for wookie 0.9.0 because we
didnt build them at the time and there were no ant/ivy tasks written to
build them in the that branch.)
We already have the infrastructure in wookie using ivy/ant to
automatically build & deploy the maven artifacts to the snapshot repo.
(including the POM file), independently of making a full wookie release.
(As of 0.9.1 - unreleased) The only bit that is missing is to finish off
the ivy/ant task for doing the RELEASE versions of the maven artifacts,
as the script isnt picking up the generated wookie-src.jar &
wookie-javadoc.jar files yet.
I can understand the logic of having separate modules not only for the
connector, but also the parser sub project. I have recently talked to
Scott about perhaps moving away from ant/ivy after this release and
going fully over to maven. (either for 0.9.2 or 0.9.3) I think we should
probably either raise a vote on this list or at least create a jira
issue, after this release.
In any case having separate modules for these makes sense whether we use
maven or not.
We are now down to the list few issues do be able to make a RC1-0.9.1 soon.
So, do we want to do refactor out the two subprojects before or after 0.9.1?
Paul
Ate
Ross
Ate
Ate Douma
As an side-note: I noticed the current wookie (main) download page
only
provides the links to the binary distributions. I was kind of
surprised by
that, until I found out that the sources download is provided on a
separate
page. Not sure how this is viewed by others, but the common (ASF)
practice
is to promote the source distributions as the primary artifacts and
typically the sources and optionally also the binary downloads are
provided
from the main download page.
On 10/15/2011 02:17 PM, Scott Wilson wrote:
In order to integrate Wookie and Rave we need a published
non-snapshot
version of the Java Connector framework.
While we do have the 0.9.1 release coming soon, it would be good to
publish the 0.9.0 version of the connector to the repository
given the full
0.9.0 release is already available, just so we can get Wookie-Rave
integration into the next Rave release.
The scope of the release is the following artifact:
http://people.apache.org/~scottbw/wookie-connector/
[ ] +1 approve
[ ] +0 no opinion
[ ] -1 disapprove
S