Skip to content
Collection of tooling for Ada projects
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Console
Core
CsTests
Directives
FsTests
Packaging
Projects
TestSources
Toolchain
Types
VbTests
.editorconfig
.gitignore
Ada-tools.sln
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md

README.md

Ada-tools

GitHub GitHub language count GitHub top language GitHub contributors GitHub commit activity

Join the chat at https://gitter.im/Ada-tools/Lobby

Collection of tooling for Ada projects

This tooling was developed on top of .NET Core for ease of development. Even though it's for working with Ada, it's mostly written in C#, with F# and Visual Basic extensions. It is cross platform, not exclusive to Windows.

Goals

The majority of software projects are very straightforward and shouldn't require extensive configuration. In fact, I would argue they shouldn't require any configuration. Because Ada follows very consistent practices, it's possible to, for many project scenarios, operate without any configuration at all.

We tend to structure projects predictable ways. Tooling should recognize that.

Act as a package/dependency manager, a much needed and otherwise non-existant too for Ada.

In oversimplified terms, Ada-tools is a combination of Roslyn and Nuget. It's even heavily inspired by Roslyn, although some different approaches are taken.

Download

Nuget Nuget

Building

As this project is built upon .NET Core, building the project is a simple dotnet build command inside the project directory.

Components

Core

This is the core library that all Ada-tools libraries build upon. It provides classes for working with Ada sources and common Ada units, as well as all exceptions

Console

This extension library that provides conveniences for developing console tools.

Directives

This extension library holds Ada directives, such as pragmas and aspects

Packaging

This extension library provides packaging operations for bundling Ada sources and libraries for redistribution

Projects

This extension library provides the concept of a project to the rest of the Ada-tools system

Toolchain

This extension library provides toolchain operations, like compilation and linking

Types

This extension librrary holds Ada types, indexes, and ranges

You can’t perform that action at this time.