codescan

package module
v0.34.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 26, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

README

codescan

Tests Coverage CI vuln scan CodeQL

Release Go Report Card CodeFactor Grade License

GoDoc Discord Channel go version Top language Commits since latest release


A Go source code scanner that produces Swagger 2.0 (OpenAPI 2.0) specifications from annotated Go source files.

Supports Go modules (since go1.11).

Announcements

  • 2025-04-19 : large package layout reshuffle
    • the entire project is being refactored to restore a reasonable level of maintenability
    • the only exposed API is Run() and Options.

Status

API is stable.

Import this library in your project

go get github.com/go-openapi/codescan

Basic usage

import (
  "github.com/go-openapi/codescan"
)

swaggerSpec, err := codescan.Run(&codescan.Options{
  Packages: []string{"./..."},
})

Change log

See https://github.com/go-openapi/codescan/releases

Licensing

This library ships under the SPDX-License-Identifier: Apache-2.0.

See the license NOTICE, which recalls the licensing terms of all the pieces of software on top of which it has been built.

Other documentation

Cutting a new release

Maintainers can cut a new release by either:

  • running this workflow
  • or pushing a semver tag
    • signed tags are preferred
    • The tag message is prepended to release notes

Documentation

Overview

Package codescan provides a scanner for go files that produces a swagger spec document.

This package is intended for go1.25 onwards and uses go1.26 toolchain.

It supports go modules.

Index

Constants

View Source
const (
	// ErrCodeScan is the sentinel error for all errors originating from the codescan package.
	ErrCodeScan codescanError = "codescan error"
)

Variables

This section is empty.

Functions

func Run

func Run(opts *Options) (*oaispec.Swagger, error)

Run the scanner to produce a swagger spec with the options provided.

Types

type Options

type Options = scanner.Options

Options for the scanner.

Directories

Path Synopsis
internal
ifaces
Package ifaces defines the internal interfaces that decouple the comment-parsing pipeline from the concrete Swagger spec builders.
Package ifaces defines the internal interfaces that decouple the comment-parsing pipeline from the concrete Swagger spec builders.
integration
Package integration provides integration tests.
Package integration provides integration tests.
scantest
Package scantest exposes utilities for testing the codescan packages.
Package scantest exposes utilities for testing the codescan packages.
scantest/mocks
Package mocks contains mock types for all interfaces.
Package mocks contains mock types for all interfaces.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL