Test ran at 2023-06-10 01:27:32.642255+00:00
SOLUTION:
libadalang2xml=1.0.0: Generates XML for Ada source, using libadalang.
Origin: commit 6f93873ff4bd379d5c6ae9d8dcdb36d7271c3f25 from https://github.com/simonjwright/libadalang2xml.git
Properties:
Author: Simon Wright
Build Switches:
Description: Generates XML for Ada source, using libadalang.
case OS is
when Macos => (Environment: CFLAGS=-I/usr/local/include -I/opt/homebrew/include and Environment: LDFLAGS=-L/usr/local/lib -L/opt/homebrew/lib and Environment: LIBRARY_TYPE=relocatable)
Executable: libadalang2xml
License: GPL-3.0-or-later
Long_Description: Libadalang2XML is a tool to extract syntatic aspects of Ada source code into XML.
The Ada source is initially read using [Libadalang](https://github.com/AdaCore/libadalang). The resulting tree is then traversed, and its structure output in an XML form.
The [document type definition](https://en.wikipedia.org/wiki/Document_type_definition) isn't explicit; it's simply derived from the tree elements created by Libadalang. Note that Libadalang includes much more semantic information than the surface structure generated by this tool, but nevertheless there's enough there to --- for example --- create a scriptable body for a package spec.
## macOS ##
For reasons explained [here](https://forward-in-code.blogspot.com/2023/03/libadalang-alire-and-macos.html), the tool can't be built on macOS using Alire's `gnat_native` compiler; you need to have a full compiler suite on your `PATH`, like that obtainable for [GCC 12.2.0 (x86 64)](https://github.com/simonjwright/distributing-gcc/releases/tag/gcc-12.2.0-x86_64) or [GCC 12.2.0 (aarch64)](https://github.com/simonjwright/distributing-gcc/releases/tag/gcc-12.2.0-aarch64). Having set that up, `alr build` will built the tool.
## Example ##
As an example of the output, this code
``` ada
package Demo is
procedure Square (X : in out Integer);
end Demo;
```
generates
``` xml
Demo
procedure
Square
X
in out
Integer
Demo
```
Maintainer: Simon Wright
Maintainers_Logins: simonjwright
Name: libadalang2xml
Tag: ada
Tag: xml
Version: 1.0.0
Website: https://github.com/simonjwright/libadalang2xml
Dependencies (direct):
case OS is
when Macos => gnat_external>=12.2.0
when others => libadalang^23.0.0
Dependencies (solution):
gnat=12.2.1 (gnat_native) (installed)
gnatcoll=23.0.0
gnatcoll_gmp=23.0.0
gnatcoll_iconv=23.0.0
langkit_support=23.0.0
libadalang=23.0.0
libgpr=23.0.0
xmlada=23.0.0
Dependencies (external):
libgmp* (indirect,hinted)
Dependencies (graph):
gnatcoll=23.0.0 --> libgpr=23.0.0 (~23.0.0)
gnatcoll_gmp=23.0.0 --> gnatcoll=23.0.0 (~23.0.0)
gnatcoll_gmp=23.0.0 --> libgmp*
gnatcoll_iconv=23.0.0 --> gnatcoll=23.0.0 (~23.0.0)
langkit_support=23.0.0 --> gnatcoll=23.0.0 (^23)
langkit_support=23.0.0 --> gnatcoll_gmp=23.0.0 (^23)
langkit_support=23.0.0 --> gnatcoll_iconv=23.0.0 (^23)
libadalang=23.0.0 --> gnatcoll=23.0.0 (^23)
libadalang=23.0.0 --> gnatcoll_gmp=23.0.0 (^23)
libadalang=23.0.0 --> gnatcoll_iconv=23.0.0 (^23)
libadalang=23.0.0 --> langkit_support=23.0.0 (^23)
libadalang2xml=1.0.0 --> libadalang=23.0.0 (^23.0.0)
libgpr=23.0.0 --> gnat=12.2.1 (gnat_native) (/=2020)
libgpr=23.0.0 --> xmlada=23.0.0 (~23.0.0)
xmlada=23.0.0 --> gnat=12.2.1 (gnat_native) (>=11)
Dependencies cannot be met
LOG: