Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
An Ada Library for UUID generation.
Ada
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
ali
bin
doc
include
lib
obj
src
support
test
.gitignore
LICENSE
Makefile
README.md
adaid.gpr.in
adaid_debug.gpr
test.gpr

README.md

AdaID

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;
begin
    Random(id);
    Put_Line(To_String(id));
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.