bioruby-gem

BioGem is a scaffold generator for those Bioinformaticans who want to start coding an application or a library for using/extending BioRuby’s core library and sharing it through rubygems.org .

The basic idea is to simplify and promote a modular approach to the BioRuby package.

BioGem is not reinventing the wheel just putting together different tools like Jeweler and Bundler modifing their original behaviour when needed. Jeweler is used to create the initial scaffold, setting up git for versioning, releasing it to github.com and/or rubygems.org and packaging. Bundler is used used for setting up a predefined developing environment.

Remind that

  • Jeweler is based on rake $ rake -T in your project directory gives you an overview of the available actions

  • GitHub.com and RubyGems.org are two different services and you need to create different accounts for them if you already use GitHub.com you are already all set for using BioGem

Contributing to bioruby-gem

  • Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet

  • Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it

  • Fork the project

  • Start a feature/bugfix branch

  • Commit and push until you are happy with your contribution

  • Make sure to add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.

Step by Step

  • gem install jeweler

  • jeweler bioruby-mystuff

  • cd bioruby_mysuff

  • bundle install

  • rake version:write

  • rake gemspec

  • rake install

Some of these steps have been condensed:

  • gem install bio-gem (not yet published on rubygems, grab it from github github.com/helios/bioruby-gem and build the gem (gem build bioruby-gem.gemspec; gem install bioruby-gem.gem))

  • $ biogem mystuff

    • pass just the simple name, it will add bioruby- for the first level directory and for the github repository BUT you’ll require the library with bio-mystuff (and this will be the name used on rubygems)

    • creates a basic gem structure with a default dependencies for bioruby (bio) version 1.4.1

|– Gemfile |– Gemfile.lock |– LICENSE.txt |– README.rdoc |– Rakefile |– lib | ‘– bio-mystuff.rb |– data | `– empty but put here your datasets or database(SQLite3?) `– test |– helper.rb `– test_bio-mystuff.rb

* $ cd bioruby-mystuff
* $ rake version:write (Initial Updated version: 0.0.0)
* $ rake gemspec
  • $ rake install (for local test)

  • hack, git add and commit

  • $ rake git:release (remember to create the project first)

  • WHEN you have finished with the hacking you can release the gem by typing:

    • $ rake release

NoTes For Developers

  • Update your rubygems environment

  • Keep in mind that Jeweler handles everything is under the control of you git repository, so there is no need to modify the Rakefile or the tasks for including some file, directory etc to you project; just git add your_file_or_directory. Remeber to modify .gitignore to exclude files.

  • Explore the rake tasks with

    • $ rake -T

TODO

  • better command line, wrap or reimplement some of the funcionalities provided by Bundler and Jeweler

Copyright © 2010 Raoul J.P. Bonnal. See LICENSE.txt for further details.