- Quick Start
- Supported Platforms
- Docker Images
- Pip Install
- Related Repositories
- Creating Your Own Repository
Setup installs/unpacks tools used during development activities and locates its repository dependencies (if any). Setup must be run on your machine after cloning the repository or after changing the file location of repositories that it depends upon (if any).
Activate prepares the current environment for development activities and must be run at least once in each terminal window.
Common_Environment is licensed under the Boost Software License.
GitHub describes this license as:
A simple permissive license only requiring preservation of copyright and license notices for source (and not binary) distribution. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
This repository distributes the following software:
|Pandoc||GNU GPL v2|
|Python||PSF License Agreement|
This software has been verified on the following platforms.
- A folder available in the environment's path after activation. A specific tool version can be specified using Version Specs.
- Content available in the environment's path after activation. Scripts do not have specific versions.
- A language-specific library available after activation; where the specifics of "availability" are based on the corresponding language. In Python, this means that the library is made available within the Python's site-packages directory. A specific library version can be specified using Version Specs.
- A collection of code based on Common_Environment. A repository and those that it depends on are activated within an environment.
- A repository that has been activated within a command window. Environments leverage Tools, Scripts, and Libraries it defines or are defined in any repository that it depends on.
- Version Specs
VersionSpecsis defined in RepositoryBootstrap/SetupAndActivate/Configuration.py and is specified in a repository's
- Repositories can be dependent upon other repositories. During activation, all Tools, Scripts, and Libraries from those repositories will be made available in addition to any Tools, Scripts, and Libraries made available by the current repository.
A repository may support configurations, where an individual configuration customizes Version Specs for the Tools, Scripts, and Libraries made available during activation. For example, the Common_Environment repository makes 2 configurations available:
Configurations are defined in a repository's
- Python Bootstrap
This functionality is similar to a dynamic virtualenv.
- Build Tools
Plugin-based system for the arbitrary building of applications. For more information, see:
- Test Tools
Plugin-based system for the arbitrary testing of applications. For more information, see:
- Tester.py to execute tests
- Compilers/PythonVerifier.py for an example of a test compiler plugin
- TestParsers/PyUnittestTestParser.py for an example of a test framework plugin
- TestParserImpl/__init__.py to implement a test parser plugin
- Code Coverage Tools
Plugin-based system for the arbitrary extraction of code coverage information. For more information, see:
- Tester.py to execute tests
- TestExecutor/PyCoverageTestExecutor.py for an example of a code coverage / test executor plugin
- TestExecutorImpl/__init__.py to implement a test executor / code coverage extractor plugin
Docker images of Common_Environment are generated periodically.
|dbrownell/common_environment:python36||An environment that is activated with python36.|
|dbrownell/common_environment:python27||An environment that is activated with python27.|
|dbrownell/common_environment:base||An environment that is setup but not activated (useful as a base image for other Common_Environment-based images).|
Common_Environment's implementation includes foundational python tools and functionality that is useful outside of the repository itself.
A wheel file with these tools are generated periodically and available via pip:
pip install Common-Environment
As this repository serves as the foundation for all other repositories, it has no dependencies.
|Common_EnvironmentEx||Enhances Common_Environment with libraries, scripts, and tools common to different development activities.|
Creating Your Own Repository
For question or issues, please visit https://github.com/davidbrownell/Common_Environment_v3/issues.