refactor(xgomod): drop built-in spx project support#139
Conversation
Built-in support for spx is no longer practical. Unlike a regular Go project, spx depends on a much more complex runtime and setup that cannot be represented reliably by hardcoded project metadata here. spx also maintains its own `gox.mod` and evolves relatively quickly, so the built-in definition is easy to drift out of date. Remove the hardcoded registration and the legacy `.gmx` alias. Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request refactors the Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
The pull request successfully refactors the xgomod package by removing the built-in spx project support. This change aligns with the description, addressing the complexities and maintenance challenges associated with hardcoded spx project metadata. The removal of SpxProject definition and its corresponding import calls in ImportClasses appears to be clean and complete within the modified classfile.go file, without introducing any obvious regressions or new issues.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #139 +/- ##
==========================================
- Coverage 54.09% 53.93% -0.17%
==========================================
Files 13 13
Lines 1172 1170 -2
==========================================
- Hits 634 631 -3
- Misses 519 520 +1
Partials 19 19 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR removes the hardcoded/built-in xgomod project registration for spx, including the legacy .gmx alias mapping, aligning xgomod with the idea that spx should be defined via external metadata (e.g., gox.mod) rather than embedded defaults.
Changes:
- Deleted the built-in
SpxProjectdefinition fromxgomod/classfile.go. - Stopped auto-importing
SpxProjectduringModule.ImportClasses. - Removed the legacy
.gmxextension alias that pointed to thespxproject definition.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
|
The motivation is well-reasoned and the change is clean. Two points worth addressing:
|
Remove the remaining default `.spx` and `.gmx` classfile detection from the parser, build helpers, formatter, watcher, and related tests. This also drops legacy `.yap`-specific test cases and chore script filters, keeping `_yap.gox` as the supported yap classfile form in this repository. Updates goplus/mod#139 Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
Remove the remaining default `.spx` and `.gmx` classfile detection from the parser, build helpers, formatter, watcher, and related tests. This also drops legacy `.yap`-specific test cases and chore script filters, keeping `_yap.gox` as the supported yap classfile form in this repository. Updates goplus/mod#139 Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
Remove the remaining default `.spx` and `.gmx` classfile detection from the parser, build helpers, formatter, watcher, and related tests. This also drops legacy `.yap`-specific test cases and chore script filters, keeping `_yap.gox` as the supported yap classfile form in this repository. Updates goplus/mod#139 Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
Remove the remaining default `.spx` and `.gmx` classfile detection from the parser, build helpers, formatter, watcher, and related tests. This also drops legacy `.yap`-specific test cases and chore script filters, keeping `_yap.gox` as the supported yap classfile form in this repository. Updates goplus/mod#139 Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
Remove the remaining default `.spx` and `.gmx` classfile detection from the parser, build helpers, formatter, watcher, and related tests. This also drops legacy `.yap`-specific test cases and chore script filters, keeping `_yap.gox` as the supported yap classfile form in this repository. Updates goplus/mod#139 Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
Remove the remaining default `.spx` and `.gmx` classfile detection from the parser, build helpers, formatter, watcher, and related tests. Keep the standalone spec tooling scanning `.spx` and `.yap` inputs, since those chore scripts do not read module class registrations. Updates goplus/mod#139 Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
Remove the remaining default `.spx` and `.gmx` classfile detection from the parser, build helpers, formatter, watcher, and related tests. Keep the standalone spec tooling scanning `.spx` and `.yap` inputs, since those chore scripts do not read module class registrations. Updates goplus/mod#139 Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
Built-in support for spx is no longer practical. Unlike a regular Go project, spx depends on a much more complex runtime and setup that cannot be represented reliably by hardcoded project metadata here.
spx also maintains its own
gox.modand evolves relatively quickly, so the built-in definition is easy to drift out of date. Remove the hardcoded registration and the legacy.gmxalias.