description = "OpenAPI library to build REST server applications"
tags = ["rest", "web", "api", "openapi"]
name = "openapi_server"
version = "0.8.0"
licenses = "Apache-2.0"
authors = ["Stephane.Carrez@gmail.com"]
maintainers = ["Stephane.Carrez@gmail.com"]
maintainers-logins = ["stcarrez"]
project-files = ["openapi_server.gpr"]
website = "https://gitlab.com/stcarrez/openapi-ada"
long-description = """

[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/openapi-ada/badges/build.json)](https://porion.vacs.fr/porion/projects/view/openapi-ada/summary)
[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/openapi-ada/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/openapi-ada/xunits)
[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/openapi-ada/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/openapi-ada/summary)

[OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) is a code generator that supports generation of
API client libraries, server stubs and documentation automatically
given an [OpenAPI Spec](https://github.com/OAI/OpenAPI-Specification).

The Ada server support has been integrated in [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator).

The OpenAPI Ada library is a small support library for the Ada code generator
provided by OpenAPI Generator.  The library provides support to serialize the data,
make HTTP requests and support the [OpenAPI Spec](https://github.com/OAI/OpenAPI-Specification).
specific operations or types.

## Alire setup

```
alr with openapi_server
```

For the server part, you must choose a servlet web container that will handle the requests.
Two web server implementations are provided:

* [AWS](https://github.com/AdaCore/aws)
* [EWS](https://github.com/simonjwright/ews)

and you should run one of the following `alr` command depending on your choice:

```
alr with servletada_aws
alr with servletada_ews
```

## Generation

Example of server generation with OpenAPI file `my-api.yaml` and use of CURL support:

```
  alr exec -- openapi-generate-server -i my-api.yaml \
       --additional-properties projectName=MyProject \
       --additional-properties openApiName=OpenAPI \
       --additional-properties httpSupport=Curl \
       --model-package MyProject.MyModule -o .
```

"""

[[depends-on]]
utilada = "^2.6.0"
utilada_xml = "^2.6.0"
security = "^1.5.0"
servletada = "^1.7.0"
openapi = "^0.7.0"

[configuration]
disabled = true

[[actions]]
type = "post-fetch"
command = ["gnatprep", "-DWEB_DIR=\"$(CRATE_ROOT)\"",
  "src/openapi-servers-config.gpb",
  "src/openapi-servers-config.ads"
]


[origin]
commit = "0ea881bcced127bb0d5ec23a086ceb368e578571"
subdir = "./server/"
url = "git+https://gitlab.com/stcarrez/openapi-ada.git"

