-
Notifications
You must be signed in to change notification settings - Fork 27
Open
Labels
Description
Situation
For data exchange we currently support the machine readable "SpecObject" and "ASPEC" formats. While these are technically sufficient, they show their heritage over three predecessor tools (TReqs, ReqM2 and Allosaurus). They could be a lot more streamlined and user-friendly.
Implementation Idea
We should add a machine-readable exchange format with JSON, that is closer to who OFT sees the data, more compact and less convoluted than OSPEC and ASPEC.
Sample File
{
"$schema": "http://schemas.itsallcode.org/oft/oft_specitem_1.0.json",
"creationDate": "<ISO creation date>",
"oftVersionUsed": "<version of OFT that was used to create the file>",
"formatVersion": "1.0",
"specificationItems": [
{
"id": "...",
"title": "...",
"description": "...",
"rationale": "...",
"comment": "...",
"status": "..."
"covers": ["cover_id_1", "cover_id_2"],
"depends": ["dep_id_1", "dep_id_2"],
"tags": ["tag_1", "tag_2"],
"source": {
"file": "<path to source file>",
"line": <line in source file>
},
},
...
]
}Potential Libraries
| Name | License | Project Home Page Link | Single Library | Estimated JAR Size | Last Release Date |
|---|---|---|---|---|---|
| Gson | Apache 2.0 License | Gson on GitHub | Yes | ~230 KB | |
| Jackson | Apache 2.0 License | Jackson on GitHub | Yes | ~1.4 MB | |
| Json-simple | Apache 2.0 License | Json-simple on GitHub | Yes | ~25 KB | |
| org.json | JSON License | Org.JSON in Maven Repository | Yes | ~66 KB | |
| JSON-java | BSD 3-Clause License | JSON-java on GitHub | Yes | ~63 KB |
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
📫 Backlog