OK ... you may have noticed the util package, which lives in edu.rice.cs.
This package was theoretically going to be better separated from DrJava,
to promote its use in other places. That hasn't happened well yet, and as
it's been, it has made life confusing.
I realized that the problem here is that there is no way to know when you
have to update the util package (most of you probably do, BTW). I've been
pondering ideas on this for a while, and I think I just found one: I made
a test case that checks whether the util package is current!
This test case is edu.rice.cs.drjava.DependenciesTest. It's use is simple:
If you change the util package, and want this change to propogate its way
into DrJava (you clearly do, or else you wouldn't have fixed it!), you
*must* change the REQUIRED_UTIL_VERSION field in DependenciesTest. This
will make sure that each person that checks out DrJava gets the newest
util package too.
I like this system because it will allow us to more fully decouple util in
the future, but it still allows automated checking that the dependency is
OK. We can also use this type of system for other dependencies at some
point (DynamicJava).
To see this change in action, check out the newest drjava code, then run
the test cases. You'll see DependenciesTest fail until you
update/compile the util package again.
This all came about during my struggle with/triumph over a horrible bug
that was totally my fault, #520519.
BTW, the util version is util-20020221-0455, and the new DrJava I just
released is drjava-20020220-2334.
OK, this is strange. The util package got a GMT time but drjava got a
local time. WTF? (There was a reboot in between the two; perhaps that was
it?) Doesn't matter really, though I guess we should theoretically try
hard to ensure we all use the same time zone? But Ant is magically
creating these time stamps ... . Another problem for another day.
-brian
|