Want to add features to Rhodes? Found a bug that you want report or fix?
First run the rhodes specs to make sure your environment is up-to-date for development (currently the specs only run on OSX):
Clone your new repo:
$ git clone git://github.com/<yourhandle>/rhodes.git $ cd rhodes $ bin/rhodes-setup $ rake run:allspecs #=> runs rhodes framework_spec and phone_spec targets
If everything passes (pending specs are OK), then your environment is ready for development. If you have trouble installing a particular gem or the specs just won’t run properly, please feel free to ping the google group or hop on IRC to chat with other Rhodes developers.
Now that you’re environment is ready, make your changes!
$ git checkout -b cool_new_feature
$ git push origin cool_new_feature
That’s it! We recommend following these ruby style guidelines when coding.
If you are interested us using your patch to Rhodes you will need to submit a contribution agreement to us.
Rhodes includes automated tests that can (and should) be run periodically against the codebase if you’re modifying the Rhodes framework itself.
The automated tests are a part of the Rhodes project on GitHub. To obtain the Rhodes source code and access the automated tests, follow the instructions in the Setup Rhodes Source Code section. You will find two automated test sets under rhodes/spec/. One is called phone_spec, the other is framework_spec.
Assuming you have already downloaded the necessary SDKs (instructions can be found here), all you need to do is execute the appropriate rake task. To execute the phone_spec, for example, you can do the following in Terminal:
$ cd rhodes/spec/phone_spec $ rake run:platform:spec
Where platform is “android” to run it for Android, “iphone” for iPhone, “bb” for BlackBerry. As a shortcut, you can also execute any of the following supported tasks:
$ rake run:iphone:spec # Runs spec tests for the current directory $ rake run:iphone:phone_spec # Runs spec tests for rhodes/spec/phone_spec $ rake run:iphone:framework_spec # Runs spec tests for rhodes/spec/framework_spec $ rake run:android:spec # Runs spec tests for the current directory $ rake run:android:phone_spec # Runs spec tests for rhodes/spec/phone_spec $ rake run:bb:spec # Runs spec tests for the current directory $ rake run:bb:phone_spec # Runs spec tests for rhodes/spec/phone_spec
Rhomobile performs continuous testing of the framework_spec on iPhone and the phone_spec on iPhone and BlackBerry via a customized branch of the CIJoe project. Support for the Android phone_spec is currently functional but under development.