(Execute): The hook for Compute_Build_Targets_Hook now returns an Any_Type.
* builder_facility_module.adb:
(On_Compute_Build_Targets): This now returns an Any_Type. The structure of this
Any_Type is described in shell_commands.xml.
(Install_Button_For_Target): The hook for Compute_Build_Targets_Hook now
returns an Any_Type, adapt.
(Add_Menu_For_Target): Likewise.
* gnatcoll-any_types.adb:
Initial revision.
* gnatcoll-any_types.ads:
Initial revision.
* gnatcoll-scripts-shell.adb:
Implement overriding subprogram Execute [Any_Type].
* gnatcoll-scripts-shell.ads:
Declare overriding subprogram Execute [Any_Type].
* gnatcoll-scripts.ads:
(Execute): New abstract subprogram, returning an Any_Type.
* gnatcoll-any_types-python.adb:
Initial revision.
* gnatcoll-any_types-python.ads:
Initial revision.
* gnatcoll-scripts-python.adb:
(Execute): Declare overriding subprogram. Implement.
(Execute_Command): New subprogram.
* gnatcoll-scripts-python.ads:
(Execute_Command): New subprogram.
* gps-kernel-hooks.adb:
(Command_Handler_Return_Any): New subprogram.
(Wrapper_Return_Any): New type.
(Execute): Implement wrappers.
(Destroy): Implement.
(Run_Hook_Until_Not_Empty): New subprogram.
(Register_Standard_Hooks): The hook Compute_Build_Targets_Hook now returns an
Any_Type.
* gps-kernel-hooks.ads:
Add functions allowing to launch hooks that return Any_Types.
Add documentation.
* Makefile.py:
Adapt to new return types of compute_build_targets hook.
* shell_commands.xml:
Document new return type of compute_build_targets hook.
Follow-up on I302-024.
We want to display the base names of "main" targets in the Build menu, and we
also want the hook to contain the full path to the main file in order to
support "%TT".
We cannot do a simple "base_name" on the target when it comes to adding it to
the menu, because this suppresses useful information coming from targets from
Makefile.py.
To solve this, the hook "compute_build_targets" now returns a list of targets,
with, for each target, the name to display in the menu, and the full name.
In order to implement this, we introduce a way for hooks to return complex
information, mapping a subset of the Python types.
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@143141 936e1b1b-40f2-da11-902a-00137254ae57
Renamed GNAT.* packages into GNATCOLL.*
Fixed headers in gnatlib, so that they reference "G N A T C O L L", rather
than the misc. names we have before.
Update copyright dates
git-svn-id: svn+ssh://svn.eu/Dev/trunk/gps@124025 936e1b1b-40f2-da11-902a-00137254ae57