fenics team mailing list archive
-
fenics team
-
Mailing list archive
-
Message #01850
Re: UFR - The Unified Fenics Repository
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.
>>
>>
>>
>>
References