lib/mix/tasks/api/gen.ex
defmodule Mix.Tasks.Api.Gen do
@moduledoc """
Generate code from an Open API description
This task requires two arguments:
* The configuration profile to use, and
* The location of the OpenAPI description.
The description location can be given as an absolute path or a path relative to the Mix project
where this task is run.
## Example
```shell
mix api.gen default ../rest-api-description/spec.yaml
```
"""
@shortdoc "Generate code from an Open API description"
@requirements ["app.start"]
use Mix.Task
@impl Mix.Task
def run([profile | spec_files]) do
OpenAPI.run(profile, spec_files)
end
def run(_args) do
Mix.shell().error("Usage: mix api.gen [profile] [paths/to/spec.yaml]")
end
end