Stendhal on Eclipse: Difference between revisions

From Arianne
Jump to navigation Jump to search
imported>AntumDeluge
Undo revision 18132 by AntumDeluge (talk)
imported>AntumDeluge
Undo revision 18132 by AntumDeluge (talk)
(No difference)

Revision as of 16:01, 30 April 2013


First Steps

  1. First of all open the view called Package Explorer.
  2. "New Project..."
  3. "CVS" -> "Project from CVS"
  4. Get stendhal from CVS. (Connection type: pserver, User: anonymous, Password - leave blank, Host:arianne.cvs.sourceforge.net, Repository: /cvsroot/arianne)
  5. file-> new -> project -> project-> from cvs
    click next
    
    check  "create new repository"
    click next
    
    host : arianne.cvs.sourceforge.net
    repository path : /cvsroot/arianne
    user : anonymous
    connection Type: pserver
    click next
    
    check "use an existing module"
    click directory: stendhal
    click next
    
    checkout as a project configured using the new project wizard
    click next
    
    click finish
    
    select a wizard: java project (do not select a simple "general" project!)
    project Name: stendhal  ( or whatever you like to call it )
    make sure in jre a java version 1.5 or higher is selected
    click finish
    
  6. Right click on your project folder and select "Properties" in the context menu.
  7. Then select "Java Build Path" on the left side of the dialog box.
  8. Now remove all existing folders from source path and add the two source folders 'src' and 'tests' by clicking on the "Add Folder..." button
  9. source folder #1:
              stendhal/src
                   Included:(All)
                   Excluded:(None)
                   Native library location: (None)
    
    source folder #2: 
              stendhal/tests
                   Included:(All)
                   Excluded:(None)
                   Native library location: (None)
    
    default output folder: stendhal/bin
    
  10. On the "Libraries" tab: click on the "Add JARs" button and select all the *.jar-files in stendhal/libs
  11. Check the text encoding at Project -> Properties -> Resource -> Text Encoding. Set it to UTF-8 unless it is that already.

Eclipse should be able to compile the source code now. There could be a little yellow sign (signalling warning messages) before your project folder but there must not be red X (error messages). The package explorer should now display the "src" folder below the root folder with a different icon, the icon is like a small grid.

Trouble Shooting

menu Windows | Preferences | Java | Installed JREs

  • there should be at least one entry with a valid JAVA_HOME path (make it so so JDK compliance is 5.0  ?)

To make it run the server in Debug mode

  • In the toolbar there is the "Debug" button, which looks like a little, green bug. There is a little black arrow on the right side of it.
  • This will open a menu, please choose "Debug configurations ..." ("Open Debug Dialog..." on older versions)
  • Then in the dialog select "Java Application" and click on the "new" icon in the top left corner.
 Name: StendhalServer
 Main class: games.stendhal.server.StendhalServer

* All other settings ("include system libries", "Stop in main", ... can be left at their default value.

on the [Arguments] tab:
VM arguments: -Xmx128M

on the [Classpath] tab:
 click UserEntries
 button "Advanced"
(*) add folder | OK
 and select the project root folder | OK
  • button [Debug]

And then the server should be started.

To make the client run

  1. Open games.stendhal.client.update.Starter.java in the editor
  2. Then again the small black arrow on the right side of the green bug. (Or you may also choose to use the "Run" command instead of "Debug" in case you only want to debug the server component.)
  3. Select "Debug Configurations" (or "Run Configurations...").
  4. Select Java Application and click the "New" button in upper-left corner.
  5. On the [Classpath] tab select "User Entries" - button "Advanced" - (*) add folder | OK - and select the project root folder. | OK

yay shiny new client, shiny server

Making patches

If you have modified and tested the code and want to send us a patch, please see How To Create Patch For Stendhal.

Running JUnit Tests in Eclipse

Setting up JUnit tests in Eclipse:

  1. Click the arrow next to either the green "Run" or "Debug" button.
  2. Select "Run/Debug Configurations...".
  3. Select "JUnit" in the left column and press the "New launch configuration" at the top of left column.
  4. Give it a unique name, like "Stendhal Tests".
  5. Select "Run all tests in the selected project, package or source folder".
  6. OPTIONAL: (this step simply reduces the number of directories that Eclipse will search in for tests)
    1. Press "Search".
    2. Select "tests" folder under Stendhal root directory and press "OK".
  7. Under "Test runner" select "JUnit 4".
  8. Under "Classpath" tab select "User Entries" and press "Advanced" on the right panel.
    • NOTE: There should already be a folder under "User Entries" with "(default classpath)" suffix. Do not delete this folder.
  9. Select "Add Folders" and press "OK".
  10. Select the Stendhal root folder and press "OK".
  11. Now click "Add JARs..." on the right panel.
  12. Under the Stendhal root folder select all the .jar files in libs and press OK.
  13. Now press "Apply" to save the configuration or "Run" to save and run it.

Switching from pserver to extssh

If you need to switch from anonymous read-only access to read/write, follow these instructions. (based on clues at http://blog.maestropublishing.com/changing-cvs-username-and-password-in-an-ecli)

  1. Window -> Show View -> Other
  2. Open up CVS, and double click on "CVS Repositories". A new tab will show up, named CVS Repositories
  3. Right click on the arianne line, and select Properties
  4. Change Connection Type to extssh
  5. Set User and Password to your sourceforge user id and password
  6. Click Apply. Eclipse will take a few minutes to update attributes.

After that, test by trying another CVS Synchronize. The first time, you will probably get a dialog about the server certificate.