forked from datamapper/dm-core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CONTRIBUTING
51 lines (33 loc) · 1.87 KB
/
CONTRIBUTING
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.