Skip to content
This repository

An Ada Library for UUID generation.

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 ali
Octocat-spinner-32 bin
Octocat-spinner-32 doc
Octocat-spinner-32 include
Octocat-spinner-32 lib
Octocat-spinner-32 obj
Octocat-spinner-32 src
Octocat-spinner-32 support
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 Makefile
Octocat-spinner-32 adaid_debug.gpr
Octocat-spinner-32 test.gpr


What is it? AdaID is a simple Ada library for generating UUIDs. Supported operations include:

  • Generating random UUIDs
  • Generating name-based UUIDs
  • Restoring UUIDs from a string representation.
  • Converting a UUID to a string

What are the dependencies? There are a couple of tools that you'll need to build and install AdaID. Firstly, you should have make installed, like every good programmer. Secondly, it's assumed that you're using GNAT, or you at least have a recent version available. If you don't have GNAT available, you will need to make your own build scripts (nudge, wink to contributers).

If you want to run the unit test suite, you'll need AUnit installed. If you don't have it, and you don't care about running the tests (and you should), then just avoid running make test.

How do I build it? To build the library: run make, optionally followed by make test, and finally make install. The library should now be installed on your system.

OK, how is it used? Here's an example usage:

-- file: print_random_uuid.adb
with AdaID; use AdaID;
with Ada.Text_IO; use Ada.Text_IO;
procedure Print_Random_UUID is
    id : UUID;
end Print_Random_UUID;

To compile, create a gnat project file to build the example:

with "adaid.gpr";
project Print_Random_UUID is
    for Main use ("print_random_uuid.adb");
    for Languages use ("Ada");
end Print_Random_UUID;

And build:

gnatmake -Pprint_random_uuid.gpr

What's next? Future improvements include:

  • General make file improvements
  • Library documentation
Something went wrong with that request. Please try again.