Version 9 (modified by 12 years ago) ( diff ) | ,
---|
Table of Contents
So, you want to do some contribution for iPeer project. Just follow the following steps to make your own local development environment.
Setup
For External Developers and Contributers
- Get a GitHub Account from https://github.com.
- Install Git on your local computer.
- Fork the iPeer project (https://github.com/ubc/iPeer) into your account and clone the code from your forked repo: http://help.github.com/fork-a-repo/
- Additional steps to set up
- Pull the Guard plugin.
cd ipeer git submodule init git submodule update
- Pull the Guard plugin.
- Setup coding standard
- Starting developing~
- Once you finished, you can issue a pull request so that we can merge your changes to the iPeer repo. http://help.github.com/send-pull-requests/
For Internal Developers and Contributers
- Follow steps 1 and 2 for External Developers and Contribuers above
- Follow the steps in https://help.github.com/articles/generating-ssh-keys to generate a ssh key for your github account
- Clone the code
git clone git@github.com:ubc/iPeer.git
- Additional steps to set up. Pull the Guard plugin.
cd ipeer git checkout cakephp1.3 git submodule init git submodule update
- (XAMPP) go to xampp/htdocs/app/plugins/guard/config, open guard.php. You will have to do something similar if you are using any other web server.
- Make the following changes
//$config['Guard.AuthModule.Name'] = 'Shibboleth'; // Using Shibboleth module $config['Guard.AuthModule.Name'] = 'Default'; // Using default (build-in) module
- Copy guard.php to xampp/htdocs/app/config
See, that's not very hard.
Debugging
For version 2.x
To turn on debug mode, change the line in file app/config/core.php from:
define('DEBUG', 0);
to
define('DEBUG', 2);
For version 3.x
To turn on debug mode, change the line in file app/config/core.php from:
Configure::write('debug', 0);
to
Configure::write('debug', 2);
Running Tests
In order to run tests, you will need Phing and OAuth (required to run controller tests). You also need to set up a test database, named the same as your database in app/config/database.php with suffix "_test", e.g. ipeer_test.
To run the tests, simply call the following commands at the root of the directory:
phing test
Branching Strategy
Branches in public repo and the purpose of each branch:
- 2.x: iPeer 2.x code base. Each commit on this branch will be a new version to release.
- dev: The branch we are working on day to day
- master: iPeer 3.x code base. Each commit on this branch will be a new version to release.
You can/should create local branch if you are working on a new feature or non-trivia bug fix. Then merge back to dev. You may use rebase or not depending on the complexity of the work.
There are also some changes on Jenkins setup. There are 5 jobs: iPeer_2.x, iPeer_3.x, iPeer_dev, iPeer_Release_2.x and iPeer_Release_3.x.
- Any push to 2.x branch will trigger iPeer_2.x job. If the job success, iPeer_Release_2.x will be triggered and will publish a new version for 2.x.
- Any push to master branch will trigger iPeer_3.x job. If the job success, iPeer_Release_3.x will be triggered and will publish a new version for 3.x
- Any push to dev branch will trigger dev job. No release will be published.
Old and new branches mapping (branches renamed as of Nov 18th, 2012)
- master -> 2.x
- cakephp1.3 -> dev
- cakephp1.3 -> master
removed compatibility branch