327a6367f0
The only .PHONY entry we *need* is for schema/validate, since that's a real file but we haven't told Make about its real dependencies (which involve complicated Go lookups). I'm personally in favor of using .PHONY for all targets that aren't on-disk files, because it hints to readers that the rule is not generating a file at the target. But there has been resistance to adding .PHONY entries to all such cases (e.g. [1,2]), so this commit brings us around to a internally-consistent "only use .PHONY when you always need it" position. That means that, for example, users who create files named 'clean' will turn 'clean' the target into a no-op, but runtime-spec maintainers are ok with that. [1]: https://github.com/opencontainers/runtime-spec/pull/791#issuecomment-300369882 [2]: https://github.com/opencontainers/runtime-spec/pull/791#issuecomment-300612827 Signed-off-by: W. Trevor King <wking@tremily.us> |
||
---|---|---|
.. | ||
test | ||
Makefile | ||
README.md | ||
config-linux.json | ||
config-schema.json | ||
config-solaris.json | ||
config-windows.json | ||
defs-linux.json | ||
defs.json | ||
state-schema.json | ||
validate.go |
README.md
JSON schema
Overview
This directory contains the JSON Schema for validating JSON covered by this specification.
The layout of the files is as follows:
- config-schema.json - the primary entrypoint for the configuration schema
- config-linux.json - the Linux-specific configuration sub-structure
- config-solaris.json - the Solaris-specific configuration sub-structure
- config-windows.json - the Windows-specific configuration sub-structure
- state-schema.json - the primary entrypoint for the state JSON schema
- defs.json - definitions for general types
- defs-linux.json - definitions for Linux-specific types
- validate.go - validation utility source code
Utility
There is also included a simple utility for facilitating validation. To build it:
export GOPATH=`mktemp -d`
go get -d ./...
go build ./validate.go
rm -rf $GOPATH
Or you can just use make command to create the utility:
make validate
Then use it like:
./validate config-schema.json <yourpath>/config.json
Or like:
./validate https://raw.githubusercontent.com/opencontainers/runtime-spec/v1.0.0-rc1/schema/schema.json <yourpath>/config.json