-
Notifications
You must be signed in to change notification settings - Fork 60
Avoid re-expansion in Makefile #737
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
Conversation
📝 WalkthroughWalkthroughThe PR updates Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 1✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro 📒 Files selected for processing (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
🔇 Additional comments (4)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In @java/Makefile:
- Around line 887-911: The JAVAC_*_ARGS variables (e.g.,
JAVAC_RESOURCELEAK_ARGS, JAVAC_INDEX_ARGS, JAVAC_INTERNING_ARGS) were defined
with immediate expansion (:=) while referencing INDEX_SKIPDEFS,
INTERNING_SKIPDEFS, and ALLSYSTEMS_SKIPDEFS which are defined later, causing
empty -AskipDefs values; fix by moving the definitions of INDEX_SKIPDEFS,
INTERNING_SKIPDEFS, and ALLSYSTEMS_SKIPDEFS so they appear before any
JAVAC_*_ARGS that reference them (or alternatively change those JAVAC_*_ARGS to
recursive expansion with =), ensuring the -AskipDefs substitutions are evaluated
correctly for the checkers.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
java/Makefile
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
- GitHub Check: codespecs.daikon (typecheck_latest_part3_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (typecheck_latest_part2_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (kvasir_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (typecheck_bundled_part3_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (typecheck_bundled_part1_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (typecheck_latest_part1_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (typecheck_bundled_part2_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (nontxt_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (misc_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (nonquick_ubuntu_jdk25)
- GitHub Check: codespecs.daikon (quick_ubuntu_jdk25)
🔇 Additional comments (5)
java/Makefile (5)
142-145: LGTM! Proper conversion to immediate expansion.The variables
JAVADOC_COMMAND,JAVAC_COMMAND, andJAVA_COMMANDcorrectly use:=sinceDAIKON_CLASSPATHis fully constructed beforehand (lines 118-140). This eliminates unnecessary re-expansion.
162-166: LGTM! Correct use of immediate expansion.The conversion of
SORT_DIRECTORY_ORDERto:=is appropriate here. The conditional logic executes once to determine the correct value, avoiding redundant wildcard checks.
759-760: LGTM! Simple constants benefit from immediate expansion.These variables contain static string values and don't require re-evaluation, making
:=the correct choice.
912-920: LGTM! Correct ordering for immediate expansion.These file list variables correctly use
:=since they depend onDAIKON_JAVA_FILESwhich is already defined at line 168. This avoids re-evaluating file lists multiple times.
662-662: LGTM! All remaining conversions have correct dependency ordering.These conversions to
:=are safe:
- Line 662:
JAVA_FILES_EXCEPT_DAIKONdepends onJAVA_FILES(already defined)- Lines 1083-1084:
TYPEQUALS_*variables use wildcards evaluated once- Line 1140:
JAVAC_COUNT_ARGSis a static string- Lines 1210-1222: Javadoc variables correctly reference previously defined
DAIKON_CLASSPATHand other stable valuesThe immediate expansion eliminates unnecessary re-evaluation while maintaining correctness.
Also applies to: 1083-1084, 1140-1140, 1210-1222
No description provided.