Shared import-capture vocabulary instead of ~21 per-language import extractors
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start with src/ingest_relations.h and tags.scm to understand the existing per-language import extractors and proposed capture vocabulary, then inspect src/resolve.h for the dependency boundary. Choose one language to migrate, run the existing resolve/deps gates, and verify byte-identical dependency edges with that language’s extractor removed.
Written by the indexing model from the issue text.
Description
Part of the language-architecture cleanup tracked in #354 ("common stays common"). This is the largest step, so it goes last.
Problem. src/ingest_relations.h has about 21 per-language import-target extractors (csharpUsingTarget, luaRequireTarget, phpUseTarget, rubyRequireTarget, jsModuleLoadTarget, elixirDirectiveTarget, …). Most do the same thing: find the import statement's target text and normalise it.
Change. A shared import capture vocabulary in tags.scm (for example @import.path, @import.alias, @import.names) plus one small specifier normaliser per DepDialect, instead of an extractor per language. Dependency resolution stays in src/resolve.h.
Acceptance. Dependency edges byte-identical on every dependency-capable language (existing resolve/deps gates); the per-language extractors removed as each language moves over. It can land one language at a time.
Size: about 5 days in total, but splittable per language. Comment here to claim a language.
- Dominant language
- C++
- Stars
- 2.3k
- Forks
- 145
- Avg merge
- 8h 50m
- Merged PRs (30d)
- 211
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from redhat-et/ripwire
-
Difficulty 2/5 Under an hour Newbie friendliness 78/100
redhat-et/ripwire#334 · 7 comments ·
Maintainers usually reply within 1 day
-
help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
redhat-et/ripwire#68 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
One shared inert-region mechanism (quote, discard, comment forms) instead of per-language checksOpenenhancement help wanted
Difficulty 3/5 Half a day Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
enhancement help wanted
Difficulty 3/5 1-2 days Newbie friendliness 58/100
Maintainers usually reply within 1 day
All issues in redhat-et/ripwire
Similar issues
-
Difficulty 2/5 Half a day Newbie friendliness 84/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
ROCm/rocm-libraries#12703 ·
Maintainers usually reply within 2 days
-
bug
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
isl-org/Open3D#7585 · 1 comment ·
Maintainers usually reply within 2 days
-
Feature request
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
qbittorrent/qBittorrent#24975 ·
Maintainers usually reply within 3 days