hi,
i want to approach the compiler integration thing soon. Therefore, i want
to discuss how we should realize that. There are several ways to approach
this:
1) Don't use the builder framework and realize it like it is now (maybe
move the tau stuff to its own plugin)
2) Use the builder framework.
* allow several builder plugins to be installed at a time
-> do we allow compilation using several compilers in one run
-> should only one compiler be active
* allow only one builder plugin to be installed at a time
Lets assume we want 2). The first choice (allow several builder plugins to
be installed at a time) requires our own extension point. The builder
would be implemented in TRex UI and it would delegate its work to
corresponding builder plugins. However, it requires a preference page
where the compilers are selectable/chooseable and addition to the
preference pages for the compiler options. This page would not be
necessary if only one builder plugin would be allowed to be installed at a
time.
Another thing to discuss is, what the builder is supposed to do. Tau
currently has three options: Analyze, Compile, Create Executable. How
should this be handled in a builder:
* Make the builder configurable, e.g. configure the builder not to compile
* The builder always compiles everything
Then again, depending on the compiler, it may not be possible to
differentiate the step compilation and create executable (this seems to be
the case with danet). Concerning the executable building: currently, the
exeutable is built from the currently active or selected file or something
like that i suppose. This is probably not a good idea when the builder is
used since the default Eclipse behavior is that we would expect the
project to be built and not the active file. Hence, there must be a
project property page or yet another navigator label decorator where
modules with control parts can be selected for executable building.
I guess there are tons of other decisions that i am missing in these first
thoughts, but it should be enough to start the discussion.
--
Benjamin Zeiss