diff options
author | Alexis Hildebrandt <afh@surryhill.net> | 2015-01-11 16:57:21 +0100 |
---|---|---|
committer | Alexis Hildebrandt <afh@surryhill.net> | 2015-01-11 16:57:21 +0100 |
commit | 719049a98948069bb8c49c0761bddc140ef2e15e (patch) | |
tree | 836ae94efea371e2ebded7cb1aa43092757e937c | |
parent | 64a7b1349213ccb9627be90ca2f324fab0ac2ea1 (diff) | |
download | fork-ledger-719049a98948069bb8c49c0761bddc140ef2e15e.tar.gz fork-ledger-719049a98948069bb8c49c0761bddc140ef2e15e.tar.bz2 fork-ledger-719049a98948069bb8c49c0761bddc140ef2e15e.zip |
Merge DEVELOP.md into CONTRIBUTING.md
Improve readability of Markdown by moving links
to the bottom of the file.
[ci skip]
Signed-off-by: Alexis Hildebrandt <afh@surryhill.net>
-rw-r--r-- | CONTRIBUTING.md | 110 | ||||
-rw-r--r-- | doc/DEVELOP.md | 81 |
2 files changed, 109 insertions, 82 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a4b8b14f..bab3f7c8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,7 +2,115 @@ Tips for contributors --------------------- * Please **make pull requests against `next`, not `master`**. - Ledger follows a [git-flow](http://nvie.com/posts/a-successful-git-branching-model/) branching model, + Ledger follows a [git-flow] branching model, in which development happens on the `next` branch and is subsequently merged into `master` for releases. * If you're making **changes to `ledger-mode`, or other files for which the Travis build is not relevant**, please **add `[ci skip]` to the end of the commit message**. + +GLOSSARY +---- + +Developing the Ledger software uses a number different tools, not all of +which will be familiar to all developers. + +**[Boost]**: a standard set of C++ libraries. Most +Boost libraries consist of inline functions and templates in header files. + +**[Boost.Python]**: C++ library which enables seamless interoperability +between C++ and the Python programming language. + +**[Cheetah]**: a Python templating engine, used by `./python/server.py`. + +**[CMake]**: A cross platform system for building from source code. It uses +the `CMakeLists.txt` files. + +**[Doxygen]**: generates programming documentation from +source code files. Primarily used on C++ sources, but works on all. Uses +the `doc/Doxyfile.in` file. + +**[GCC]**: Gnu Compiler Collection, which includes the +*gcc* compiler and *gcov* coverage/profiler tool. + +**[clang]**: C language family frontend for LLVM, which +includes the *clang* compiler. + +**[GMP]**: Gnu Multiple Precision Arithmetic Library +provides arbitrary precision math. + +**[MPFR]**: Gnu Multiple Precision Floating-point Library +with correct rounding. + +**[Markdown]**: A typesetter +format that produces *html* files from *.md* files. Note that GitHub +automatically renders *.md* files. + +**[SHA1]**: a marginally secure cryptographic hash function, used only for +signing the license file. + +**[Texinfo]**: Gnu documentation +typesetter that produces *html* and *pdf* files from the `doc/\*.texi` files. + +**[Travis CI]**: a hosted continuous integration + service that builds and runs tests each commit posted to GitHub. Each + build creates a [log], updates a [small badge] at + the top left of the main project's + [README.md], and + emails the author of the commit if any tests fail. + +**[utfcpp]**: a library for handling utf-8 in a variety of C++ versions. + + +Orientation +--- + +The source tree can be confusing to a new developer. Here is a selective +orientation: + +**./acprep**: a custom thousand-line script to install dependencies, grab + updates, and build. It also creates `\*.cmake`, + `./CmakeFiles/` and other CMake temporary files. Use `./acprep --help` + for more information. + +**./README.md**: user readme file in markdown format, also used as the project + description on GitHub. + +**./contrib/**: contributed scripts of random quality and completion. They + usually require editing to run. + +**./doc/**: documentation, licenses, and + tools for generating documents such as the *pdf* manual. + +**./lib/**: a couple of libraries used in development. + +**./lisp/**: the [Emacs][] [ledger-mode] lisp code, under the [GPLv2] license. + +**./python/**: samples using the Python ledger module. + +**./src/**: the C++ header and source files in a flat directory. + +**./test/**: a testing harness with subdirectories full of tests + +**./tools/**: an accretion of tools, mostly small scripts, to aid development + + +[Boost]: http://boost.org +[Boost.Python]: http://www.boost.org/libs/python/ +[GMP]: http://gmplib.org/ +[MPFR]: http://www.mpfr.org/ +[Cheetah]: http://www.cheetahtemplate.org +[CMake]: http://www.cmake.org +[Doxygen]: http://doxygen.org +[Markdown]: https://daringfireball.net/projects/markdown/ +[SHA1]: http://en.wikipedia.org/wiki/SHA-1 +[Texinfo]: http://www.gnu.org/software/texinfo/ +[Travis CI]: https://travis-ci.org +[GCC]: http://gcc.gnu.org +[utfcpp]: http://utfcpp.sourceforge.net +[log]: https://travis-ci.org/ledger/ledger +[small badge]: https://img.shields.io/travis/ledger/ledger/master.svg?&style=flat +[git-flow]: http://nvie.com/posts/a-successful-git-branching-model/ +[README.md]: https://github.com/ledger/ledger/blob/master/README.md +[Emacs]: http://www.gnu.org/software/emacs/ +[ledger-mode]: http://ledger-cli.org/3.0/doc/ledger-mode.html +[GPLv2]: http://www.gnu.org/licenses/gpl-2.0.html +[clang]: http://clang.llvm.org diff --git a/doc/DEVELOP.md b/doc/DEVELOP.md deleted file mode 100644 index ce897741..00000000 --- a/doc/DEVELOP.md +++ /dev/null @@ -1,81 +0,0 @@ -GLOSSARY ----- - -Developing the Ledger software uses a number different tools, not all of -which will be familiar to all developers. - -[**Boost**](http://www.boost.org): a standard set of C++ libraries. Most -Boost libraries consist of inline functions and templates in header files. - -[**Cheetah**](http://www.cheetahtemplate.org): a Python templating engine, -used by *./python/server.py*. - -[**CMake**](http://www.cmake.org): A cross platform system for building -from source code. It uses the *CMakeLists.txt* files. - -[**DOxygen**](http://doxygen.org): generates programming documentation from -source code files. Primarily used on C++ sources, but works on all. Uses -the *doc/Doxyfile.in* file. - -[**GCC**](http://gcc.gnu.org): Gnu Compiler Collection, which includes the -*gcc* compiler and *gcov* coverage/profiler tool. - -[**GMP**](https://gmplib.org): Gnu Multiple Precision Arithmetic Library -provides arbitrary precision math. - -[**Markdown**](https://daringfireball.net/projects/markdown/): A typesetter -format that produces *html* files from *.md* files. Note that GitHub -automatically renders *.md* files. - -[**sha1**](http://en.wikipedia.org/wiki/SHA-1): a marginally secure -cryptographic hash function, used only for signing the license file. - -[**Texinfo**](http://www.gnu.org/software/texinfo/): Gnu documentation -typesetter that produces *html* and *pdf* files from the *doc/\*.texi* -files. - -[**Travis CI**](https://travis-ci.org): a hosted continuous integration - service that builds and runs tests each commit posted to GitHub. Each - build creates a [log](https://travis-ci.org/ledger/ledger), updates a - [small graphic](https://travis-ci.org/ledger/ledger.png?branch=master) at - the top left of the main project's - [README.md](https://github.com/ledger/ledger/blob/master/README.md), and - emails the author of the commit if any tests fail. - -[**utfcpp**](http://utfcpp.sourceforge.net): a library for handling utf-8 -in a variety of C++ versions. - - -Orientation ---- - -The source tree can be confusing to a new developer. Here is a selective -orientation: - -**./acprep**: a custom thousand-line script to install dependencies, grab - updates, and build. It also creates *\*.cmake*, - *./CmakeFiles/* and other CMake temporary files. Use *./acprep --help* - for more information. - -**./README.md**: user readme file in markdown format, also used as the project - description on GitHub. - -**./contrib/**: contributed scripts of random quality and completion. They - usually require editing to run. - -**./doc/**: documentation, licenses, and - tools for generating documents such as the *pdf* manual. - -**./lib/**: a couple libraries used in development. - -**./lisp/**: the [Emacs](http://www.gnu.org/software/emacs/) - [ledger-mode](http://ledger-cli.org/3.0/doc/ledger-mode.html) lisp code, - under the [GPLv2](http://www.gnu.org/licenses/gpl-2.0.html) license. - -**./python/**: samples using the Python ledger module. - -**./src/**: the C++ header and source files in a flat directory. - -**./test/**: a testing harness with subdirectories full of tests - -**./tools/**: an accretion of tools, mostly small scripts, to aid development |