Sunday, April 22, 2007

Setting Jungle

Recent days, I got the pains from the ambiguous development
environment settings including modification[1] to the source code and
coupling-influence[2] between ant-setting and ecj-setting.

[1] .
In the analysis of the drlvm source code, I can not build it
successfully. The error is weird and halt me for a whole afternoon.
with help I come to realize that I made a patch for the vm-vme in the
classlib. but the drlvm refer to the classlib as well for the kernel
classes in the drlvm have dependencies with the classlib' classes. so
it happened.

Basically, I originally prefer that the kernel classes in the vm is
low-layer's implementation and it should not rely on the upper-layes:
classlib' impl. but the fact is that they depends on each other.

And through this painful process, It impressed me very much that
classlib use the kernel-stub classes, which just provide the skeleton
of the kernel classes and the method body is empty, to make the
compilation works while the kernel classes is not available because
the KC always provided by the VM, not classlib.

[2]
When I make d deavour to compile and test the ajc source code in the
Eclipse, I got another adventure.

Because the modules needs junit.jar, So I add it from the JUnit
Library which provide by the Eclipse by default. and then NOT end up
this process I find that maybe it's a better way to add the junit.jar,
which is added from the external jars. consequently, when I execute
the ant in the Eclipse, I got the error message: one module's classes
CAN NOT find the junit.framework.***. er, but... I added them in.

So unthinkable!

When I carefully double-check the build path and the ant-build path, I
got the key.
Because the build-path use the internal junit.jar while the ant-build
path use the external junit.jar, when the ant use the script to
compile the module's code, it just can not find the internal junit.jar
that the code required for that it just have the entry to the external
juni.jar.
what's more, the eclipse can not give the warning message for these
states, so finding the reason makes me a little numb. :(

No comments: