This guide will teach you how to setup the Eclipse IDE to work with MESS, including Subversion and Bugzilla integration. You might find the linked guide in the Weblinks section useful if you have used Visual Studio before.
This page needs to be updated for Eclipse 3.3 (partially done, to be checked) with CDT 4.0 and new versions of Mylyn and Subclipse (or maybe Subversive?).
First, we need to get the Eclipse SDK. Go to the Eclipse download page and get the 3.3.2 stable version.
Now we need to install some additional plugins. Start Eclipse and select “Help → Software Updates → Find and Install” in the menu. Choose “Search for new features to install” and click next. Choose the “Europa Discovery Site” and click “Finish”. Eclipse will now search for available plugins. When it's finished, open the tree and select “C and C++ Development”. Click next to install it.
Eclipse will probably want to restart now to install the CDT correctly. Next we are going to install Mylyn (a task management UI which features Bugzilla integration). Choose “Search for new features to install” and select “New Remote Site…”. Enter “Mylyn” as name and “http://download.eclipse.org/tools/mylyn/update/e3.3” as URL. Select the Mylyn site and click finish. Restart Eclipse and Mylyn should greet you with some initial settings.
The last plugin we need to install is the Subclipse SVN integration plugin. To do so, select “Search for new features to install” again and enter a new remote site with the “Subclipse” and URL “http://subclipse.tigris.org/update_1.2.x”. Select it and click finish to install.
We can now create our MESS project. Select “Window → Open Perspective → Other…” and choose “SVN Repository Exploring”. Click the “Add SVN Repository” button and enter “svn:messdev.fdns.net/mess” as URL (or “svn:<username>@messdev.fdns.net/mess” if you have login details). Select “Finish to create it.
Right click the newly created repository and select “Checkout…”. Just select “Finish” on the next dialog, the defaults are fine. Ignore the question about checking out from root (click “Yes”). The “New Project” wizard should now popup. Choose “Standard Make C Project” as project type and continue (if you don't see such an option, select “C Project” and then “Makefile Project”). Use “mess” as project name and click next. On the “Make Builder” tab, uncheck “Use default” and enter “make TARGET=mess” as build command. The rest of the settings there are okay for now, so click finish to create our project.
MESS (and MAME) is now ready to be compiled. For easy compiling, we will setup some make targets. Right click on your new project in the “Project Explorer” window and select “Create Make Target…”. As an example, we will create a target to compile a debug build of MESS. Enter “Debug build” as target name and “make TARGET=mess DEBUG=1 DEBUGGER=1 SYMBOLS=1 MAP=1” as build command. Click “Okay” to create it. Select “Create Make Target…” again. This time, enter “Debug build (clean)” as target name, “clean” as make target and “make TARGET=mess DEBUG=1 DEBUGGER=1 SYMBOLS=1 MAP=1” as build command. Select “Okay” to close it.
We have now have two make targets, one to compile a debug build and another to clean it up again. You can now try to build MESS. If you don't see the “Make Targets” window, select “Window → Show View → Other…” and select “Make → Make Targets”. Our two targets should be visible there. Just double click on “Debug build” to compile a debug build of MESS now.
To keep up-to-date with the development of MESS, we can use the “Team Synchronizing” perspective. Open it using “Window → Open Perspective → Team Synchronizing”. Now click on “Synchronize SVN /mess” to start the update search. When it's finished and it has found changes, you can update your files by right clicking on the file or folder you want to update and selecting “Update”.
Open the “Mylyn → Task Repositories” view (if you don't find it in the main window, you can open it by choosing “Window → Show View → Other…”). Click on “Add Task Repository” and select “Bugzilla”. On the next page, enter “http://bugzilla.mess.org” as server, “MESS” as label and your user details (or anonymous if you don't have any). In the “Additional settings”, repository version should be set to “2.20” and character encoding to “ISO-8859-1”. Select finish to add it.
Now we need to add some Bugzilla queries. Once you finished the previous step (i.e. adding the “Task Repository”) you shall be prompted with the possibility to add a query to the repository. If no message appears at the end of the previous step, you can easily add a query by yourself. Open the “Mylyn → Task List” view. Right click into the window and select “New → Query…”. Our MESS repository should show up here, select it and click “Next”.
In both cases, we will now create a query using the form, so choose that option. The next dialog looks just like the regular Bugzilla search query window. A useful query we could create is a list of bugs that were changed in the last days. Enter “Recent bugs” as title and at the bottom “Only bugs changed in the last 100 days”. Set the maximum to ”-1”. Select “Finish” to create it. Mylyn will now fetch the list of bugs that were changed in the last 100 days. It will also update this list every few hours and tell you which were changed.
If by any chance “Finish” is not selectable, try choosing “MESS” as Product and it shall become selectable.