On Wed, Feb 06, 2013 at 05:42:26PM +0000, David Ham wrote: > I think Martin's suggestion of Dolfin + the rest as the split would > largely meet my concerns, and it sounds like it mostly meets your > concerns below as well. It also essentially takes the project back to > being one almost Python only project with limited dependencies (except > UFC but that's small) and Dolfin which is big and has more > dependencies. It also preserves the solver-independent aspect of the > first set of packages.
The problem here is the dependency from FFC to UFC and from UFC to DOLFIN (the DOLFIN wrapper code). The form compiler needs to generate DOLFIN-specific code for DOLFIN C++ users so they don't need to work with raw UFC objects. We already have a cross-dependency between UFC and DOLFIN (the DOLFIN utils module). We should probably sort that one out as well. > I'm not going to attempt to tell you how to run your project so if you > really need to go to one repository then we'll have to cope, but my > preference would be the two way split above. Your input is very valuable and we definitely want to find a solution that doesn't completely suck for you. -- Anders > Regards, > David >> >> We could make installation targets for specific subpackages (those you >> mention) and add tests run by the buildbot that those can actually be >> installed and used (for a set of test problems of your choice) without >> needing to build DOLFIN. >> >> The reason I suggested this in the first place was after sitting 5 >> people for one whole day making the releases of DOLFIN, FFC, FIAT, >> Instant, UFC, UFL. It sounds ridiculous but there is something like 20 >> different steps to go through for each release (including pressing >> buttons on Launchpad) so it's a big hassle for anyone wanting to make >> a release. Then multiply that by a factor 6 and realize why we don't >> make releases that often... >> >> Another issue is working on new features. The same factor of 6 (or >> more commonly only just 3-4) applies there. >> >> We started out with 2 projects (DOLFIN + FIAT) which naturally were >> separate (one C++ library and one Python library). Then we added FFC >> and SyFi and UFL and UFC were added as a glue between the different >> form compilers. At the time, this was an efficient way to collaborate >> and allow different groups to work independently on interoperable >> codes. The situation has since changed. Now most core developers touch >> all the codes all the time so a common repository would be more >> convenient. >> >> The reason for the proposed change is all about making life more >> convenient for developers and cutting down on administrative overhead. >> >> >> We will likely see code being moved from one place to the other, but >> cross-dependencies could likely be avoided by introducing new tests. >> One particular test would be to check that the UFL unit tests and the >> FIAT unit tests run without installation of any of the other packages. >> >> >> >> _______________________________________________ Mailing list: https://launchpad.net/~fenics Post to : [email protected] Unsubscribe : https://launchpad.net/~fenics More help : https://help.launchpad.net/ListHelp

