Skip to content

RREE/ada-util

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ada Utility Library

Alire Alire Alire Alire Alire Alire Build Status Test Status codecov Documentation Status Download License Commits

This Ada05 library contains various utility packages for building Ada05 applications. This includes:

  • A logging framework close to Java log4j framework,
  • Support for properties
  • A serialization/deserialization framework for XML, JSON, CSV
  • Ada beans framework
  • Encoding/decoding framework (Base16, Base64, SHA, HMAC-SHA, AES-256)
  • A composing stream framework (raw, files, buffers, pipes, sockets)
  • Several concurrency tools (reference counters, counters, pools, fifos, arrays)
  • Process creation and pipes
  • Support for loading shared libraries (on Windows or Unix)
  • HTTP client library on top of CURL or AWS

Ada Util also provides a small test utility library on top of Ahven or AUnit to help in writing unit tests. Ahven is the default testing framework as it provides better reports.

Version 2.5.0 - Under development

  • Add support to set environment variables when launching a process (without changing the current process environment!)

Version 2.4.1 - Jul 2021

  • Fix compilation issues with GNAT 2021
  • Fix serialization of Util.Beans.Objects holding arrays or maps

List all versions

Build

For a detailed description on how you can configure, build and install the library refer to the Installation guide. Otherwise, you can easily configure and build the library with the steps described below.

To use Ahven testing framework, configure and build as follows:

./configure
make

To use AUnit, build with the following commands:

./configure --enable-aunit
make

The unit tests are built and executed with:

   make test

And unit tests are executed with (256 success, 0 failed):

   bin/util_harness

For the installation, use the following command:

   make install

Build without configure

Since the integration with Alire, you can build without running configure. However, there are a number of checks and dependencies which are not verified and you must run several commands manually, choosing the correct values for UTIL_ASM_TYPE and UTIL_OS build variables. The trick is to give gprbuild the Alire configuration project in .alire/utilada_conf.gpr.

For a simple Linux 64-bit build, use:

gprbuild -aP.alire -Putilada_core -p
gprbuild -aP.alire -Putilada_base -p
gprbuild -aP.alire -Putilada_sys -p
gprbuild -aP.alire -Putilada_aws -p
gprbuild -aP.alire -Putilada_curl -p
gprbuild -aP.alire -Putilada_xml -p

For a Linux 32-bit build, use

gprbuild -aP.alire -Putilada_sys -p -XUTIL_OS=linux32

For Windows-64 try:

gprbuild -aP.alire -Putilada_sys -p -XUTIL_OS=win64

Checkout the file .alire/utilada_conf.gpr for other alternatives.

You can then use gprinstall for the installation:

gprinstall -aP.alire -Putilada_core -p
gprinstall -aP.alire -Putilada_base -p
gprinstall -aP.alire -Putilada_sys -p
gprinstall -aP.alire -Putilada_aws -p
gprinstall -aP.alire -Putilada_curl -p
gprinstall -aP.alire -Putilada_xml -p

I've never tried to build on Windows without msys2. I don't know if it works. I suspect there will be problems.

Samples

The samples can be built using:

   gnatmake -Psamples

Documentation

Articles

About

Ada Utility Library

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE.txt
Unknown
LICENSE.Ahven

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ada 97.8%
  • C 0.9%
  • XSLT 0.5%
  • M4 0.4%
  • Shell 0.3%
  • Makefile 0.1%