Skip to content

Commit 16aeeb0

Browse files
committed
Merge pull request #14 from codeclimate/manifest
Version and simple manifest
2 parents 05d3331 + e84ddad commit 16aeeb0

File tree

2 files changed

+34
-2
lines changed

2 files changed

+34
-2
lines changed

SPEC.md

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Code Climate Engine specification
1+
# Code Climate Engine Specification
22

3-
**Note: This specification is a draft. We welcome your suggestions for improvement, and there may be bumps along the way!**
3+
**Note: This specification is a living, versioned document. We welcome your participation and appreciate your patience as we finalize the platform.**
44

55
## Overview
66

@@ -182,6 +182,37 @@ Contents give more information about the issue's check, including a description
182182

183183
Some engines require the ability to refer to other source locations. For this reason, the Issue type has an optional `other_locations` field, which is an array of other `Location` items that this issue needs to refer to.
184184

185+
## Versioning
186+
187+
This specification is versioned. The current version is [in the repository](https://github.com/codeclimate/spec/blob/master/VERSION). Engines declare the version of the specification they are compatible with in the manifest file, described below.
188+
189+
## Engine Config File
190+
191+
All engines must include an `engine.json` file at `/engine.json`. This file includes information that is necessary for the analysis runtime and metadata about the engine. Here is an example config:
192+
193+
```
194+
{
195+
"name": "govet",
196+
"description": "govet was created by the Go team at Google, and examines Go source code and reports suspicious constructs, and potential bugs.",
197+
"maintainer": {
198+
"name": "Michael R. Bernstein",
199+
"email": "[email protected]",
200+
},
201+
"version": "da5a2077",
202+
"spec_version": "0.0.1",
203+
}
204+
```
205+
206+
The fields in the manifest include:
207+
208+
* `name` (`String`) - the name of the package
209+
* `description` (`String`) - a description of the engine
210+
* `maintainer` (`Object`) - data about the engine maintainer
211+
* `name` (`String`) - the name of the maintainer
212+
* `email` (`String`) - the email address of the maintainer
213+
* `version` (`String`) - engine version, an arbitrary string maintained by the engine maintainer
214+
* `spec_version` (`String`) - the version of the specification which this engine supports
215+
185216
## Packaging
186217

187218
Engines are packaged and distributed as Docker images, which allows them to be

VERSION

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.1

0 commit comments

Comments
 (0)