On Dec 7, 2006, at 2:35 PM, Daniel Kulp wrote:

On Thursday 07 December 2006 14:04, Steve Vinoski wrote:
I recently emailed about build avoidance issues with the generated
framing code under common. The way it's done means that it builds
every single time through, and does nothing at all to try to avoid
the build if the spec file hasn't changed.

Rajith and I have now both independently run into more problems with
this code: it won't work under Eclipse. The code is generated into
directory names that contain spec version numbers (e.g., org/apache/
qpid/framing_8_0), but the actual code itself is declared to reside
in the org.apache.qpid.framing package. This is clearly a no-no, and
Eclipse refuses to build it.

So, anybody have an idea as to when we'll start using the new code
generation approach? The code seems to have existed for weeks now,
but to the best of my knowledge, nobody's stated any intent regarding
making it part of the normal trunk build.

Also, will this new code address the build avoidance issues and the
Eclipse issues?

I need to know, because I don't want to go off and fix issues with
the current stuff if it's all about to be replaced. We have several
people who want to use Eclipse for Qpid work, and they're currently
blocked by this.

--steve

I've included a patch below to fix that generation problem. There is still a problem in the client tests with a .java file in the wrong directory. That
and 618 warnings if you use a "default" Eclipse workspace.

Hi Dan, I can look into applying this patch, but a big part of the problem here is that this code is intended to somehow magically support multiple versions of the spec.xml file. I guess the intent is to generate it into versioned directories but use a non-versioned package name so that no version numbers would appear in the code. I don't know how that can actually work in practice, though.

Unless someone objects, perhaps for now I'll just work around all the "multiple versions" stuff here and fix these problems for now, given that we have only a single spec version at the moment, and then whoever switches over to the new generator can make sure it all keeps working when they commit the new stuff.

--steve

Reply via email to