Skip to content

couchbaselabs/cb-swagger

Repository files navigation

Couchbase Swagger Project

This project uses the OpenAPI Generator Gradle Plugin to convert the OpenAPI specifications for Couchbase Server Developer REST APIs into AsciiDoctor documentation.

Usage guide

This repository handles several OpenAPI subprojects. Each subproject is stored in its own subfolder within the src folder.

Build Script

Within each subproject there is a gradle build script with a .gradle extension. The gradle build script specifies the locations of the OpenAPI source file, any additional AsciiDoc content, and the output AsciiDoc files.

The build.gradle script in the root project folder calls the gradle build scripts from each subproject.

Some subprojects are not currently ready to be built. These do not have a gradle build script.

OpenAPI Specification

Within each subproject, the OpenAPI Specification (JSON or YAML) is stored in a folder called swagger. (For some subprojects, the OpenAPI specification file may be stored remotely, i.e. alongside the development source files.)

AsciiDoc Content

Each generated AsciiDoc page is stored in its own folder in the docs folder. (In Antora terms, each generated AsciiDoc page is stored in its own module.) For each subproject, additional AsciiDoc content may be stored in the partials folder and its subfolders.

Convert a single subproject

./gradlew project:openApiGenerate --rerun-tasks

Where project is the subproject that you want to convert, for example, admin.

Convert all projects

./gradlew --rerun-tasks

Acknowledgements

This project is based on the OpenAPI Generator project.

Licensing

The Couchbase Developer REST API Documentation © 2024 by Couchbase Inc. is licensed under various licenses. The Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) is one such license. See the LICENSE file for details. All licenses used in this repository can be found in the top-level licenses directory.

About

Build Couchbase REST API documentation from OpenAPI

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7