Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: 0.9.8
Fetching contributors…

Cannot retrieve contributors at this time

file 51 lines (33 sloc) 1.91 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
# NOTE: This is a work in progress. As of July 24, it applies only to dm-core.

# Contributing to Edge DataMapper

We have now implemented Hoe throughout the DataMapper suite, so there will be a
handful of new procedures for contributing to our git repositories. I'll give
you a run through of how to set up your machine, and then provide a few
commands that should be run before committing or pushing changes.

## Installing and configuring Hoe

The first step is to install hoe. You'll need at least version 1.7.0.

    (sudo) gem install hoe --include-dependencies
    
Now you'll need to configure hoe. You'll need to run this from inside of
dm-core, or one of the other DataMapper projects.

    rake config_hoe
    
The only thing you should need to change is the exclude regular expression,
which needs to look like this:

    exclude: !ruby/regexp /tmp$|CVS|\.svn|\.git|.+\.gemspec/
    
Now you have the correct setup for contributing.

## Before committing changes

Before you commit changes, you must verify that `Manifest.txt` (the file which
contains the names of every file to be included in a gem release) and
`[project-name].gemspec` are up to date. We have create a rake task to make
this easy:

    rake gemspec
    
This will check `Manifest.txt` (using Hoe's `rake check_manifest`) to ensure
there are no differences between the files in the project, and those listed in
the manifest. If there is a difference, it will display a warning and a list of
the differences in `diff` format.

If the changes in the diff are correct, then you can run the following command
to update the manifest.

    rake check_manifest | patch
    
If there are files you do not want added to the manifest, then you should
remove the files from the project, and then run `rake gemspec` again.

If `rake gemspec` says it was successful, then you can proceed with committing
and pushing your changes.
Something went wrong with that request. Please try again.