BIRCH/Winbirch/Development

From Bioinformatics.Org Wiki

Jump to: navigation, search

Contents

To Do

Top priority is to get the birchdev repository online at git.cc.umanitoba.ca, and move all repositories there.

Current development

Bug fixing, testing, biolegato integration, git integration.

Development of Binaries for Winbirch:

Developer tooling

Development on windows is done in the msysgit environment, using apache ant to build.


Developer workflow

The developer workflow consists of:

rdesktop -K -g "1280x980" -a 24 albacore.cs.umanitoba.ca:63389 -u [USERNAME -p PASSWORD]#for windows XP
rdesktop -K -g "1280x980" -a 24 albacore.cs.umanitoba.ca:64389 -u [USERNAME -p PASSWORD]#for windows 7
ant && java -jar getbirch.jar
git commit -a -m "This is a stable prototype for feature X" && git push
git tag TAGNAME [REF] && git push --tags #Note: git tag -d TAGNAME #must be pre-pended in order to update/remove a tag

Getting Started

This presumes a basic knowledge of git, you should be able to make a commit, email an id_rsa.pub file to the admin, and push to remote repositories.

In order to use git on windows, you must be comfortable with a unix command line.

First, install the dependencies:

ssh-keygen.exe #press enter to use default options until it completes.


You are now ready to clone a repository. You will probably need getbirch.git, cygwin.git, and birchdev.git.

git clone gitolite@hake.cs.umanitoba.ca:getbirch.git
git clone gitolite@hake.cs.umanitoba.ca:birchdev.git
git clone gitolite@hake.cs.umanitoba.ca:cygwin.git

Getbirch development

Getbirch is used to install winbirch, and sets up cygwin appropriately. The cygwin.git repository is used for this functionality. Essentially, getbirch is used to:

  1. Fetch and install the cygwin dependencies, using the cygwin.git repo
  2. Install a BIRCH framework inside of the cygwin environment

In order to make changes to the winbirch install process, getbirch must be used, thus, any changes to the winbirch install process are done by modifying getbirch.git, and possibly cygwin.git.

Framework development

The framework that getbirch will use is hosted on birchdev.git, so any changes that require modifications to the framework must be made on the birchdev.git repository.

Note that in order to push changes to the framework, you must have the metastore pre-commit and post-pull hooks installed to backup/restore permissions and timestamps. Instructions on how to do this will be added when the birchdev.git repository is fully operational.

Cygwin development

The structure of the cygwin repository is important. The sources for the cygwin framework are preserved here, by committing the FTP directory with executables to the repository. This allows for cygwin to do an offline install, which is much quicker.

Primarily, the other scripts in the cygwin repository are wrapper scripts, and there is also a script to rebuild the cygwin tarball on the FTP server.

Wrapper scripts:


Binary development

Currently there is no binary repository, but there is an old SVN repository still kicking around that contains a number of useful files. Binary and lib directories for winbirch must be created.

Personal tools
Namespaces
Variants
Actions
wiki navigation
Toolbox