HowToContribute

haf edited this page Oct 24, 2011 · 9 revisions

If you would like to contribute to the Albacore framework, there are a number of things that you can do, including code contributions, bug fixes, idea submissions, user group discussions, etc.

Github Issues List

Anyone can submit an item to the issues list directly. Just click the “Issues” tab on Derick Bailey’s github repository for Albacore. You can add comments to existing items, add new items, vote for them, etc.

Google Groups

There is a user group set up over on google groups: AlbacoreDev Here you can post any kind of discussion you wish, pertaining to Albacore. This includes questions, comments, bugs, ideas, or anything else you want to discuss.

Code Submissions

If you would like to submit code patches to Albacore, the first thing you need to do is fork the repository to your github account. After you have made the changes that you want, send a pull request to Derick Bailey. For more information on how to go about the fork / pull request process, see the Forking A Project github help page.

AutoCRLF

Before you begin working with Albacore, be sure to set your AutoCRLF option correctly.

Rebasing / Merging from Derick Bailey’s Dev Branch

Before you send in a Pull Request, be sure you have rebased or merged your working branch with alll changes that are in the Dev branch of the canonical repository . If you don’t property rebase / merge from the master repository, your pull request may cause a lot of conflicts and might be ignored or rejected.

Dependencies

If you wish to write / run any of the suite of specs for Albacore, you will need several dependencies installed. If you have installed Albacore via the gem, you will have most of the dependencies you need, but not all of them. If you have only forked / cloned Albacore, you may not have any of the required dependencies.

To install the Albacore dependencies for runtime and development effort, follow the instructions on the Readme of the repository for manually building the gem. This will instruct you on how to use Bundler to install all required dependencies for development and building the gem.

Running The RSpec Tests

If you wish to run the rspec test suite, you can get a list of the available specs by running rake -T in the root of your Albacore clone. The specs:all task will run every spec. Others will run only the stated specs.

To get colourization with RSpec ~> 2.7, download ansicon [direct link], unzip it, then:

1. open cmd/powershell and navigate to the unzipped folder
2. Navigate to x64 (if you have a 64 bit machine) otherwise navigate to x86
3. Type ansicon.exe -h for help or ansicon.exe -i to install it.

Note on NCover and NDepend Specs

You must have a valid NCover and NDepend license installed on your system, to run the those specs. If you do not have a license installed, you will receive an error while attempting to run these specs. If you don’t have licenses for these, are not working on these tasks, and don’t want to pay for the licenses, you can safely ignore these failing specs. They will be run, along with all other tests, when any pull request is made, ensuring no functionality has been broken.