[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-dev] [Launch] Why do CDT launch configs map the project?
|
I would guess that the JDT solution was in place before mapped resources,
or that they have requirements above and beyond what the mapped resources
can provide. We're sort of in the same boat since we put the project
reference as an explicit CDT attribute in the launch config. We also now
do the same for the build configuration. If the user renames the build
configuration, we have a similar dilemma. I'm not aware of the
capabilities and limitations of a refactoring mechanism. If it could be
used to handle all the launch config updating that needs to be done when
a user changes something in a project (including deleting the project),
then it sounds like a promising idea.
John
At 10:16 AM 4/23/2009, Christian W. Damus wrote:
Hi, John,
Thanks for your response. It's interesting that you raised that bug
only three days ago! The planets must be aligned ... :-) In
any case, that is the same kind of problem that is facing my
users.
Yes, I see that the platform has a resource listener that purges launches
on resource deletion. Somehow, JDT cleans up on project deletion,
too, despite that it doesn't use the mapped resources. I think they
use a delete refactoring participant, which is actually a nicer approach
than the back-door listener, as it avoids your bug 273005.
Perhaps the CDT committer team would be interested in a contribution of a
delete participant to supersede the mapped-resource setting? I
might just throw in a rename participant that updates the project-name
attribute, too :-)
Cheers,
Christian
On Thu, 2009-04-23 at 09:49 -0500, John Cortell wrote:
The mappings are helpful for
cleanup. If you delete a project, then the launch configuration is
removed with it. This cleanup is provided automatically by the platform,
that's why you don't see CDT using the mappings.
The CDT launch config code should remove the resource mapping if the CDT
project the user sets in the config is non-existent.
There remains the issue of launch configs "going away" when the
project is renamed. I recently opened up
https://bugs.eclipse.org/bugs/show_bug.cgi?id=273005
against the platform hoping that they will add support to automatically
handle updating the mapped resources, since they are the main (only?)
consumer of that mechanism. However, because the project reference exists
not only in the mapped resource but in a CDT attribute in the launch
config, both need to be updated. I've developed a solution in our
commercial products--a startup plugin which listens to resource change
events and updates the launch config. I just recently added this (a few
days ago). I can contribute it, but will want to let it cook for a while
and see if there are any problems with it.
John
At 09:37 AM 4/23/2009, Christian W. Damus wrote:
Hello, CDT launch
experts,
Why do the CDT launch configurations commonly set the context project as
the "mapped resource" for the config? I ask for two
reasons:
- this is different from JDT, which never sets mapped resources in its
launch configs (bad JDT, perhaps?)
- it results in launch configs being filtered out of the dialog if
either the user sets the project name to a non-existent project or the
project is temporarily unavailable (it is surprising to users to see them
disappear)
One can argue that users should not be permitted to type
non-existent project names into these configs, but JDT allows it (you
just can't launch) and a validation problem is shown, so it's nice to let
users save their bad data anyway. Besides that there are any number
of ways to get a bad project name after the fact.
Anyhow, the real gist of my question is what would be the impact of
omitting the resource mapping either
- always (to what extent does CDT rely on it? CDT never queries
the mapped resources of a config), or
- when the user enters a non-existent project name (some call sites in
the CDT code already check for project existence before setting the
mapped resources, but not all)
What is the committers' opinion of changing how the resource
mappings are set? Any preference?
Thanks,
Christian
Christian W. Damus
Software Developer, IDE Team
QNX Software Systems
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
Christian W. Damus
Software Developer, IDE Team
QNX Software Systems
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev