Menu

Creating a runnable version of Robocode

Help
2018-10-11
2018-12-04
  • Dario Romano

    Dario Romano - 2018-10-11

    Hello!

    I'm trying to get the robocode sources to run on my machine, but I'm stuck with configuring the maven projects. First I thought it's a problem with my maven installation but I think that's not the issue. After running mvnassembly I encountered a problem that the downloaded tools from the loadTools Script all are only 1 KB in size, so I entered the URLs from the script into my browser and downloaded the tools manually. Now the mvnassembly creates this error:

    C:\robocode-workspace>mvnassembly
    [INFO] Scanning for projects...
    [INFO] Reactor build order:
    [INFO]   Robocode
    [INFO]   Robocode API
    [INFO]   Robocode Core
    [INFO]   Robocode Host
    [INFO]   Robocode Repository
    [INFO]   Robocode Battle
    [INFO]   Robocode Sound
    [INFO]   Robocode UI
    [INFO]   Robocode UI Robot editor
    [INFO]   Robocode Samples
    [INFO]   Roborumble Client
    [INFO]   Robocode Tested Robots
    [INFO]   Robocode Tests
    [INFO]   Robocode Installer
    [INFO]   Robocode Content
    [INFO]   Robocode Distribution
    [INFO] ------------------------------------------------------------------------
    [ERROR] BUILD ERROR
    [INFO] ------------------------------------------------------------------------
    [INFO] Error building POM (may not be this project's POM).
    
    
    Project ID: org.apache.maven.plugins:maven-compiler-plugin
    POM Location: C:\Users\***\.m2\repository\org\apache\maven\plugins\maven-compiler-plugin\2.5.1\maven-compiler-plugin-2.5.1.pom
    
    Reason: Not a v4.0.0 POM. for project org.apache.maven.plugins:maven-compiler-plugin at C:\Users\***\.m2\repository\org\apache\maven\plugins\maven-compiler-plugin\2.5.1\maven-compiler-plugin-2.5.1.pom
    
    
    [INFO] ------------------------------------------------------------------------
    [INFO] For more information, run Maven with the -e switch
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: < 1 second
    [INFO] Finished at: Thu Oct 11 14:21:26 CEST 2018
    [INFO] Final Memory: 4M/24M
    [INFO] ------------------------------------------------------------------------
    

    I checked the POM file in the specified location and found that it contains following message:

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>301 Moved Permanently</title>
    </head><body>
    <h1>Moved Permanently</h1>
    <p>The document has moved <a href="https://robocode.sourceforge.io/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.pom">here</a>.</p>
    </body></html>
    

    I tried to access the specified URL aswell, but it seems to be 404'ed. I also tried to check if there are similar files on the server under "https://robocode.sourceforge.io/maven2/..." and there seems to be a version 2.0.2. Using this POM file instead of the faulty one generates the following message when trying to run mvn assembly:

    [INFO] Error building POM (may not be this project's POM).
    
    
    Project ID: null:maven-compiler-plugin:maven-plugin:2.0.2
    
    Reason: Cannot find parent: org.apache.maven.plugins:maven-plugins for project: null:maven-compiler-plugin:maven-plugin:2.0.2 for project null:maven-compiler-plugin:maven-plugin:2.0.2
    

    Anway, how can I fix this issue, or even more simply, is there a way to get a compilable 1-packet version of the robocode source that I can run and build in Eclipse, since I only want to fiddle with a fixed version of the code and don't require future updates.

    Thanks in advance

    Dario Romano

     
    • Flemming N. Larsen

      The build setup for Robocode is old and complicated. It is not easy to get
      up and running with the newest Java and Maven versions.

      You should make sure to use the JDK version 8. Not newer versions.
      It seems you are using Maven 4. But Robocode is build for Maven 3.5.2.

      I propose to remove the mvn.bat and mvh.sh files in the root of your
      robocode source code directory, so that mvnassembly does not use these.
      Then you could run the Maven Wrapper to install Maven 3.5.2 locally in the
      folder. This way, you do not need to have multiple Maven installations in your
      computer, but could stick to Maven 4 globally.
      To install the Maven wrapper inside the Robocode root folder, you must run
      this command in the root folder:

      mvn -N io.takari:maven:wrapper -Dmaven=3.5.2

      (You can read more about it here: https://www.baeldung.com/maven-wrapper)

      Next, you should be able to call 'mvnassembly' again, and hopefully not run
      into problems. But make sure to use JDK 8 (javac 8) or older when building
      Robocode.

      Also notice, that I did a commit fixing problems with Maven-3 in the
      pom.xml files, so you should pull the newest versions when reading this
      mail.

      I did test this on my Windows 10 PC from a clean directory to try it out. I
      have Maven 3.5.2 installed on my PC, and JDK 8 setup for Robocode. (I also
      have newer JDKs on my machine, but I shift to the old JDK 8, when building
      Robocode).

      I hope this helps?

       
  • Dario Romano

    Dario Romano - 2018-10-16

    Thank you for the help. I followed your instruction but now seem to be stuck at another problem.
    Installing the wrapper in the directory works, but trying to run mvnassembly gives me the following error:

    C:\myRobocode\robocode>mvnassembly
    Found "C:\myRobocode\robocode\.mvn\wrapper\maven-wrapper.jar"
    [INFO] Scanning for projects...
    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Build Order:
    [INFO]
    [INFO] Robocode
    [INFO] Robocode API
    [INFO] Robocode Core
    [INFO] Robocode Host
    [INFO] Robocode Repository
    [INFO] Robocode Battle
    [INFO] Robocode Sound
    [INFO] Robocode UI
    [INFO] Robocode UI Robot editor
    [INFO] Robocode Samples
    [INFO] Roborumble Client
    [INFO] Robocode Tested Robots
    [INFO] Robocode Tests
    [INFO] Robocode Installer
    [INFO] Robocode Content
    [INFO] Robocode Distribution
    [WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
    [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-compiler-plugin:2.5.1: Plugin org.apache.maven.plugins:maven-compiler-plugin:2.5.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1
    [WARNING] The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
    [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-clean-plugin:2.5: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5
    [WARNING] The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
    [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-clean-plugin:2.5: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5
    [WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
    [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-compiler-plugin:2.5.1: Plugin org.apache.maven.plugins:maven-compiler-plugin:2.5.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1
    [INFO]
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Robocode 1.9.3.3
    [INFO] ------------------------------------------------------------------------
    [WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
    [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-compiler-plugin:2.5.1: Plugin org.apache.maven.plugins:maven-compiler-plugin:2.5.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1
    [WARNING] The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
    [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-clean-plugin:2.5: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5
    [WARNING] The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
    [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-clean-plugin:2.5: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5
    [WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
    [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-compiler-plugin:2.5.1: Plugin org.apache.maven.plugins:maven-compiler-plugin:2.5.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1
    [WARNING] The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary:
    [INFO]
    [INFO] Robocode ........................................... FAILURE [  0.068 s]
    [INFO] Robocode API ....................................... SKIPPED
    [INFO] Robocode Core ...................................... SKIPPED
    [INFO] Robocode Host ...................................... SKIPPED
    [INFO] Robocode Repository ................................ SKIPPED
    [INFO] Robocode Battle .................................... SKIPPED
    [INFO] Robocode Sound ..................................... SKIPPED
    [INFO] Robocode UI ........................................ SKIPPED
    [INFO] Robocode UI Robot editor ........................... SKIPPED
    [INFO] Robocode Samples ................................... SKIPPED
    [INFO] Roborumble Client .................................. SKIPPED
    [INFO] Robocode Tested Robots ............................. SKIPPED
    [INFO] Robocode Tests ..................................... SKIPPED
    [INFO] Robocode Installer ................................. SKIPPED
    [INFO] Robocode Content ................................... SKIPPED
    [INFO] Robocode Distribution .............................. SKIPPED
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 1.540 s
    [INFO] Finished at: 2018-10-16T13:26:10+02:00
    [INFO] Final Memory: 10M/153M
    [INFO] ------------------------------------------------------------------------
    [ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5: 4 problems were encountered while building the effective model for ::
    [ERROR] [ERROR] 'modelVersion' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknown-version]
    [ERROR] [ERROR] 'groupId' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknown-version]
    [ERROR] [ERROR] 'artifactId' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknown-version]
    [ERROR] [ERROR] 'version' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknown-version]
    [ERROR] -> [Help 1]
    [ERROR]
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR]
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException
    

    Apparently maven tries to download a plugin, but does not manage to.
    I tried to download the "maven-clean-plugin-2.5.jar" manually and install it by calling mvn install:maven-clean...., but that didn't work either.
    I'm not using a proxy, though I do use a network connection that requires login credentials. After entering them into Windows other applications shouldn't require those credentials though.

    Cheers

    Dario Romano

     
    • Flemming N. Larsen

      Okay, I suspect that some of the Maven plugins are getting too old in
      Robocode - even though I have had no problems with building Robocode with
      the old versions!?

      I have updated some of the Maven plugin versions of the super pom.xml, as
      the old versions might cause problems on your (and others) systems.
      I still build fine on my system with the updated versions. Try to pull the
      newest update to Robocode from Git with my changes and build again. I hope
      this works?

      I should like to see the Maven details for your system. Tell me about your
      Maven version by writing "mvn -version" in a command prompt/shell.
      My system writes this when I run it from a command prompt (not PowerShell):

      Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe;
      2018-06-17T20:33:14+02:00)
      Maven home: C:\Program Files\apache-maven-3.5.4\bin..
      Java version: 1.8.0_162, vendor: Oracle Corporation, runtime: C:\Program
      Files\Java\jdk1.8.0_162\jre
      Default locale: da_DK, platform encoding: Cp1252
      OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

      I upgrade to the newest Maven 3.5.4.

      Best regards,

      • Flemming

      Den tir. 16. okt. 2018 kl. 13.36 skrev Dario Romano:

      Thank you for the help. I followed your instruction but now seem to be
      stuck at another problem.
      Installing the wrapper in the directory works, but trying to run
      mvnassembly gives me the following error:

      C:\myRobocode\robocode>mvnassembly
      Found "C:\myRobocode\robocode.mvn\wrapper\maven-wrapper.jar"
      [INFO] Scanning for projects...
      [INFO] ------------------------------------------------------------------------
      [INFO] Reactor Build Order:
      [INFO]
      [INFO] Robocode
      [INFO] Robocode API
      [INFO] Robocode Core
      [INFO] Robocode Host
      [INFO] Robocode Repository
      [INFO] Robocode Battle
      [INFO] Robocode Sound
      [INFO] Robocode UI
      [INFO] Robocode UI Robot editor
      [INFO] Robocode Samples
      [INFO] Roborumble Client
      [INFO] Robocode Tested Robots
      [INFO] Robocode Tests
      [INFO] Robocode Installer
      [INFO] Robocode Content
      [INFO] Robocode Distribution
      [WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
      [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-compiler-plugin:2.5.1: Plugin org.apache.maven.plugins:maven-compiler-plugin:2.5.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1
      [WARNING] The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
      [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-clean-plugin:2.5: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5
      [WARNING] The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
      [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-clean-plugin:2.5: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5
      [WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
      [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-compiler-plugin:2.5.1: Plugin org.apache.maven.plugins:maven-compiler-plugin:2.5.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1
      [INFO]
      [INFO] ------------------------------------------------------------------------
      [INFO] Building Robocode 1.9.3.3
      [INFO] ------------------------------------------------------------------------
      [WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
      [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-compiler-plugin:2.5.1: Plugin org.apache.maven.plugins:maven-compiler-plugin:2.5.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1
      [WARNING] The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
      [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-clean-plugin:2.5: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5
      [WARNING] The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
      [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-clean-plugin:2.5: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5
      [WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
      [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-compiler-plugin:2.5.1: Plugin org.apache.maven.plugins:maven-compiler-plugin:2.5.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1
      [WARNING] The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
      [INFO] ------------------------------------------------------------------------
      [INFO] Reactor Summary:
      [INFO]
      [INFO] Robocode ........................................... FAILURE [ 0.068 s]
      [INFO] Robocode API ....................................... SKIPPED
      [INFO] Robocode Core ...................................... SKIPPED
      [INFO] Robocode Host ...................................... SKIPPED
      [INFO] Robocode Repository ................................ SKIPPED
      [INFO] Robocode Battle .................................... SKIPPED
      [INFO] Robocode Sound ..................................... SKIPPED
      [INFO] Robocode UI ........................................ SKIPPED
      [INFO] Robocode UI Robot editor ........................... SKIPPED
      [INFO] Robocode Samples ................................... SKIPPED
      [INFO] Roborumble Client .................................. SKIPPED
      [INFO] Robocode Tested Robots ............................. SKIPPED
      [INFO] Robocode Tests ..................................... SKIPPED
      [INFO] Robocode Installer ................................. SKIPPED
      [INFO] Robocode Content ................................... SKIPPED
      [INFO] Robocode Distribution .............................. SKIPPED
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD FAILURE
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 1.540 s
      [INFO] Finished at: 2018-10-16T13:26:10+02:00
      [INFO] Final Memory: 10M/153M
      [INFO] ------------------------------------------------------------------------
      [ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5: 4 problems were encountered while building the effective model for ::
      [ERROR] [ERROR] 'modelVersion' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknown-version]
      [ERROR] [ERROR] 'groupId' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknown-version]
      [ERROR] [ERROR] 'artifactId' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknown-version]
      [ERROR] [ERROR] 'version' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknown-version]
      [ERROR] -> [Help 1]
      [ERROR]
      [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
      [ERROR] Re-run Maven using the -X switch to enable full debug logging.
      [ERROR]
      [ERROR] For more information about the errors and possible solutions, please read the following articles:
      [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

      Apparently maven tries to download a plugin, but does not manage to.
      I tried to download the "maven-clean-plugin-2.5.jar" manually and install
      it by calling mvn install:maven-clean...., but that didn't work either.
      I'm not using a proxy, though I do use a network connection that requires
      login credentials. After entering them into Windows other applications
      shouldn't require those credentials though.

      Cheers

      Dario Romano

      Creating a runnable version of Robocode
      https://sourceforge.net/p/robocode/discussion/116459/thread/5d1ef0e08f/?limit=25#dcee


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/robocode/discussion/116459/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       
  • Dario Romano

    Dario Romano - 2018-10-18

    With the new updates in the project mvnassembly now succeeds in building. The POM files still get shown as having an error in eclipse, but since the assembly from command line works, i suppose it doesn't hurt much.
    Is the eclipse built in maven support even supposed to work, or is it designed to be built by calling mvnassembly manually via the command line?

    If it's still of any help, for this try I have installed Maven 3.5.2 to use globally, so my mvn --version prints this:

    C:\>mvn --version
    C:\
    Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T09:58:13+02:00)
    Maven home: C:\maven\bin\..
    Java version: 1.8.0_181, vendor: Oracle Corporation
    Java home: C:\Program Files\Java\jdk1.8.0_181\jre
    Default locale: de_AT, platform encoding: Cp1252
    OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
    

    Thank you for the help either way,

    Dario Romano

     

    Last edit: Dario Romano 2018-10-18
    • Flemming N. Larsen

      In general, Maven is "only" used to assemble the distribution files for
      Robocode. I do not use Maven when running Robocode inside Eclipse.

      In order to run Robocode in Eclipse, I open a new workspace, where the
      folder is the cloned Robocode directory. Note that mvnassembly must be
      called before setting up the Eclipse workspace.
      Next, I import all the Robocode projects I want to work with by selecting
      this from the menu: File -> Import... -> General -> Existing Projects into
      Workspace
      Select the root directory, which must (again) point to the cloned Robocode
      directory, and press the "Browse" button, Lots of project should be listed.
      Select them all (or some), and press "Finish" button.

      Next... Select "Organize Run Favorites" in menu under "Run" (green "play"
      button on top toolbar).
      Click "Add..." and put a checkmark into "Robocode", and press OK

      Now you can run Robocode by selecting "Robocode" under the "Run" button
      (same button as before) and proceed.

      Note: You might have to setup a JDK 8 for Robocode, if it has not been set
      up already. Otherwise you will not be able to run Robocode.

      Window -> Preferences -> Java -> Installed JREs. Press "Add..." -> Standard
      VMm and browse to where the JDK 8 is installed (or a newer JDK). The
      Execution Environment for JavaSE-1.8 must point to the JDK 8+ installation.
      I recommend that you stick to JDK 8 for Robocode to avoid issues.

      Sometimes, Robocode cannot launch because the /target/launch directory must
      be created prior to running Robocode. In this case clean/build Robocode by
      selecting this from the menu: Project -> Clean...
      You might also just clean the robocode.api/target folder, and Eclipse
      should automatically rebuild the target folder.

       
  • Dario Romano

    Dario Romano - 2018-10-19

    I tried running Robocode like you described, but as you anticipated, it runs into an error, that the launch directory does not exist.

    When trying to clean the project I'm running into anothe rissue. The build seems to be missing a directory that does not show up in the eclipse package explorer, but does exist when I browse there by using the windows explorer. Here a screenshot:

    I'm just a bit confused of why the folder is there physically, but is not being recognized by eclipse.

     
    • Flemming N. Larsen

      Hi Dario,

      I also see this error once in a while, when creating a Eclipse workspace
      for Robocode from scratch. I guess it is an issue with Robocode.
      However, it order to build everything correctly, I have created the
      /robocode.api/.externalToolBuilders/build.xml file, which might might have
      issues, if it is running in parallel to the internal builder of Eclipse. It
      could be a timing problem between builds.

      Does it help, if you clean/build Robocode from the menu: Project -> Clean.
      If not, you could try to expand the robocode.api project in Eclipse, and
      select the target folder and press the delete key to delete the folder.
      This should trigger Eclipse to rebuild the launch directory of Robocode.
      Perhaps try the refresh the robocode.api project.

      Is should work?! I just tried this from scratch to see, if something is
      missing with my instructions.

      Best regards,

      • Flemming
       
  • Dario Romano

    Dario Romano - 2018-10-23

    Hello Larsen!

    After fiddling around a bit, and changing a few paths in the build.xml in ExternalToolBuilders to match my local directories it now seems that everything works correctly!

    Thank you for your help, I wouldn't have managed by myself.
    Just to give you an idea what I'm no planning to do with robocode now that it's running:
    I'm going to inject probes to do requirements checking during runtime on an external framework.
    Basically what it should do is, to check if any game-rules are broken during runtime, so it acts as a anti-cheat during runtime. It could also be used to monitor other parts of the programm aswell during runtime, but since I'm not even started yet, I'm not going to make any promises. ;)

    Anyway thanks again, and have a nice week!
    Cheers

    Dario

     
    • Flemming N. Larsen

      I am happy, that you managed to get it up and running. I am wondering if
      there is anything I can do to improve the documentation better with the
      Developers Guide for Developing on Robocode (RoboWiki). I have started
      updating the documentation, as some of it was a bit outdated.

      It sounds very interesting to do a kind an anti-cheat? That has never been
      done with Robocode before.
      You might have a look at the RobocodeSecurityManager, which checks for
      several permissions on top of what the ordinary Java Security Manager
      already checks for. The security manager might not be relevant for your
      purpose, due to game rules etc, but it might get in the way if you try to
      inject stuff to monitor stuff. We'll just have to see, what happens. :-)

      Cheers

      Den tir. 23. okt. 2018 kl. 12.13 skrev Dario Romano dario-romano@users.sourceforge.net:

      Hello Larsen!

      After fiddling around a bit, and changing a few paths in the build.xml in
      ExternalToolBuilders to match my local directories it now seems that
      everything works correctly!

      Thank you for your help, I wouldn't have managed by myself.
      Just to give you an idea what I'm no planning to do with robocode now that
      it's running:
      I'm going to inject probes to do requirements checking during runtime on
      an external framework.
      Basically what it should do is, to check if any game-rules are broken
      during runtime, so it acts as a anti-cheat during runtime. It could also be
      used to monitor other parts of the programm aswell during runtime, but
      since I'm not even started yet, I'm not going to make any promises. ;)

      Anyway thanks again, and have a nice week!
      Cheers

      Dario

      Creating a runnable version of Robocode
      https://sourceforge.net/p/robocode/discussion/116459/thread/5d1ef0e08f/?limit=25#5f1f


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/robocode/discussion/116459/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       
  • Dario Romano

    Dario Romano - 2018-11-29

    Hello!

    Now that I have modified robocode to work with the runtime monitoring framework, I would like to use robocode to produce a short demonstrator video for the tool using robocode.
    I wanted to ask, if there are any images I am allowed to use in this demonstration video, like the robocode logo that is shown in the game when no battle is active, or any other representative logo for robocode.

    Cheers

    Dario Romano

     
  • Dario Romano

    Dario Romano - 2018-11-30

    Yes, since I will be showing footage from robocode matches in the demo, I sure wanted to give it some credit. If you are ok with this, I will also mention you in the outro for helping me set robocode up. If you want I could also add a link to the robocode website / wiki ?

     
  • Dario Romano

    Dario Romano - 2018-12-04

    The video is now live here. It can be found at the end of the article. The video is not listed on youtube and should be only visible to those who have the link or those who watch it on the website.

     

    Last edit: Dario Romano 2018-12-04

Log in to post a comment.

Auth0 Logo