How to become a Vassal developper

Okay, so basically one can’t download each one of the trunks and expect them to work as is. So that means then that the project is broke. So I need to SVN down only the branches and they should all work?

Kind of confusing, seems like one could download (SVN) down the trunk and it should compile with out all these issues and then add in the branches.

Still new to all this, the documentation is slim at best and so it’s confusing to say the least.

So I need to delete all that I have SVN down and only SVN down the branches correct? And that will cure everything?

Thus spake zov66:

Okay, so basically one can’t download each one of the trunks and expect
them to work as is.

Not together, no. They’re not synchronized. The VASSAL trunk is ahead
of the VASL trunk.

So that means then that the project is broke. So I
need to SVN down only the branches and they should all work?

No. There are likely to be many branches which don’t work.

Kind of confusing, seems like one could download (SVN) down the trunk
and it should compile with out all these issues and then add in the
branches.

I think you’re misunderstanding what the branches are. For VASSAL, each
branch started as a copy of the trunk at some point in the past. They’re
not meant to work together—each one is a complete copy of VASSAL.

So I need to delete all that I have SVN down and only SVN down the
branches correct? And that will cure everything?

The VASL trunk should compile aginst the VASSAL 3.1 branch.


J.

Okay, so still no go for some reason. I downloaded (SVN) VASSAL trunk (not sure which branch it is it was the default one so whatever version that is) and then the VASL trunk. This fails. So now I need to figure out somehow which VASSAL 3.1 branch to SVN and then get the VASL trunk again or something like that?

man this is confusing, the getting started does not work, NetBeans does not like SVN with VASSAL and Eclipse fails with the docs so far.

By the time I figure this all out it will be outdated and everyone will be using C++ … lol oh well…

Thus spake zov66:

Okay, so still no go for some reason. I downloaded (SVN) VASSAL trunk
(not sure which branch it is it was the default one so whatever version
that is) and then the VASL trunk. This fails. So now I need to figure
out somehow which VASSAL 3.1 branch to SVN and then get the VASL trunk
again or something like that?

There is only one 3.1 branch. It’s located at VASSAL-src/branches/3.1.


J.

Okay VASSAL full (the whole trunk) and VASSAL 3.1 branch are all okay it’s the VASL (ASL) piece I am having issues with.

So no problems with VASSAL full (trunk) nor the VASSAL 3.1 branch. But ASL is hosed.

Any ideas?

Now the errors are :

Description Resource Path Location Type
AndFilter cannot be resolved to a type JabberClient.java /dlazov - VASSAL 3.1 Branch/src/VASSAL/chat/jabber line 576 Java Problem

100 errors…

There just has to be an easier way then all this mess, even at work which is thousands of programs, web aps, junit it’s not as crazy nor unorganized as trying to get this to work.

There should be an easier way for someone to SVN down the code and for it to compile without a fellow writing one line of code…

Have you set the Build Path correctly and set your Project references correctly?

The 3.1 Vassal branch project must be referenced in the Projects section of the VASL project.

Have you included all of the libray jars in the lib folder of the 3.1 branch in your build path for the project?

That error you are referring to in JabberClient.java is an error in VASSAL, not VASL. AndFilter is found in Smack.jar in the lib folder.

Thus spake zov66:

There should be an easier way for someone to SVN down the code and for
it to compile without a fellow writing one line of code…

The instructions are in the wiki. You could update them once you get
things working.


J.

Hi.

My name is Carlos. I am java and c++ developer. Iwould like to contribute to the vassal project. I have been vassal user for some months and i want to take the next step. My source forge name is clperez. I offer you my help.

Do you use any coding standard?

See you.

hi,

i’m also interested in becoming a developer. i’ve created some game vmods, but found i needed to add functionality to the ‘Deck’. i’ve downloaded the 3.1.15 tagged source and was able to implement my change. so i’d like to submit it for approval and help out with other changes.

my source forge user name is cwero.

Any update on the VASL build problem? I just built it the first time with 7684 build but it failed.

So the new Vassal engine release has no new VASL stuffs in it, I suppose.

Lance

Thus spake lancel:

Any update on the VASL build problem? I just built it the first time
with 7684 build but it failed.

Lance, what problem exactly are you having with building VASL?

So the new Vassal engine release has no new VASL stuffs in it, I
suppose.

No, there’s nothing new for VASL in 3.1.16.


J.

Joel,
I think I have the same problem as Zov66 regarding the building of VASL project. I think it is because the entire VASL folder in the ASL trunk is now located under the src folder. My guess is that originally this ASLBoard class is supposed to be coming from the VASL.build.module.map package but now because of the way the VASL folder is structured, it cannot be located any more. As an experiment, I refactored all the VASL.build.* packages from their current src.VASL.build.* package names to VASL.build.* package names. Then when I built the ASL project, I had no problem. With the current setup, I got something like 200+ errors.

