Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Purge stale DSL RBI files during dsl operation #244

Merged
merged 4 commits into from
Mar 3, 2021

Conversation

paracycle
Copy link
Member

Motivation

Do a better job of keeping DSL RBI files in sync by removing stale RBI files during generation.

Implementation

We collect the set of existing DSL RBI files in the filesystem before we start any DSL RBI generation. We then remove items from the set as RBI files are generated. Whatever we are left with in that set should be RBI files that are no longer needed.

The only complication for this strategy is the fact that the user can supply a list of requested constant names, in which case, we need to build the initial list as the filenames of the RBIs that those constant names would have generated.

Tests

See included tests.

We collect the set of existing DSL RBI files in the filesystem and then
remove items from the set as files are generated. Whatever we are left
with in that set should be RBI files that are no longer needed.

The only complication for this strategy is the fact that the user can
supply a list of requested constant names, in which case, we need to
build the initial list as the filenames of the RBIs that those constant
names would have generated.
After we try to convert requested constant names to constants, we check
to see if there were anuy failures. If there were, we display an error
for each failed constant lookup and we try to delete the associated RBI
file if it exists.

We also exit with a non-zero exit code.
@paracycle paracycle requested a review from a team March 2, 2021 23:37
Copy link
Collaborator

@Morriar Morriar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, this will be useful!

lib/tapioca/generator.rb Show resolved Hide resolved
@paracycle paracycle merged commit 82bb6a3 into master Mar 3, 2021
@paracycle paracycle deleted the uk-clear-rbis-for-removed-constants branch March 3, 2021 16:53
This was referenced Mar 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants