Skip to content

Latest commit

 

History

History
105 lines (63 loc) · 1.76 KB

HACKING.md

File metadata and controls

105 lines (63 loc) · 1.76 KB

Hacking Guide

Overview

This guide contains instructions for building artifacts contained in this repository.

Go

This spec includes several Go packages, and a command line tool considered to be a reference implementation of the OCI image specification.

Prerequisites:

  • Go - current release only, earlier releases are not supported
  • make

The following make targets are relevant for any work involving the Go packages.

Linting

The included Go source code is being examined for any linting violations not included in the standard Go compiler. Linting is done using golangci-lint.

Invocation:

make lint

Tests

This target executes all Go based tests.

Invocation:

make test
make validate-examples

JSON schema formatting

This target auto-formats all JSON files in the schema directory using the jq tool.

Prerequisites:

  • jq >=1.5

Invocation:

make fmt

OCI image specification PDF/HTML documentation files

This target generates a PDF/HTML version of the OCI image specification.

Prerequisites:

Invocation:

make docs

License header check

This target checks if the source code includes necessary headers.

Invocation:

make check-license

Clean build artifacts

This target cleans all generated/compiled artifacts.

Invocation:

make clean

Create PNG images from dot files

This target generates PNG image files from DOT source files in the img directory.

Prerequisites:

Invocation:

make img/media-types.png