Great Mark!

For filenames, I am also thinking C++ where each class has a .h file and a
.cpp file i.e. two separate templates or a single template that generates
two files. I want to see this to be determined among the set of templates. I
assume this is easily fixed.

I agree that it is best to put reverse engineering aside. It is great that
we state this up front. It simplifies things a lot.

        /Linus


2011/8/31 Mark Fortner <[email protected]>

>
> Hi Linus,
> I'll definitely move the results of the discussion into a wiki page.
>
>
>> I miss two things but it might be my lack of knowledge of what is included
>> in the template engines.
>>
>>    - In the template it shall be able to express filename or filenames to
>>    be used.
>>
>> I don't know if the template itself should know about the filename, but
> you can definitely pass a file name to the templating engine.  There are two
> use cases here:
>
>
>    - *Straight template-based generation*: you have a class, and an output
>    directory, and a template -- the template engine uses this data to 
> determine
>    where what to write and where to write it.  Determining the output 
> directory
>    and classname is rather straight-forward:
>    "${outputdir}/${packageName.toPath()}/${className}.${fileExtension}"
>    - *Project-based generation*: you have a domain class, a project
>    directory, and a template -- the correct directory is determined based on
>    the fact that it's a domain class, it's a Grails project (or some other
>    framework), and we know what the project root directory is.  Something like
>    
> "${projectRoot}/grails-app/domain/${packageName.toPath()}/${className}.groovy"
>
>
>>    - Re-generation, importing manual changes from previously generated
>>    files or reverse engineering. Shall this be addressed? Do the template
>>    engines mentioned address this?
>>
>> In my mental model, language support = reverse engineering + code
> generation, and for the time being, I'd be satisified if we just had
> modifiable templates for code generation.  I'm not completely dissatisfied
> with reveng at the moment, there are just a few bits that are need to be
> updated to properly support some features in the java language. So I'd
> rather put reveng to the side for the time being and focus on code
> generation. My personal feeling is that projects that are small and
> well-defined are more likely to be worked on by volunteers with limited
> available time and we should probably try to keep this as minimal as
> possible.
>
> Mark
>

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2833380

To unsubscribe from this discussion, e-mail: 
[[email protected]].
To be allowed to post to the list contact the mailing list moderator, email: 
[[email protected]]

Reply via email to