50 lines
1.5 KiB
Markdown
50 lines
1.5 KiB
Markdown
#AdaID#
|
|
|
|
**What is it?**
|
|
*AdaID* is a simple Ada library for generating [UUIDs](http://en.wikipedia.org/wiki/Universally_unique_identifier). 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?**
|
|
All of the code is self-contained, but the build system assumes GNAT is present.
|
|
|
|
If you want to run the unit test suite, you'll need [AUnit](http://libre.adacore.com/libre/tools/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](http://www.adacore.com/wp-content/files/auto_update/gnat-unw-docs/html/gnat_ugn_12.html) 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
|