Fuut Dependencies
*Generative Model Transformer*
I(Ghica) would like to make some remarks about splitting fuut into various jars,
considering dependency management. Maybe we can talk about it tonight.
A candidate to put into a separate jar is the org.eclipse.gmt.fuut.common
package. This is exactly the code that needs to be included in the classpath
for all generated applications (including fuut itself).
What is exactly the functionality there? Is it possible to generate code which doesn't use this common package -- MarkKofman
Similar for the org.eclipse.gmt.fuut.generator package. You will need it in
addition to common if you are using code generation in your generated
application.
Isn't it too specific case to deal with that? I guess the probability that you want to use fuut generator in you generated application is quite low. -- MarkKofman
Another thing to think about is, whether we should split the packages
differently. For example, if you would not want to generate code using
Velocity, The easiest thing to do would be to remove
org.eclipse.gmt.fuut.action.FtGenVelocity from the list in the .ini file. As
a result, you would not see it, but the code is still there. Since the space
it takes is peanuts it is not problem. From a dependency management point of
view it would maybe be better to move
FtGenVelocity? to the
org.eclipse.gmt.fuut.velocity package.
Rearranging packages differently sound good. But in this case we should proper design before. Doing it in refactorign style would take a lot of time -- MarkKofman
We should be very careful to not create too many jars. In my previous job
the final project had a classpath of some 50 items, and I went totally nuts
from it, therefore I repackaged fuutje again into one jar instead of the
original 3. It is nice to re-use open or other source from many places in a
project, managing the classpath can become a real nightmare and a source of
very difficult to spot bugs.
Are you worried about FUUTje own classpath or FUUTje generated applications classpath? If first, then one idea is using Maven? If second, I agree. I would say more: why should generated application be dependent on FUUT jars at all? Only dependency should be generation time, when you use FUUTje. -- MarkKofman
--
MarkKofman - 28 Jun 2004