I completely agree with Uwe and Hoss. These questions need to be addressed first.

I still want to be able to only checkout Lucene code and run the Lucene build independently from Solr. And Lucene needs to be able to release without Solr and the branching/tagging needs to support that as Uwe points out.

 Michael

On 3/16/10 12:18 AM, Uwe Schindler wrote:
Hi all,

I don't want to be against all other developers that voted +1 for the SVN 
"merge", but I am not happy with it. Most importantly for the reasons Hoss 
mentioned:

: prime-time as the new solr trunk!  Lucene and Solr need to move to a
: common trunk for a host of reasons, including single patches that can
: cover both, shared tags and branches, and shared test code w/o a test
: jar.

Without a clearer picture of how people envision development "overhead"
working as we move forward, it's really hard to understand how any of
these ideas make sense...
   1) how should hte automated build process(es) work?
   2) how are we going to do branching/tagging for releases?
particularly
in situations where one product is ready for a rlease and hte other
isn't?
   3) how are we going to deal with mino bug fix release tagging?
   4) should it be possible for people to check out Lucene-Java w/o
checking out Solr?
That are important questions and not simply to solve!

(i suspect a whole lot of people who only care about the core library
are
going to really adamantly not want to have to check out all of Solr
just
to work on the core)
Exactly! The Solr checkout is really huge because of thousands of JAR files and 
so on. The badest thing we could do would be to merge all those JARs into one 
general lib folder or like so. Please do not! Lucene-core should stay a lib 
without any external deps.

: Both projects move to a new trunk:
:   /something/trunk/java, /something/trunk/solr
This would be the only optinon we have. This new folder could simply contain 
two dirs below and a build.xml in the top level that delegates and builds first 
lucene, then solr. But you can do this also with separate checkouts and a 
simple script downloaded from the wiki.

The problems of this approach far overweigh the positive side:

In the original vote, we said, Lucene can release without Solr:
Releasing (I was the last release mangaer) contains things like creating branches and tags. In SVN, 
if you create a branch, you copy everything from under trunk (or another branch) to a new folder 
below branches (for tags under tags). "tags" on most SVN servers has an additional 
limittation, that it is not possible to change anything under "tags" except copying.

If we have those combined trunk folder and Lucene wants to release and creates 
a branch/tag. Solr is enforced to do this too. OK, you could say, we just 
branch the folder lucene and let solr where it is. But that would be a against 
conventions and the branch checkout could not life alone.

I just repeat: we wanted to merge devs and not codebase! And merging devs is a "code 
change" clearly.

And Lucene is on Java 1.5 and should be compiled with an 1.5 compiler, where 
Solr seems to be on 1.6 since yesterday? (Yonik added something to 
common-build.xml). On my development system I have no Java 1.6 installed at all 
as default build, I ever use Java 1.5 for building Lucene. If we merge that and 
have both on different JVMs the same problems like with 1.4/1.5 start. 
Developers use 1.6 methods because their compiler does not warn them. So 
everybody working on Lucene should at least have Java 1.5 compiler and try to 
compile his changes before committing. I do this (as I use 1.5 for developing), 
1.6 on some of our servers.

So: If merge, keep both on Java 1.5 !!!

by gut says something like this will more the most sense, assuming
"/something/trunk" == "/java/trunk" and "java" actually means "core"
...
And that is how it looks currently and I am fine with it!

ie: this discussion should really be part and parcel with how contribs
should be reorged.
That is exactly what should be done. Not now simply copy the folders somewhere for some 
"development simplification" that not really is one and opens more problems!

I propose another idea for now until the "module" decision is [DISCUSS]ed and 
[VOTE]d:

Lets create a new project folder with trunk and branches for combined trunk 
development in SVN (this can be later the folder for the module development). 
This folder simply contains a delegating build.xml (delegating the common tasks 
like build and test and so on to solr and trunk).The folder simply uses 
svn:external SVN props to link current solr and lucene trunk as subfolders. So 
developers that want to work on both can simply checkout this folder and SVN 
will resolve the externals. As this is trunk development, the externals will be 
without rev numbers and relative for the http(s) problem (SVN 1.5+ required).

For testing flex, we create a branch of this folder, still pointing to 
solr-trunk, but flex branch in Lucene.

One task of the main build.xml would be to copy all produced JAR files of 
Lucene into the correct build folder in Solr.

I hope that you all understand me, but I am against merging trunks (for now) 
until we have a clear module decision.

Uwe


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to