mirror of
https://github.com/AdaCore/gpr.git
synced 2026-02-12 12:58:39 -08:00
86 lines
2.0 KiB
Ada
86 lines
2.0 KiB
Ada
with Ada.Text_IO;
|
|
|
|
with GPR2.Options;
|
|
with GPR2.Project.Attribute;
|
|
with GPR2.Project.Tree;
|
|
with GPR2.Project.Variable.Set;
|
|
with GPR2.Project.View;
|
|
|
|
procedure Main is
|
|
|
|
use Ada;
|
|
use GPR2;
|
|
|
|
procedure Display (Prj : Project.View.Object);
|
|
procedure Display (Att : Project.Attribute.Object);
|
|
procedure Load (Filename : String);
|
|
|
|
-------------
|
|
-- Display --
|
|
-------------
|
|
|
|
procedure Display (Att : Project.Attribute.Object) is
|
|
begin
|
|
Text_IO.Put (" " & Image (Att.Name.Id));
|
|
|
|
if Att.Has_Index then
|
|
Text_IO.Put (" (" & Att.Index.Text & ")");
|
|
end if;
|
|
|
|
Text_IO.Put (" ->");
|
|
|
|
for V of Att.Values loop
|
|
Text_IO.Put (" " & V.Text);
|
|
end loop;
|
|
Text_IO.New_Line;
|
|
end Display;
|
|
|
|
procedure Display (Prj : Project.View.Object) is
|
|
use GPR2.Project.Variable.Set.Set;
|
|
begin
|
|
Text_IO.Put (String (Prj.Name) & " ");
|
|
Text_IO.Set_Col (16);
|
|
Text_IO.Put_Line (Prj.Qualifier'Img);
|
|
|
|
for A of Prj.Attributes (With_Defaults => False, With_Config => False) loop
|
|
Display (A);
|
|
end loop;
|
|
|
|
if Prj.Has_Variables then
|
|
for V in Prj.Variables.Iterate loop
|
|
Text_IO.Put (" V: " & String (Key (V)));
|
|
Text_IO.Put (" -> ");
|
|
Text_IO.Put (Element (V).Value.Text);
|
|
Text_IO.New_Line;
|
|
end loop;
|
|
end if;
|
|
|
|
for Pck of Prj.Packages loop
|
|
for A of Prj.Attributes (Pack => Pck, With_Defaults => False, With_Config => False) loop
|
|
Display (A);
|
|
end loop;
|
|
end loop;
|
|
|
|
Text_IO.New_Line;
|
|
end Display;
|
|
|
|
----------
|
|
-- Load --
|
|
----------
|
|
|
|
procedure Load (Filename : String) is
|
|
Prj : Project.Tree.Object;
|
|
Opt : Options.Object;
|
|
begin
|
|
Opt.Add_Switch (Options.P, Filename);
|
|
if Prj.Load (Opt, Absent_Dir_Error => No_Error) then
|
|
Display (Prj.Root_Project);
|
|
end if;
|
|
end Load;
|
|
|
|
begin
|
|
Load ("demo.gpr");
|
|
Load ("demo1.gpr");
|
|
Load ("typedef-demo2.gpr");
|
|
end Main;
|