How to identify sub-libraries/modules of a library?
Hi, I would like to separate the following sub-libraries/modules chrono/stopwatches and thread/executors. Could someone point me where can I find the things to do to split a library in submodules? How to identify them? How to have separated regression test pages? What the new boostdev tool needs? ... Best, Vicente
On Monday 09 June 2014 10:35:21 Vicente J. Botet Escriba wrote:
Hi,
I would like to separate the following sub-libraries/modules chrono/stopwatches and thread/executors.
Could someone point me where can I find the things to do to split a library in submodules? How to identify them? How to have separated regression test pages? What the new boostdev tool needs?
In simple cases you'd do it manually. Knowing the donor library helps a lot. For MPL.Core I wrote scripts, which are somewhat coupled with MPL, but not too much. Peter's boostdep tool will probably help but I haven't looked into it closely yet. The regression test pages correspond to libraries and sub-libraries. If you extract tests to a separate submodule, they will be shown on a separate page.
Andrey Semashev wrote:
On Monday 09 June 2014 10:35:21 Vicente J. Botet Escriba wrote:
Hi,
I would like to separate the following sub-libraries/modules chrono/stopwatches and thread/executors.
Could someone point me where can I find the things to do to split a library in submodules? How to identify them? How to have separated regression test pages? What the new boostdev tool needs? In simple cases you'd do it manually. Knowing the donor library helps a lot. For MPL.Core I wrote scripts, which are somewhat coupled with MPL, but not too much. Peter's boostdep tool will probably help but I haven't looked into it closely yet.
The regression test pages correspond to libraries and sub-libraries. If you extract tests to a separate submodule, they will be shown on a separate page.
But if you don't want to create new GIT submodules but only to separate reggression tests you may use the procedure described here: http://boost.2283326.n4.nabble.com/core-swap-tests-appear-in-core-td4663632.... Regards, Adam
Vicente J. Botet Escriba wrote:
Could someone point me where can I find the things to do to split a library in submodules? How to identify them? How to have separated regression test pages? What the new boostdev tool needs?
Sub-submodules are subdirectories in the module directory that have their own directory structure inside: include/ test/ doc/ src/ and so on. The regression script creates a separate page if the module directory contains a file named 'sublibs' and the Jamfile for the sub-submodule is in a test subdirectory of the subsubmodule subdirectory. (I think). So: libs/module sublibs submodule/ test/ Jamfile.v2 'boostdep' identifies a subsubmodule such as those in numeric by looking for a sublibs file and an include/ directory. libs/module sublibs submodule/ include/ boost/ module/ submodule/ header.hpp In summary, the structure you need is: libs/module/ sublibs submodule/ include/ test/ Subsubmodules are a bit of a pain for the tools though, so I'm not sure if it's a good idea to create more of them. Since they are all in the same repository, they are not actually separate modules on a physical level, they will just appear this way in the report. So it'd be a bit deceptive.
Le 09/06/14 12:59, Peter Dimov a écrit :
Vicente J. Botet Escriba wrote:
Could someone point me where can I find the things to do to split a library in submodules? How to identify them? How to have separated regression test pages? What the new boostdev tool needs?
Sub-submodules are subdirectories in the module directory that have their own directory structure inside:
include/ test/ doc/ src/
and so on.
The regression script creates a separate page if the module directory contains a file named 'sublibs' and the Jamfile for the sub-submodule is in a test subdirectory of the subsubmodule subdirectory. (I think).
So:
libs/module sublibs submodule/ test/ Jamfile.v2
'boostdep' identifies a subsubmodule such as those in numeric by looking for a sublibs file and an include/ directory.
libs/module sublibs submodule/ include/ boost/ module/ submodule/ header.hpp
In summary, the structure you need is:
libs/module/ sublibs submodule/ include/ test/
Subsubmodules are a bit of a pain for the tools though, so I'm not sure if it's a good idea to create more of them. Since they are all in the same repository, they are not actually separate modules on a physical level, they will just appear this way in the report. So it'd be a bit deceptive.
Thanks, this is what I needed to know. Vicente
participants (4)
-
Adam Wulkiewicz
-
Andrey Semashev
-
Peter Dimov
-
Vicente J. Botet Escriba