-
Notifications
You must be signed in to change notification settings - Fork 0
Features: Project Aware
As a software solution grows, it becomes less and less efficient to think about and operate on that solution as a single unit. Breaking that solution up into smaller projects allows development efforts to be focused around specific areas. In the same way, build processes can operate on specific projects as needed, which is more efficient than trying to operate on the entire solution at once.
For example, if a developer has been refactoring code in a particular project and wants to run the unit tests for that project to make sure the code still works, there is no reason to also run the unit tests for other projects that haven't changed. But in order to run just the unit tests for that project, the part of the build system that knows how to run the unit tests has to know how to run the tests for just that project.
This means that the build system has to understand what projects are in the solution, and how to operate on them independently of other projects. Importantly, it also has to understand how your projects relate to each other - if other projects depend on the one that has just been refactored, they need to built and tested too. Understanding the projects in a solution and how they relate to each other is a core feature of Casper that sets it apart from other .NET build tools.