Attention: Updating your branches for 3.1.

Rodney asked me to handle merging back to trunk preceding the 3.1.0-beta1
release. I’m starting that now.

On my development branch, VASSAL and org have been moved to src/VASSAL and
src/org, in order to have a root directory for our source hierarchy which
isn’t shared with all of the other stuff we’re accumulating, as discussed
here:

vassalengine.org/forums/viewtopic.php?t=97

The first part of the merge process is to port that change over to the trunk.

This has some consequences for updating other branches from the trunk, which
I’ll detail here. Hopefully this won’t cause too much disruption and we can
handle it in an orderly fashion.

Steps for updating a branch:

  1. Merge from the trunk up to 2890. This is the last revision on the trunk
    prior to moving the directories. Commit at this point, so you can revert
    to this if anything goes awry.

  2. Merge 2890:2892 from the trunk. These two revisions create src and
    move VASSAL and org there. Commit.

  3. If you’re using Eclipse, maybe you need to update something in your
    project settings now?

  4. Now you’re ready to merge everything from 2893 onwards.

(The point of doing all this was to make sure that you see conflicts
if there are any. If you just merged 2890:HEAD, that would be the same
as deleting everything in VASSAL/ and then getting entirely new files in
src/VASSAL. This way the changes in 2893:HEAD will be applied against
files which already exist in src/VASSAL.)

I’ve now merged everything up to 2895 from uckelman-caching into the trunk.
Once you’re merged up to 2892, you can get the remainder of the changes
from the trunk by merging 2892:2899.

Hi Joel,

That’s great. I have branched a fresh copy of trunk and am making my gpid changes directly there. I have finished a first hack, am just recoding and tidying, so it is convenient to apply it to a fresh copy.

One thing, you are using the Java 1.6 compiler (String.isEmpty()). Aren’t we sticking with Java 1.5 for now, or is 1.6 now a requirement for your new stuff?

Brent.

Thanks for taking over the management of the trunk, Joel. The plan now is to issue the nightly builds off of the trunk, and do continuous testing of those nightly builds. When it seems stable enough, we’ll go to 3.1beta.

I hope the tiling code doesn’t require Java 1.6. We definitely need to stay compatible with 1.5. I want to be sure that people who are running the second-most-recent version of their OS or of Java can use VASSAL. So I don’t want to require Java 6 until both Java 7 and the next Mac OS release are out.

rk

Post generated using Mail2Forum (mail2forum.com)

Joel,

I am having trouble running the new source under eclipse. Have you had any trouble? It is hanging in ConsoleWindow on the line

final JLabel label = new JLabel(new ImageIcon(Toolkit.getDefaultToolkit()
  .getImage(ConsoleWindow.class.getResource("/images/Splash.png"))));

Brent.

Thus spake “Brent Easton”:

Unintentional. I didn’t realize that String.isEmpty() was new to 1.6. I’ll
change those to size() == 0 tonight.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Brent Easton”:

No, but I don’t run in Eclipse.

I’m guessing that you don’t have a Vengine.jar where Eclipse can see it?
That’s most likely the problem. Either that, or images/ needs to be on
your classpath.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

This is caused by when running under eclipse, Vassal can’t find any images

Something has changed with the move of the source to the src directory. The runtime is now expecting the images to be in …/bin/images, but eclipse copies them into …/bin.

I’ve not been able to configure eclipse to ‘do the right thing’, but the work around is to to take a copy of all the images in …/bin and copy them into a new director …/bin/images.

Thus spake “Brent Easton”:

bin? Is that a directory which Eclipse generates itself?


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Yes, because I have the project configured to use a seperate bin directory for all class files, so it creates a directory named ‘bin’ at the same level as src. All of the class files get placed in there in the correct structure (/bin/VASSAL, /bin/org), but the images get copied into /bin, not /bin/images.

There are other 1.6 compatibility issues beyond String.isEmpty(). Can you specify a Compiler Compliance level of 5.0 on your IDE?

Thus spake “Brent Easton”:

Ah, I see. I have a directory called ‘classes’ which serves the same
purpose. I always make sure I have Vengine.jar built so that the images
can be found.

How was Eclipse finding the images for you before?


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Brent Easton”:

I compile with ‘-source 5’. I thought that was supposed to cause the
compiler to complain when post-5 methods are used.

Can you tell me what other things are problematic?


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Are you building with a 1.5 JRE in the Classpath, or a 1.6? You must be using 1.6 as I get 41 varied errors across about 15 modules. Try recompiling with the 1.5 JRE only in your classpath.

Thus spake “Brent Easton”:

Neither. I’m usually building with 1.7. I haven’t had a 1.5 installed
since I upgraded to Fedora 8. I’m installing 1.5 now so I can check
against it.

Sorry for the trouble.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

The problem is that the ‘-source 5’ option only seems to check for code constructs like Generics etc. that are new in 6. Things like new methods is only picked up because there is nothing in the 1.5 JRE to satisfy it.

Also having trouble with @override tags which java 5 does not like.

Thus spake “Brent Easton”:

I’m having difficulty getting 1.5 and 1.6 installed simultaneously.
:

J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Brent Easton”:

This remeinds me of why I don’t like 1.5. Apparently the constructors
for most Exceptions which take another exception as an arugment don’t
exist in 1.5, and the initCause() method throws Throwable itself, so
there’s a whole additional layer of try/catch blocks just to catch
an exception which you know can’t ever happen. ARGH!


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Brent Easton”:

JDK 1.5 doesn’t like it when you annotate methods from an interface with
@Override.

Try merging from the trunk up to 2902. That revision corrects all of the
Java 1.5 incompatibilities, so far as I can see. (It builds this way with
1.5 and appears to run properly.)


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

I think the right solution is to move the ‘help’ and ‘images’ directories into the ‘src’ directory. Then Eclipse copies them over to the ‘bin’ directory automatically.

rk

Post generated using Mail2Forum (mail2forum.com)