-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
reorganize the build of plugins #177
Comments
I like the idea of subprojects for the CDash, much cleaner. It's already a pain to find the tests you want in the huge list we have now, and it would remove the need to put the name of the plugin in the test name. I'm not so sure about the submodules, that seems like a lot of extra complication for no gain with the plugins we have now. It definitely is the way to go for plugins that need to stay closed-source or for plugins where the author insists that he wants to develop them as a stand-alone project. From the page you linked, especially "you cannot modify the contents of the submodule from within the main project" sounds painful. I am still in favor of shipping coolfluid with a set of core plugins, which are maintained in the main repository. |
I suggest the following: All plugins get their own git-submodule. git-submodules must always be registered in a parent git repository. I foresee this registration to also be in a CMakeList, that then defines variables such as "CF3_PLUGIN_SFDM" |
I don't see how this improves the workflow for the plugins we already have. Once we get "independent" authors working on plugins, we can include their plugins as submodules, but I see no reason to do this for plugins maintained by the core team. It's more work for the users who pull the code, and more work for us to keep things in sync. |
I think having all modules on a separate git is a lot of marioneting in terms of maintenance. Independent modules should be maintaned by its owner and this owner can (on a personal basis?) involve a head developer for (not just) keeping a look having things up-to-date to core. Your actual example of trilinos is misleading because as far as i see into it, the packages a very independent and different. The only common tie is "data structure" they build on (epetra & tpetra). |
For the plugins bundled with the kernel now (UFEM,RDM,SDM and others), I would also use git-submodules, but not at this point yet of course. I would do this when the kernel is stable. |
There are clearly 2 issues here:
I think we should map one CMake subproject to one Git submodule. However, nothing stops us from start using CMake subprojects. |
OK, I've been experimenting with the subprojects, as you can see at http://coolfluidsrv.vki.ac.be/cdash/index.php?project=coolfluid I think I have discovered a much simpler method than what is described here http://www.kitware.com/products/html/CDashSubprojects.html by making use of our directory structure, I'll hack some more on it tomorrow night. As for the git submodules, some things to consider:
|
We should make the inclusion and build of plugins more modular and dynamic.
For example, in terms of CDash we should be using subprojects, see http://testing.sandia.gov/cdash/index.php?project=Trilinos
In terms of git, following an idea of @wdeconinck , we could be using git submodules, which allow for synchronized update of sources.
See http://schacon.github.com/git/git-submodule.html.
The text was updated successfully, but these errors were encountered: