MapTool build notes for Eclipse

Progress reports and musings from the developers on the current gaming tools.

Moderators: dorpond, trevor, Azhrei

Alhazred
Cave Troll
Posts: 77
Joined: Tue Dec 30, 2008 8:46 am

Re: MapTool build notes for Eclipse

Post by Alhazred »

Craig wrote:
Azhrei wrote:Yeah, Trevor had suggested using Eclipse as the platform for the next MT! But the switch from Swing to SWT would be a huge one. And it didn't seem to provide any benefits significant enough.
From what I understand he looked at it but very quickly dismissed the idea because the SWT canvas component is just too feature limited. I know he was keen to move to java 6 because of added features to Java2D, so I see it unlikely he would go SWT where there is pretty much no Java2D.

You would then have to use the SWT OpenGL component, but if you wanted OpenGL you are better off going with JLWGL or JOGL which are more mature.

There are certainly a lot more downsides than upsides to moving to SWT
Well, I did write a game using SWT and OpenGL, there is support for that. It worked fine. The real fly in that ointment is OSX, it has TERRIBLE support for OpenGL, many of the drivers are so broken you simply cannot get it to work at all :(.

I agree, there is no really good HTML component support (that I know of) in SWT though. I'm not sure about SWT being limited, it does everything Swing does, and is really an excellent UI layer, especially if you go higher in the RCP stack and use JFace and some of the other higher level Eclipse machinery. Roughly duplicating the existing Maptool UI for instance would be very straightforword. It would however be a total UI rewrite and basically a lateral move. It MIGHT be a long-term gain but then I really know nothing much about the UI toolkit you guys use now, so I'm not really qualified to say...
Azhrei wrote: Especially considering that the announced roadmap for Java 7 includes HTML5 support in Swing for 2011. (Probably one of the things that MT most sorely lacks is a good HTML implementation.)

Of course, if MT 2.0 does make that switch, we'll already have OSGi support under our belts and the transition will be much smoother! 8)
One thing we should keep an eye on is the Netbeans RCP (think of it as Eclipse's swing RCP competitor). Given that Oracle stated Netbeans will be their Java development editor of choice -- they also have another IDE JDeveloper and contribute quite a bit to Eclipse -- hopefully they will update Netbeans GUI with the new JavaFX 2.0 goodies (HTML 5 and all that) and that could become a viable candidate for a platform -- we could finally get rid of the current docking framework, yay!!! :)
I've heard rumors of Netbeans RCP, never actually seen it in action. I'm kind of wedded to Eclipse and the concept of writing the application effectively as a set of Eclipse plugins has its appeal. Netbeans however is certainly a pretty mature IDE. My guess is it will be sort of pa-tay-toe vs pah-tah-toe. One thing I can say against the Eclipse RCP is that it is VERY crufty with old obsolete but still supported APIs and such, and unless you can talk to one of the internal IBM Eclipse devs it is harder than heck to sort out which ones you should use and which are just legacy stuff left in there to support ancient Eclipse plugins. So maybe a brandy new snazzy RCP would be a better choice, unless you happen to have an Eclipse core developer wandering around here with a lot of time to donate!

Craig
Great Wyrm
Posts: 2107
Joined: Sun Jun 22, 2008 7:53 pm
Location: Melbourne, Australia

Re: MapTool build notes for Eclipse

Post by Craig »

Alhazred wrote: Well, I did write a game using SWT and OpenGL, there is support for that. It worked fine. The real fly in that ointment is OSX, it has TERRIBLE support for OpenGL, many of the drivers are so broken you simply cannot get it to work at all :(

OpenGL works fine on OS X, at leat since 10.4 probably before but i cant speak for pre 10.4, er unless you have a hackintosh ;) But SWT has had lots of issues on Mac OS X, it used to be god darn awful, now it's just kind of annoying because things don't work or work oddly.
Alhazred wrote:I'm not sure about SWT being limited
I didn't say SWT is limited, but that SWTs canvas component was limited (which it is). why I think there is more downsides than upsides to moving to SWT is the problems with swing that SWT was created to solve don't really exist anymore, or if they do aren't solved by SWT yet either. So the upside of moving to eclipse is not a large one, the down side is it's a lot of time and work that is better spent elsewhere, and SWT still has lingering issues on Mac OS X.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool build notes for Eclipse

Post by Azhrei »

Craig wrote:[...] they also have another IDE JDeveloper [...]
Yeah, I don't remember why I tried this, but I couldn't get it to work on my Mac. The installer wanted to know where the JRE was and no matter what I told it, it failed. :( And of course, there's no documentation that I could find to tell me what it was looking for -- if there were some docs I could just create the needed symlinks and keep going! (Sigh.)

Craig
Great Wyrm
Posts: 2107
Joined: Sun Jun 22, 2008 7:53 pm
Location: Melbourne, Australia

Re: MapTool build notes for Eclipse

Post by Craig »

Azhrei wrote:
Craig wrote:[...] they also have another IDE JDeveloper [...]
Yeah, I don't remember why I tried this, but I couldn't get it to work on my Mac. The installer wanted to know where the JRE was and no matter what I told it, it failed. :( And of course, there's no documentation that I could find to tell me what it was looking for -- if there were some docs I could just create the needed symlinks and keep going! (Sigh.)
Its a known issue with the install,
If you are really keen on trying it then this section in the install guide details steps to perform before you install it. Don't ask me how good an IDE it is I have never used it before, just had to install it for other people at work before.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool build notes for Eclipse

Post by Azhrei »

Thanks for the note. I've been too busy to look into it so that will save me some time.

I think I went looking for it as it had some modeling capability built into it, or maybe there was a plugin for it that was supposed to be pretty good. ArgoUML crapped out on rplib so there's not much chance of it working on MapTool. ;) And the eval version of Visual Paradigm put a watermark over the entire page which means the output is virtually useless...

Alhazred
Cave Troll
Posts: 77
Joined: Tue Dec 30, 2008 8:46 am

Re: MapTool build notes for Eclipse

Post by Alhazred »

Azhrei wrote:Thanks for the note. I've been too busy to look into it so that will save me some time.

I think I went looking for it as it had some modeling capability built into it, or maybe there was a plugin for it that was supposed to be pretty good. ArgoUML crapped out on rplib so there's not much chance of it working on MapTool. ;) And the eval version of Visual Paradigm put a watermark over the entire page which means the output is virtually useless...
UML, sigh...

I paid good money for Poseidon and had the Eclipse plugin working and all. Yeah, theoretically you can round trip code and if you are a total brainiac you can make other types of diagrams. The best diagramming tool in the world is 4" square and found on tables and bars the world round.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool build notes for Eclipse

Post by Azhrei »

@Craig: I've got that symlink created. I'll try JDevelop some time later this week...
Alhazred wrote:I paid good money for Poseidon and had the Eclipse plugin working and all. Yeah, theoretically you can round trip code and if you are a total brainiac you can make other types of diagrams. The best diagramming tool in the world is 4" square and found on tables and bars the world round.
Yeah, got that right! lol!

It's just not easy to distribute to others and get their input -- they tend to spill beer on it. :roll:

I had a paid-for version of RationalRose from back around 1998 or so. But there's no way it would work on today's Java: generics, new-style for loops, etc. Of course, if I could just get it to generate basic class diagrams that would be a good start! Scanning the method sources and adding the uses-a lines would be super but would never happen with such an old version.

(Hm. I could perhaps have Rose scan the .class files instead of the source; I wonder if that would help? Since generics and the enhanced for loops are translated when targeting Java 5 maybe that would work... But my Rose -- if I still have it -- is Windows-based so I dread the idea of installing it. :|)

And now that I think about it, I've got an oooollllld version of Poseidon around somewhere too...

User avatar
think01
Cave Troll
Posts: 33
Joined: Mon May 02, 2011 8:45 am
Location: Torino (Italy)

Re: MapTool build notes for Eclipse

Post by think01 »

Alhazred wrote:The one thing that maven can be frustrating about is it has an odd sort of rigidity. It can be hard to say repurpose a plugin that does a specific task to do the same task in a different context (it is possible but it takes a rather significant amount of understanding of maven internals and some repackaging). Still, it is the best choice as something that can do the job and which everyone using Eclipse can fairly easily set up in a consistent way.
I worked with Maven for some time and I quickly felt your same impressions. For these reasons I gave a try to Gradle and I was impressed by its flexibility and power united to a really ease of use and simplicity. I also experienced how simple is to customize a build process to adapt it to one's own needs, both via the build script itself and writing a custom plugin (I partecipate to the open source project gradle-android-plugin).

Generally speaking, Gradle has the best from Ant and Maven, without their worst behaviours. And it has also good support for Eclipse, without being too intrusive (like m2eclipse is, IMHO).

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool build notes for Eclipse

Post by Azhrei »

think01 wrote:I worked with Maven for some time and I quickly felt your same impressions. For these reasons I gave a try to Gradle and I was impressed by its flexibility and power united to a really ease of use and simplicity. I also experienced how simple is to customize a build process to adapt it to one's own needs, both via the build script itself and writing a custom plugin (I partecipate to the open source project gradle-android-plugin).

Generally speaking, Gradle has the best from Ant and Maven, without their worst behaviours. And it has also good support for Eclipse, without being too intrusive (like m2eclipse is, IMHO).
Yeah, I agree about m2eclipse. And I haven't even used it much. :|

So... You work with Gradle a lot, eh? Wanna job?

:mrgreen:

It's unpaid, of course. But I really don't have the time to learn yet another technology right now...

User avatar
think01
Cave Troll
Posts: 33
Joined: Mon May 02, 2011 8:45 am
Location: Torino (Italy)

Re: MapTool build notes for Eclipse

Post by think01 »

Azhrei wrote:So... You work with Gradle a lot, eh? Wanna job?

:mrgreen:

It's unpaid, of course. But I really don't have the time to learn yet another technology right now...
Well, I'm quite busy too, but I would be happy to help.

What are the minimal requirements of the build process? Is there a particular reason to do such migration? For example, a missing feature of the actual build process that needs to be implemented.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool build notes for Eclipse

Post by Azhrei »

Well, the reasons are both good and bad.

Since we're updating to use OSGi, we might as well put in place an updated build process as well. Right now we use ANT and there are some things re: the current configuration that I'd like to see changed (such as library references from outside the project with automatic updates to newer libraries when they become available).

I can't spend the time right now to detail all of this (busy week!) but I'll try to gather my thoughts and make a single post over the weekend.

User avatar
think01
Cave Troll
Posts: 33
Joined: Mon May 02, 2011 8:45 am
Location: Torino (Italy)

Re: MapTool build notes for Eclipse

Post by think01 »

Azhrei wrote:Well, the reasons are both good and bad.

Since we're updating to use OSGi, we might as well put in place an updated build process as well. Right now we use ANT and there are some things re: the current configuration that I'd like to see changed (such as library references from outside the project with automatic updates to newer libraries when they become available).
That is dependency management, the daily work of Gradle (and Maven, to be honest - although it seems to me it's a lot easier to customize and control what Gradle do, compared to Maven's hard-wired behaviour).
Azhrei wrote:I can't spend the time right now to detail all of this (busy week!) but I'll try to gather my thoughts and make a single post over the weekend.
Ok. I'm quite busy these days too, indeed I wasn't able to do a simple post here to share the patched version of MapTool with support for fractional cell sizes (about this, I'm still waiting the subscription to the testing forum to officially publish the patch... :roll: ).

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool build notes for Eclipse

Post by Azhrei »

think01 wrote:(about this, I'm still waiting the subscription to the testing forum to officially publish the patch... :roll: ).
Okay, done. :)

neofax
Great Wyrm
Posts: 1694
Joined: Tue May 26, 2009 8:51 pm
Location: Philadelphia, PA
Contact:

Re: MapTool build notes for Eclipse

Post by neofax »

OK, for a non-developer that would like to make a build of MapTools, the directions are very hard to follow. Here is what I gathered and below is the error I got:

1. Check out to HEAD projects common.build, maptool, maptool.resource, parser, rplib and rplib.resource(for some reason I have clientserver in my branches, forget why)
2. Right click on parser branch and select Toggle ANTLR project nature to get the brown antlers. Do same for rplib.
3. Right click on parser branch build.xml and Run As --> 1 Ant Build.

Received this error at this point:

Code: Select all

C:\Users\Terry\workspace\parser\build.xml:2: Cannot find ../common.build/common-java-library-targets.xml imported from C:\Users\Terry\workspace\parser\build.xml
OK, my dumb butt at this point is thinking well maybe the reason is that my workspace does not have common.build inside parser, but I do not want to screw it up and am waiting for the brainiacs to help.

EDIT: Well, I figured out why it didn't work. I downloaded the whole common.build and not just it's trunk branch. After fixing my dumb moment, parser built.
EDIT2: Everything builds fine, but I cannot create a valid jar as I get this error:

Code: Select all

C:\Users\Terry\workspace\common.build\common-webstart-targets.xml:210: Execute failed: java.io.IOException: Cannot run program "jarsigner.exe": CreateProcess error=2, The system cannot find the file specified
Which is wrong because I do have that jarsigner file in my path. Does anyone know how to fix this? Also, why is it everytime I try to build it adds a .01 to the end? I am now on build 1.3.b89 which I know is wrong.

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: MapTool build notes for Eclipse

Post by jfrazierjr »

Do you have to build a jnlp? if not don't mess with the ant build in common.build and just run the one in MapTool. However, I THINK what the last error is complaining about is that jarsigner cannot find the "KEY" file used to do the signature...which since you are using your own build is just kind of wrong...


As for the build number, part of the build process is to update the build number. It's located in a file in the resources directory IIRC with a key of build.number.
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

Post Reply

Return to “Developer Notes”