{"id":37442746,"url":"https://github.com/meetup/sbt-openapi","last_synced_at":"2026-01-16T06:46:19.247Z","repository":{"id":52542924,"uuid":"84262542","full_name":"meetup/sbt-openapi","owner":"meetup","description":"Plugin for generating managed code from OpenAPI specifications","archived":false,"fork":false,"pushed_at":"2022-12-20T22:23:16.000Z","size":20,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":26,"default_branch":"master","last_synced_at":"2024-04-13T08:11:39.106Z","etag":null,"topics":["openapi","sbt-plugin"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meetup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-08T01:06:01.000Z","updated_at":"2022-12-20T22:23:22.000Z","dependencies_parsed_at":"2023-01-30T02:00:45.003Z","dependency_job_id":null,"html_url":"https://github.com/meetup/sbt-openapi","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/meetup/sbt-openapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetup%2Fsbt-openapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetup%2Fsbt-openapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetup%2Fsbt-openapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetup%2Fsbt-openapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meetup","download_url":"https://codeload.github.com/meetup/sbt-openapi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetup%2Fsbt-openapi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28477950,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openapi","sbt-plugin"],"created_at":"2026-01-16T06:46:15.353Z","updated_at":"2026-01-16T06:46:19.233Z","avatar_url":"https://github.com/meetup.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sbt-openapi\n\n## Overview\n\n`sbt-openapi` is an sbt plugin that will automatically generate source code from your OpenAPI specifications.\nThe generated code is managed, which makes it available to your project but does not need to be checked in to your\ncode repository.\n\n## Usage\n\n### Install the plugin\n\nAdd the following code to your `project/plugins.sbt` file:\n\n```\naddSbtPlugin(\"com.meetup\" % \"sbt-swagger\" % \"{pluginVersion}\" ) // TODO\n```\n\nAdd the following code to your `build.sbt` file:\n\n```\ncom.meetup.sbtopenapi.Plugin.openapiSettings\n```\n\n### Use the plugin\n\nThe current OpenAPI specification is identical to the Swagger 2.0 specification and, as such, the sbt-openapi plugin\nis merely a simplified interface to the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) tool.\nThis plugin treats specification files as providers of [managed source code](http://www.scala-sbt.org/0.13/docs/Classpaths.html#Unmanaged+vs+managed).\nThus, at compile time, the plugin invokes a code generator using a specification file as input, and emits the resulting\ncode as managed source code. If you merely want to use a code generator to create a standalone library, you are better\noff using [swagger-codegen](https://github.com/swagger-api/swagger-codegen) directly.\n\nThe plugin uses the on-disk organization of specification files to drive code generation, with specification files\nrooted under `src/main/openapi/[generator]/[spec].yaml`. For example, consider this project structure:\n\n```\n\u003cproject_root\u003e\n   |\n   +- src\n       |\n       +- main\n           |\n           +- openapi\n               |\n               +- [generator0]\n               |   |\n               |   +- spec0.yaml\n               |   |\n               |   +- spec1.yaml\n               |\n               +- [generator1]\n                   |\n                   +- spec2.yaml\n```\n\nCompilation of this project would use result in the plugin generating sources using `generator0` for the specification\nfiles `spec0.yaml` and `spec1.yaml`, and `generator1` for the file `spec2.yaml`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeetup%2Fsbt-openapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeetup%2Fsbt-openapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeetup%2Fsbt-openapi/lists"}