summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/hacking/index.rst104
1 files changed, 62 insertions, 42 deletions
diff --git a/docs/hacking/index.rst b/docs/hacking/index.rst
index 407a73f5..66c33bab 100644
--- a/docs/hacking/index.rst
+++ b/docs/hacking/index.rst
@@ -1,9 +1,9 @@
-:LastChangedDate: $LastChangedDate$
-:LastChangedRevision: $LastChangedRevision$
-:LastChangedBy: $LastChangedBy$
+:LastChangedDate: $LastChangedDate$ :LastChangedRevision: $LastChangedRevision$
+ :LastChangedBy: $LastChangedBy$
Hacking
========================================
+
So you want to hack on Bitmask?
Thanks, and welcome!
@@ -14,6 +14,7 @@ Tox is all you need::
tox
+
Test when changes are made to common/soledad
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -31,56 +32,27 @@ Setting up the development environment
Dependencies::
sudo apt install build-essential python-virtualenv libsqlcipher-dev \
- libssl-dev libffi-dev python-pyqt5
+ libssl-dev libffi-dev python-pyqt5
+
+
+Clone the repo::
+ git clone https://0xacab.org/leap/bitmask-dev
+ cd bitmask-dev
Create a virtualenv and activate it::
- mkvirtualenv venv
+ virtualenv venv
source venv/bin/activate
-(but consider using something like `pew`_ if you are going to do heavy development
-though).
+By the way, if you plan to get into heavy development, you might want to
+consider using something like `pew`_, instead of the plain virtualenv.
Now you should be able to install all the bitmask dependencies::
make dev-latest-all
-.. _`pew`: https://pypi.python.org/pypi/pew/0.1.26
-
-How to contribute
----------------------------------
-
-Send your merge requests to https://0xacab/leap/bitmask-dev
-
-Coding conventions
----------------------------------
-* pep8
-* Git messages should be informative.
-* There is a pre-commit hook ready to be used in the ``docs/hooks`` folder,
- alongside some other hooks to do autopep8 on each commit.
-
-.. include:: ../hooks/leap-commit-template.README
- :literal:
-
-Pinning
-----------------------------------
-Don't introduce any pinning in the setup.py file, they should go in the
-requirements files (mainly ``pkg/requirements.pip``).
-
-
-Signing your commits
----------------------------------
-* For contributors with commit access, you **should** sign all your commits. If
- you are merging some code from external contributors, you should sign their
- commits.
-
-Merging code
----------------------------------
-Avoid fast-forwards. Put this in your gitconfig::
-
- [merge]
- ff = only
+.. _`pew`: https://pypi.python.org/pypi/pew
Main Bitmask Components
@@ -117,6 +89,54 @@ This extension gets published to the `mozilla addons page`_.
.. _`mozilla addons page`: https://addons.mozilla.org/en-US/thunderbird/addon/bitmask
+How to contribute code
+---------------------------------
+
+* Send your merge requests to https://0xacab/leap/bitmask-dev, it will be subject
+to code-review.
+* Please base your branch for master, and keep it rebased when you push.
+* After review, please squash your commits.
+
+
+Coding conventions
+---------------------------------
+
+* Follow pep8 for all the python code.
+* Git messages should be informative.
+* There is a pre-commit hook ready to be used in the ``docs/hooks`` folder,
+ alongside some other hooks to do autopep8 on each commit.
+
+.. include:: ../hooks/leap-commit-template.README
+ :literal:
+
+Dependencies
+----------------------------------
+
+We try hard not to introduce any new dependencies at this moment. If you really
+have to, the packages bitmask depends on have to be specified *both* in the
+setup.py and the pip requirements file.
+
+Don't introduce any pinning in the setup.py file, they should go in the
+requirements files (mainly ``pkg/requirements.pip``).
+
+
+Signing your commits
+---------------------------------
+
+For contributors with commit access, you **should** sign all your commits. If
+you are merging some code from external contributors, you should sign their
+commits.
+
+Merging code
+---------------------------------
+
+Avoid fast-forwards, they make a very messy history. Put this in your
+gitconfig::
+
+ [merge]
+ ff = only
+
+
Making a new release
--------------------