Lance

Lance,
That’s because of the way you have your project profile set up in Eclipse. You need to set you source folder in the Configure Build Path as VASL/src, not VASL.
Brent.

Thus spake lancel:

Joel,
I think I have the same problem as Zov66 regarding the building of VASL
project. I think it is because the entire VASL folder in the ASL trunk
is now located under the src folder. My guess is that originally this
ASLBoard class is supposed to be coming from the VASL.build.module.map
package but now because of the way the VASL folder is structured, it
cannot be located any more. As an experiment, I refactored all the
VASL.build.* packages from their current src.VASL.build.* package names
to VASL.build.* package names. Then when I built the ASL project, I had
no problem. With the current setup, I got something like 200+ errors.

“src” isn’t part of the package name. The src dir is supposed to be
your build root.


J.

Thanks. I think this is the part that Wiki was not updated since I followed its steps one by one. That was why I thought initially the VASL folder was not under src. After I changed the Java Build Path’s source, I have no more errors. I also modified the default output folder.

Lance

Thus spake clperez:

Hi.

My name is Carlos. I am java and c++ developer. Iwould like to
contribute to the vassal project. I have been vassal user for some
months and i want to take the next step. My source forge name is
clperez. I offer you my help.

Do you use any coding standard?

See you.

Hi, Carlos. My appologies for taking so long to respond. We’d like
to have your help.

The situation presently is that we’re working on finishing 3.2 for
release, after which we’ll be switching over to C++ for VASSAL 4.
What we need help with at present is fixing bugs in the trunk. There
are quite a few open bug reports at present, many of which haven’t been
investigated:

vassalengine.org/tracker/bug … New%20Bugs

Anything which is marked as NEW has likely not been looked at yet. Here
you can see which bugs have been reported most:

vassalengine.org/tracker/dup … openonly=1

We’re happy to fix any bug, but especially these, as they seem to affect
the most users (though, note that some of these are VASL bugs, not VASSAL
bugs).

A second task we have is working on the design for VASSAL 4. Once I’m
done with my work for 3.2 (very close now), I’ll be writing up some more
of my design ideas so that more detailed work can start. If you’re an
experienced developer, we’d like to have your input on this, as well.

As for coding standard:

2-space indent, no tabs. Put opening block braces on same line as ‘while’
or ‘if’. Make variables final when possible. Write tests if you can.

That’s mostly it. (Once we switch to V4 development, I’m intending that
“write tests if you can” will become “write tests, period”.)


J.

On 2011-09-05, at 9:07 AM, Joel Uckelman uckelman@nomic.net wrote:

The situation presently is that we’re working on finishing 3.2 for
release, after which we’ll be switching over to C++ for VASSAL 4.

Oops, missed that memo. That’s what I get for reading my messages in reverse chronological order.

Was there a decision on the GUI framework?

  • M.

Thus spake Michael Kiefte:

The situation presently is that we’re working on finishing 3.2 for
release, after which we’ll be switching over to C++ for VASSAL 4.

Oops, missed that memo. That’s what I get for reading my messages in reverse
chronological order.

I thought we had reached consensus on using C++.

Was there a decision on the GUI framework?

No, not yet.


J.

I thought we had reached consensus on using C++.

You’re assuming I have a good memory.

Was there a decision on the GUI framework?

No, not yet.

I don’t think wxWidgets really has any competition any more. I’m still deeply suspicious of Qt with what’s been going on at Nokia.

Just my opinion though.

  • M.

Erm, I posted the following to uckelman (Joel) via Sourceforge, but didn’t get a reply. Hope I don’t break any rules by posting here. So, here’s the message to Joel again…

Hi, can I be added as a developer for VassalEngine?

First contribution I’d like to make: RecursionLimiter. I would like to move the recursionDepth variable into the Loopable interface. This is in preparation for Loopable(s) running in separate threads (animations).

We can then truly limit recursion depth. Eg, FunctionA calls FunctionB calls FunctionC calls FunctionA, the loop of which RecursionLimiter will limit to 50, possibly preventing cyclic loops. Currently, RecursionLimiter erroneously limits call stack depth (FunctionA calls FunctionB calls FunctionC and bam, if RECURSION_LIMIT is say 2).

We can talk about a true cyclic dependency catcher later on, if you’re interested in that.

If this needs to be in the forum or tracker, let me know and I’ll put this there.

Hope I’m welcome on board! Can’t wait to start my branch.