Development Environment
Information about the MCSH Development Environment
Mandolin Creek Development Environment
The Mandolin Creek Development Environment includes scripts that will be of interest primarily to developers. These tools were developed to assist the package author with source package management, script source code introspection, tool testing and automation, and user interface and experience.
i7
- Build helper- Environment - Provides custom environment settings for package development (see
make env
) - Configuration - Generates
Makefile.i7
from template and package configuration files (*.i7
)
- Environment - Provides custom environment settings for package development (see
p7
- Packaging helper- Packaging - Generates distribution tarballs (see
make dist
) - Version - Manages package versions
- Release - Generate final deliverables (documentation, archives, etc.)
- Publishing - Pushes code to github, uploads deliverables to website, ftp, etc.
- Installation - Provides automatic deployment of MCSH packages
- Packaging - Generates distribution tarballs (see
d14
- Documentation helper- Dependencies - Generates dependency graph files for all Bash source files
- Reference - Produces API guide from source file comments
- Guidebooks - Produces user/programmer guides from package documentation files
d12
- Development helper- Source code wizards
- Run tools with implicit filenames (
grep
,sed
, other tools, or custom scripts) - Generates source code templates for new tools and libraries
- Run tools with implicit filenames (
- Dependency Visualization
- Prints list or tree view of MCSH source dependencies
- Generates (sub)graphs (using
graphviz
library)
- Source code wizards
mcsh
- Mandolin Creek Shell helper
- Provides a "top-level" MCSH shell
- Each tool has its own shell command (try
<some_tool> shell
) that makes its top-level commands directly available. Normal Bash scripting can be used as well (with some significant caveats at the moment). - Allows development of native MCSH scripts (try
#!<tool> shell
at the top of a script)
u2
- Mandolin Creek User Interface helper- Provides a CLI interface for testing MCUI elements
- Checks MCUI backends using interactive test suite (run
u2 check
) - Allows comparisons of API availability and functionality across backends
Most of these tools were created in very early (pre)versions of the MCSH package. They continue to be used and developed on a routine basis, as part of the MCSH development process itself.