@buggyorg/buggy v0.2.0
Buggy Package
This package includes a CLI for the Buggy tool chain.
Basic Idea
A program in Buggy can take up various different forms depending on the position in the tool chain. The following pictures illustrates the different layers.

Buggy CLI Interface
{
"project": "Sort",
"file": "sort.clj",
"library": "http://libraryserver",
"targets": [
{
"compile":
{
"dependency": "@buggyorg/codegen^0.4.0",
"args": ["--language", "c++", "--optimized"]
}
}],
"preprocessing": [
{
"@buggyorg/lisgy": {
"handles": ".clj",
"args": ["--fast"]
},
"yaml2json": {
"handles": ".yaml",
"runFormat": "<prog> --input <input-file> --output <output-file>"
}
}]
}Call it from the Commandline via:
buggy compilePossible "Backends"
- API
- CLI
- Web-Service
Definition of APIs in external programs
JSON definition of the API for a CLI-tool via <prog> --buggy-api e.g. yaml2json --buggy-api.
This could result in something similar to the following:
{
"name": "yaml2json",
"binary": "/usr/bin/yaml2json",
"description": "fancy tool with buggy api interface",
"produces": "stdout", // or "file" ?
"takes": "stdin", // of "file"
"command": "yaml2json"
}Create a node module that exposes its API to buggy-cli
It must have a npm target to get information about the buggy-cli interface.
> npm run buggy-cli-info
{
"name": "codegenerator",
"description": "Creates code from buggy graphs",
"buggy-version": "0.4.0"
}It also must export cliApi as a function in its
main export (package.json → "main"). The function cliApi must
return an object of the following form:
{
"name": "codegeneration",
"produces": "code",
"dependencies": [
"@buggyorg/resolve",
{"package": "@buggyorg/optimize", "optional": true, "activateWhen": "optimize"}
]
}There are two different dependencies. Required dependencies are always used when the
tool is used. Optional dependencies are only used when a specific option is set like optimize.
The attribute activateWhen specifies the command line parameter that activates the
step in the tool chain.
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago