Refactor responsibility of writing generated output out of Generate command#117
Merged
liamnichols merged 6 commits intomainCreateAPI/CreateAPI:mainfrom Aug 5, 2022
ln/refactor-output-writingCreateAPI/CreateAPI:ln/refactor-output-writingCopy head branch name to clipboard
Merged
Refactor responsibility of writing generated output out of Generate command#117liamnichols merged 6 commits intomainCreateAPI/CreateAPI:mainfrom ln/refactor-output-writingCreateAPI/CreateAPI:ln/refactor-output-writingCopy head branch name to clipboard
Generate command#117liamnichols merged 6 commits intomainCreateAPI/CreateAPI:mainfrom
ln/refactor-output-writingCreateAPI/CreateAPI:ln/refactor-output-writingCopy head branch name to clipboard
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
outputdirectory and make--cleana little safer #88In some upcoming changes I want to make adjustments to the logic around writing outputs but I had a bit of a hard time with the way things were currently written. For that reason, I think it was time for a bit of a cleanup 🙂
In this change, I bring in two new types:
OutputWriter, a small and generic class that helps make it easy to write files out into various directory structures. It's completely generic and not tied to any generator implementation details and does a few other things like throw errors if you try writing a file to the same location twice.Output, basically a wrapper around the twoGeneratorOutput's that also includes the generated Package.swift manifest and the relevantGenerateOptions. It provides a nice isolated location for us the newwrite(to:)method that interacts withOutputWriterand writes the appropriate files to the filesystem.While I didn't write any tests for these types directly, the overall generator test fixtures remain unchanged which is good proof that it results in an identical output.