23 | | * Your library has its own public repository that has a "develop" branch for development work, and a "master" branch for your releases, which occur asynchronously from Boost releases. You may also have other branches, but that's up to you. |
24 | | * The Boost super project has its own public repository. It treats your library as a sub-module, i.e. a link to a particular release in your library's public GitHub repository. |
25 | | * You (and the rest of your team) do day-to-day development using private repositories on your local machines. You push changes from these local private repos up to your library's public repo whenever you want. The local repos may also have private branches that are never pushed to the public repo. |
26 | | * Your library's directory structure conforms to [http://www.boost.org/development/requirements.html#Directory_structure Boost directory structure conventions], so both users and automatic processes can find header files, test files, build configurations, and the like. Beyond the conventions, your library's directory structure is up to you. |
27 | | |
28 | | == Directory Structure == |
29 | | |
30 | | For Modular Boost, header files are placed in a {{{include/boost}}} header hierarchy within your main directory. Here is what a very simple header-only library named {{{simple}}} would look like: |
31 | | |
32 | | {{{ |
33 | | simple |
34 | | include |
35 | | boost |
36 | | simple |
37 | | twice.hpp |
38 | | test |
39 | | twice_test.cpp |
40 | | Jamfile.v2 |
41 | | index.html |
42 | | }}} |
43 | | |
44 | | In other words, the directory structure of a library in {{{boost-root/libs}}} for modular Boost is the same as pre-modular Boost, except that it contains another sub-directory hierarchy, {{{include/boost/...}}}, where {{{...}}} represents the library's directories and header files that previously lived in {{{boost-root/boost}}}. The effect of this change in directory structure is that the library is now entirely self-contained in a single directory and its sub-directories. |
45 | | |
46 | | A real library would also have additional sub-directories such as {{{doc}}}, {{{example}}}, and {{{src}}}, as described in the [http://www.boost.org/development/requirements.html#Directory_structure directory conventions], but they are left out of {{{simple}}} for the sake of brevity. |