Soup
Soup copied to clipboard
Soup is a build system that guarantees incremental build correctness and aims to simplify many aspects of developing shared code while maintaining best in class performance.
Soup Build
Quick Links
- Official Site
- Getting Started
- Command Line Interface (CLI)
- Samples
Overview
Soup is a build system for developing software as a community, with a primary focus on developer velocity. Soup was built from the ground up to support guaranteed minimum incremental builds while allowing for reusability of both build logic and runtime code.
Soup utilizes a three phased approach to building code. A declarative frontend Recipe tells the build what to build. A generate layer uses C# Extensions to define how to build. And finally, the evaluate engine runs the build Operations to invoke the required build executables.
The clean isolation of individual projects and the ability to write custom build logic that will be integrated into the shared runtime work together to allow for easy authoring of a package that can be shared with other teams or organizations through a public source based Package Manager.
More Information:
- Design Requirements and Goals - An up to date set of design goals taken from the original design proposal.
- Architecture - An up to date breakdown of the Build Runtime and Design.
- Command Line Interface (CLI) - The help documentation for the Soup Command line application.
Release Status
Soup is currently in an Alpha
stage. This means that anyone is welcome to play around with the source code or the releases on GitHub, however there may be breaking changes in the internal structures and definitions as work is completed and therefor it should not be used in any production capacity. The design is stabilizing over time and will enter a Beta when we believe there will be no more breaking changes or security concerns that would block a first release.
Contributing
Soup is currently in active prototyping and testing. If you are interested in contributing to the project feel free to submit a PR or download the latest release and file an issue with suggestions or bugs. :smile:.
- Getting Started
- Samples
- Developer Setup