1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Manifest.xml + SVN issues

Discussion in 'Developer Support' started by Stunt, Apr 9, 2015.

  1. Stunt

    Joined:
    Apr 7, 2015
    Messages:
    18
    Likes Received:
    9
    So I have been trying to set up a simple bot to dip my feet into programming for RuneMate, but I cannot seem to get the bot to behave with SVN. I have created a very basic bot and am trying to test it by committing my changes to SVN and finding the bot on the RuneMate store page. Currently whenever I try to push a bot update, I get a message that my bot cannot be found in SVN. A few things I know:

    • I have checked the SVN page and I see the commit inside of my repository.
    • My manifest.xml is most likely incorrect, code is posted below.
    I followed a very basic tutorial to try to get up and running, but in all reality I am not very well versed on how things work around here so I could totally just be barking up the wrong tree. I can post more info it if is needed.

    Now for a question about manifest.xml. As far as the main-class element goes, what exactly do I put here? My current project setup looks like this to my main loop:

    BotProject/src/IvyChopMain

    So I assume I want something like:

    com.src.IvyChopMain

    as my Main-Class. However, I am just sort of spitballing here. What is the proper syntax for setting up the Main-Class?

    Here is my manifest.xml as it stands:

    Code (Text):
    1. <manifest>
    2.     <main-class>com.src.StuntIvyCutter</main-class>
    3.     <name>Stunt's Ivy Chopper</name>
    4.     <description>A beginners dive into scripting. Simple Ivy cutting.</description>
    5.     <version>1.0</version>
    6.     <compatibility>
    7.         <game-type>RS3</game-type>
    8.     </compatibility>
    9.     <categories>
    10.         <category>WOODCUTTING</category>
    11.     </categories>
    12.     <!--Required to publish on the bot store-->
    13.     <internal-id>PowerChopper</internal-id>
    14.     <!--The rest are optional-->
    15.     <open-source>false</open-source>
    16.     <hidden>false</hidden> <!--If you need to hide it from the bot store for maintenance-->
    17.     <access>public</access>
    18.     <tags>
    19.         <tag>Tree</tag>
    20.     </tags>
    21.     <resources>
    22.         <resource>path/to/file.png</resource>
    23.     </resources>
    24. </manifest>
    Anything incorrect I should be changing?
     
    #1 Stunt, Apr 9, 2015
    Last edited: Apr 9, 2015
  2. SlashnHax

    Joined:
    Dec 10, 2014
    Messages:
    3,198
    Likes Received:
    1,041
    First of all I suggest reading this: http://docs.oracle.com/javase/tutorial/java/package/
    The main-class is the well, main class, relative to the project root. If your file is at BotProject/src/IvyChopMain, then the project root is src, and the main class reference will be IvyChopMain.

    I suggest structuring your project using packages, as it helps keep everything nice and tidy :D
    [​IMG]
     
    Geashaw likes this.
  3. Geashaw

    Joined:
    Jan 8, 2015
    Messages:
    1,429
    Likes Received:
    252
    I think the mainclass should be ;
    com.src.IvyChopMain.IvyChopMain

    @Aidden knows stuff
     
  4. Stunt

    Joined:
    Apr 7, 2015
    Messages:
    18
    Likes Received:
    9
    Hey, thanks for the reply! I actually used your tutorial to create my basic bot :). I have used packages for the majority of java programming during schooling, but I have never really understood why they were used and just sort of threw them around haha. I'll run through the tutorial.

    With all of that said, am I right in my thinking that once the SVN commit is made and the bot is found, I will be able to select the bot from the store page and test it out? Is there a more widely used method for testing while developing or is this generally how it goes?
    --- Double Post Merged, Apr 9, 2015, Original Post Date: Apr 9, 2015 ---
    Ill try it out, thanks!
     
  5. Aidden

    Aidden Author of MaxiBots

    Joined:
    Dec 3, 2013
    Messages:
    6,482
    Likes Received:
    990
    Pretty sure Slashnhax is correct. But @Stunt does the client actually find your script bot locally? if so then it's not an issue with your manifest
    --- Double Post Merged, Apr 9, 2015, Original Post Date: Apr 9, 2015 ---
    You should always test locally before pushing to the sdn. And no, cloud or arbiter have to accept the bot first, until then it wont appear on the store.
     
  6. SlashnHax

    Joined:
    Dec 10, 2014
    Messages:
    3,198
    Likes Received:
    1,041
    Haha, that's one thing that schools and even universities don't teach properly, packaging -__-
    Once you commit to svn, the bot has to then be approved and pushed through the queue by @Arbiter or @Cloud, then you can run the SDN version.
    For testing while developing, you can use the -sdk program argument to boot runemate in developer mode, where you can test local bots and have access to more developer-related information.
     
  7. Aidden

    Aidden Author of MaxiBots

    Joined:
    Dec 3, 2013
    Messages:
    6,482
    Likes Received:
    990
    There's a tutorial in the tutorials section on how to run the client in sdk mode. Follow that and maybe even have a look over my aio tutorial for scripting with runemate
     
  8. Stunt

    Joined:
    Apr 7, 2015
    Messages:
    18
    Likes Received:
    9
    Ah I see. Ill look into the local testing. I was having issues with my local launch using an old version of Java, but launching my jar via double click uses the most recent version. Ill go ahead and fix the local test and test that way. Thanks everyone!
     
  9. Arbiter

    Arbiter Mod Automation

    Joined:
    Jul 26, 2013
    Messages:
    2,937
    Likes Received:
    1,266
    Congratulations on taking your first steps to becoming a Bot Author and better programmer. Couple things for ya:

    1) Looking at your SVN you don't have a com package and src is your root src directory. This means that the main-class tag in your manifest should just be IvyMain.
    2) You do not need SVN to test bots locally. RuneMate has an SDK mode that can be enabled by adding the -sdk flag in command line, which can be used to test local bots. Details can be found in multiple threads in Tutorials & Resources, including @Aidden's AIO Guide. SVN is used for publishing to the Bot Store and usually involves a code review by one of the Executives.
    3) You should join us in our Skype dev chat. We'll help you get bootstrapped in no time. Message me your Skype if you're interested. :)
     
  10. Stunt

    Joined:
    Apr 7, 2015
    Messages:
    18
    Likes Received:
    9
    1) Thanks for the tip. I figured I had a unique naming convention issue, especially since I was just throwing names around.
    2) Looking into it now. I am having issues with my machine launching an older version of java from the command line, so I am looking into how to fix that.
    3) Ill probably jump on tomorrow. It's almost 4am so I probably should sleep sometime soon ;). Thanks for all the help though.
     

Share This Page

Loading...