[Pipeline] Refactor the content builder by harry-cpp · Pull Request #8988 · MonoGame/MonoGame
- ContentCollection: Add ability for specifying multiple outputs for the same asset input - ContentCollection: Make include / exclude only do operations on current content root - ContentCollection: Modify outputPath function to expect a path without extension in case of build action - Parameters: Make Parameters a class so they can both be read from CLI and afterwards modified in code more easily - Parameters: Add ability to rebuild content - Cache: Make content cache track content based on produced outputs instead of inputs - Cache: Mark ContentFileCache as internal and make an IContentFileCache that the IContentCache is working with - Cache: Track output file times in case of external modifications - Cache: Sanitize - Builder: Add ability for multiple dependencies of the same asset to have separate properties (more refactoring on this is coming so that we don't waste space) - Builder: Sanitize passed pathing to ContentCollection - Builder: Automatically append .xnb to output path in case of build action - Builder: Remove GetDefaultOutputPath and GetDefaultCopyPath as they now no longer to any modifications