Skip to content

Conversation

@mernst
Copy link
Member

@mernst mernst commented Jan 10, 2026

No description provided.

@coderabbitai
Copy link

coderabbitai bot commented Jan 10, 2026

Warning

Rate limit exceeded

@mernst has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 23 minutes and 19 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 9ea38a7 and 028ce01.

📒 Files selected for processing (1)
  • java/Makefile
📝 Walkthrough

Walkthrough

This PR renames paths from utils/... to .utils/... across the repository: top-level Makefile, doc/Makefile, doc/www/pubs-sources/Makefile, java/Makefile, build/staging/tarball rules, PHONY/update-* targets, shell init files, pre-commit hook, test scripts, a PHP include, and .gitignore. Variables updated include HTMLTOOLS, CHECKLINK, PLUMESCRIPTS, and BPHOME. SORT_DIRECTORY_ORDER retains its declaration and now has a deterministic fallback (sort) when the file exists. No exported/public API signatures or runtime control flow were changed.

Possibly related PRs

  • Use is-ci.sh from plume-lib #728: Modifies Makefile handling of PLUMESCRIPTS, renaming update-plume-scripts to update-plume-scripts-in-utils and switching paths to a hidden .utils directory.
  • Avoid re-expansion in Makefile #737: Adjusts SORT_DIRECTORY_ORDER assignment and fallback behavior in the Makefile, related to the deterministic fallback added here.

Suggested reviewers

  • markro49
🚥 Pre-merge checks | ✅ 1
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Fix all issues with AI agents
In @doc/Makefile:
- Line 6: The Makefile currently hardcodes dependency paths like
../.utils/html-tools in prerequisite lists which ignores overrides to the
HTMLTOOLS variable; update all rule prerequisites that reference
../.utils/html-tools (including the instances around lines 6, 66-71, 74-75,
80-81, 90-92, 101-103) to use the HTMLTOOLS variable instead (e.g., replace
hardcoded ../.utils/html-tools with $(HTMLTOOLS)) so that setting HTMLTOOLS
externally or in the environment correctly changes the rebuild behavior while
preserving the existing default via the HTMLTOOLS ?= ../.utils/html-tools
assignment.

In @java/Makefile:
- Around line 10-14: The PLUMESCRIPTS variable is pointing to
${DAIKONDIR}/.plume-scripts but prerequisites and targets expect
../.utils/plume-scripts; update the variable definition PLUMESCRIPTS ?=
${DAIKONDIR}/.plume-scripts to use the .utils path so it reads PLUMESCRIPTS ?=
${DAIKONDIR}/.utils/plume-scripts, ensuring all invocations of
${PLUMESCRIPTS}/preplace and other scripts resolve to the same directory
referenced by the prerequisites.

In @scripts/daikon-dev.bashrc:
- Line 8: Many Makefiles contain hardcoded ../.utils/plume-scripts paths that
bypass the exported PLUMESCRIPTS variable; update all occurrences (e.g., the
reference to ../.utils/plume-scripts/classfile_check_version in Makefile and the
11+ entries in java/Makefile and entries at Makefile:650, 792-795 and
doc/Makefile:69) to use the PLUMESCRIPTS variable instead (e.g., replace
hardcoded paths with $(PLUMESCRIPTS)/classfile_check_version or
$(PLUMESCRIPTS)/<script_name>), and verify targets and include lines still
resolve correctly after the substitution.

In @scripts/daikon.pre-commit:
- Line 14: The pre-commit hook uses a relative path
"./.utils/run-google-java-format/check-google-java-format.py" which breaks when
run outside the repo root; update the script invocation to resolve the
repository root (e.g., via git rev-parse --show-toplevel) into a variable and
call the checker using that absolute path (for example by constructing
REPO_ROOT/.utils/run-google-java-format/check-google-java-format.py and using it
in place of the current "./.utils/..." reference) so the hook is
cwd-independent.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e6aa9f3 and da17c46.

⛔ Files ignored due to path filters (3)
  • java/lib/checker-framework/checker.jar is excluded by !**/*.jar
  • java/lib/require-javadoc/require-javadoc-2.0.0-all.jar is excluded by !**/*.jar
  • tests/daikon-tests/TreeMap/test.jar is excluded by !**/*.jar
📒 Files selected for processing (11)
  • .gitignore
  • Makefile
  • doc/Makefile
  • doc/www/pubs-sources/Makefile
  • java/Makefile
  • scripts/daikon-dev.bashrc
  • scripts/daikon.bashrc
  • scripts/daikon.pre-commit
  • scripts/pmake
  • scripts/test-typecheck-onefile.sh
  • scripts/test-typecheck-with-latest-cf.sh
⏰ 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_part2_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_latest_part3_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_latest_part1_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (kvasir_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part1_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part3_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part2_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (nontxt_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (nonquick_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (quick_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (misc_ubuntu_jdk25)
🔇 Additional comments (15)
.gitignore (1)

69-69: LGTM!

The gitignore entry correctly updated to reflect the hidden .utils directory.

scripts/test-typecheck-onefile.sh (2)

27-27: LGTM!

The git-scripts path correctly updated to reference the hidden .utils directory.


23-23: Verify these additions are intentional.

Lines 23 and 31 introduce changes beyond the directory rename:

  • Line 23: Adds make update-git-scripts
  • Line 31: Adds export CHECKERFRAMEWORK

While the AI summary mentions these changes, they appear unrelated to the utils/.utils/ rename objective. If these are intentional improvements, consider including them in the PR description or splitting them into a separate commit.

Also applies to: 31-31

scripts/test-typecheck-with-latest-cf.sh (1)

29-29: Path correctly updated to .utils directory; verification confirms all references migrated.

The verification check confirms there are no remaining references to the old utils/git-scripts pattern. All paths throughout the codebase (Makefile and shell scripts) have been correctly updated to .utils/git-scripts. The refactoring is complete and consistent.

scripts/pmake (1)

9-9: This is a newly created file, not a modification of an existing path.

The git history shows scripts/pmake was created new in the commit "Rename utils/ to .utils/". The include path $HOME/phplib/.utils.php references an external library in the user's home directory, which is separate from the repository's internal .utils/ directory rename. Without access to the external phplib structure, the correctness of this external path cannot be verified within the repository.

java/Makefile (1)

860-862: LGTM: google-java-format scripts repathed under .utils.

Assuming update-run-google-java-format populates ../.utils/run-google-java-format/, these recipe changes are straightforward.

Also applies to: 869-870

doc/www/pubs-sources/Makefile (1)

2-6: LGTM: toolchain variables repointed to .utils/*.

The bootstrap/update flow is already properly integrated. The pull-repos target in this Makefile calls ${MAKE} -C ${DAIKONDIR} update-libs, which automatically clones or updates all required repositories (bibtex2web, checklink, html-tools, plume-scripts) from GitHub into .utils/ before the pubs build runs. Since index.html depends on pull-repos, these directories will be created automatically on first build.

scripts/daikon.bashrc (1)

50-52: Path correctly materialized by build flow. The update-plume-scripts-in-utils target in the Makefile (lines 790–796) properly populates ${DAIKONDIR}/.utils/plume-scripts, and the update-libs target includes this step. The bashrc export aligns with the make infrastructure; downstream usage (test-staged-dist line 379, distribution archiving line 650) already expects this location. No legacy /utils references remain.

Makefile (7)

7-10: LGTM: Path variables updated correctly.

The variable declarations for HTMLTOOLS, CHECKLINK, and PLUMESCRIPTS have been correctly updated to reference .utils/ instead of utils/. These variables are used throughout the Makefile, so updating them at the declaration point ensures consistency.


193-195: Good backward compatibility handling.

The very-clean target correctly removes both .utils (new path) and utils (old path) with a clear explanatory comment. This is a good practice for ensuring clean transitions and helping users who might have both old and new checkouts.


325-325: LGTM: Code style exclusion updated correctly.

The CODE_STYLE_EXCLUSIONS_USER variable has been correctly updated to exclude .utils instead of utils, ensuring that code style checks skip the hidden utility directory.


379-379: LGTM: Test script path updated correctly.

The reference to ../.utils/plume-scripts/classfile_check_version in the test-staged-dist target is correct and properly uses the new hidden directory path.


649-650: LGTM: Distribution packaging updated correctly.

The distribution creation logic correctly creates the .utils directory and uses git archive to populate it with plume-scripts. The path structure in the distribution will match the new hidden directory convention.


756-806: LGTM: All utility update targets correctly migrated.

All six update-* targets (update-bibtex2web, update-checklink, update-git-scripts, update-html-tools, update-plume-scripts-in-utils, and update-run-google-java-format) have been consistently updated to:

  1. Check for .utils/<tool>/.git directories
  2. Perform git pull in .utils/<tool> when updating
  3. Clone into .utils/<tool> when creating new installations

The pattern is consistent, correct, and includes proper directory creation with mkdir -p .utils.


7-10: All references to utils/ have been successfully updated to .utils/ across the codebase. Verification confirms:

  • Makefile and all auxiliary Makefiles (doc/www/pubs-sources, java) use correct .utils/ paths
  • Shell scripts (daikon.bashrc, daikon-dev.bashrc) reference .utils/ correctly
  • No remaining hardcoded references to old utils/ paths exist
  • Cleanup targets properly handle both directory variants for backward compatibility
  • No documentation or CI/CD configuration issues

The path migration is complete and comprehensive.

Copy link

@coderabbitai coderabbitai bot left a 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 @Makefile:
- Line 789: The if test line has a malformed variable reference
`${PLUMESCRIPTS/.git` causing a shell syntax error; change it to a valid path
test like if test -d "${PLUMESCRIPTS}/.git" ; then \ (or if [ -d
"${PLUMESCRIPTS}/.git" ]; then \) so the `${PLUMESCRIPTS}` variable is properly
closed, the /.git suffix is outside the braces, and the path is quoted; update
this in the make targets update-plume-scripts-in-utils and update-libs.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between da17c46 and 6a4c852.

📒 Files selected for processing (1)
  • 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_part2_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_latest_part3_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part3_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_latest_part1_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part2_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (kvasir_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (quick_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part1_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (nonquick_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (nontxt_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (misc_ubuntu_jdk25)
🔇 Additional comments (11)
Makefile (11)

7-10: LGTM!

The path variable updates from utils/ to .utils/ are consistent and correctly use conditional assignment to allow user overrides.


193-195: LGTM!

Good approach to remove both .utils and the legacy utils/ directory during cleanup, with a helpful comment explaining the rename.


325-326: LGTM!

The code style exclusions correctly reference .utils, and the include statement properly uses the ${PLUMESCRIPTS} variable.


376-376: LGTM!

Correctly uses the ${PLUMESCRIPTS} variable for the classfile_check_version script path.


646-647: LGTM!

The distribution correctly creates the .utils directory and populates it with plume-scripts.


740-746: LGTM!

The PHONY target rename from update-plume-scripts to update-plume-scripts-in-utils is consistent across both the dependency list and the .PHONY declaration.


751-757: LGTM!

Path updates for update-bibtex2web are consistent with the .utils/ rename.


760-766: LGTM!

Path updates for update-checklink are consistent.


769-775: LGTM!

Path updates for update-git-scripts are consistent.


778-784: LGTM!

Path updates for update-html-tools correctly use the ${HTMLTOOLS} variable and hardcode .utils appropriately for directory creation.


796-802: LGTM!

Path updates for update-run-google-java-format are consistent.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
Makefile (1)

325-325: Update exclusion pattern to reference .utils instead of utils.

Line 325 references --exclude-dir utils, but the Makefile has already been updated elsewhere to use .utils (lines 7–10, 193–195, 649–650, 756–768, etc.). Line 194's comment confirms "utils/" is an old name for ".utils/". Update line 325 to --exclude-dir .utils for consistency.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6a4c852 and b048a0f.

📒 Files selected for processing (1)
  • 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 (kvasir_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_latest_part3_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_latest_part1_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_latest_part2_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part3_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (quick_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (misc_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part1_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part2_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (nontxt_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (nonquick_ubuntu_jdk25)
🔇 Additional comments (3)
Makefile (3)

7-10: LGTM! Consistent path variable updates.

The path updates for HTMLTOOLS, CHECKLINK, and PLUMESCRIPTS are consistent with the PR objective to rename the utilities directory to a hidden directory.


193-195: LGTM! Good backward compatibility handling.

Removing both .utils and the old utils directory ensures clean builds for developers who might have the old directory structure. The explanatory comment is helpful.


379-379: LGTM! All remaining path updates are consistent.

The updates across the test target (line 379), distribution creation (lines 649-650), library update targets (line 743), and all individual update rules (lines 756-806) consistently reference the new .utils/ directory structure. The pattern for checking/cloning/updating utility repositories is uniform and correct.

Also applies to: 649-650, 743-743, 749-749, 756-806

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In @Makefile:
- Around line 7-10: The Makefile now references a hidden `.utils/` directory via
variables HTMLTOOLS, CHECKLINK and PLUMESCRIPTS which may be undiscoverable by
new contributors; update the project documentation (e.g., README or a
CONTRIBUTING/dev-setup section) to mention the `.utils/` directory location,
note that it is hidden (requiring `ls -a` to view), and briefly explain the
rationale for hiding it so developers can find and understand the utilities
referenced by HTMLTOOLS, CHECKLINK and PLUMESCRIPTS.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b048a0f and a645a93.

📒 Files selected for processing (1)
  • 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 (typecheck_latest_part1_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part1_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (kvasir_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part3_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part2_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (nonquick_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (misc_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (quick_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (nontxt_ubuntu_jdk25)
🔇 Additional comments (5)
Makefile (5)

7-10: LGTM: Path variables consistently updated.

The utility path variables have been correctly updated to reference the hidden .utils/ directory. The use of ?= preserves user override capability.


193-195: LGTM: Excellent backward compatibility handling.

Removing both .utils and the old utils directory during cleanup ensures a clean transition. The comment clearly documents the rename for future maintainers.


325-325: LGTM: Code style exclusion updated correctly.

The exclusion pattern has been properly updated to match the renamed directory.


649-650: LGTM: Distribution packaging updated correctly.

The distribution creation properly uses the new .utils/ directory structure and correctly archives plume-scripts into it.


756-760: LGTM: All utility update targets consistently use .utils/ paths.

All update-* targets have been uniformly updated to clone and update repositories in the .utils/ directory. The implementation is consistent across all targets with proper error handling and retry logic.

Also applies to: 765-769, 774-778, 783-787, 792-796, 801-805

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In @doc/Makefile:
- Around line 66-71: The recursive Make invocations in the rules for the targets
"../.utils/html-tools" and "../.utils/plume-scripts" call "make -C ..
update-html-tools" and "make -C .. update-plume-scripts-in-utils" directly;
change those to use "${MAKE} -C .. update-html-tools" and "${MAKE} -C ..
update-plume-scripts-in-utils" so that MAKE-flags and the jobserver are
propagated correctly when invoking make recursively.

In @java/Makefile:
- Around line 12-14: The PLUMESCRIPTS default in the Makefile is
incorrect—update the PLUMESCRIPTS variable definition (symbol PLUMESCRIPTS in
java/Makefile) to point to ${DAIKONDIR}/.utils/plume-scripts so it matches the
prerequisite ../.utils/plume-scripts and the root Makefile/daikon bashrcs; this
ensures targets referencing ${PLUMESCRIPTS}/... find the same
.utils/plume-scripts directory on a fresh checkout.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a645a93 and a719fb2.

📒 Files selected for processing (2)
  • doc/Makefile
  • 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_part2_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_latest_part3_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part3_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part2_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (kvasir_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part1_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_latest_part1_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (nontxt_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (quick_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (misc_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (nonquick_ubuntu_jdk25)
🔇 Additional comments (10)
doc/Makefile (5)

6-6: Good: HTMLTOOLS now points at ../.utils/html-tools.
Just ensure any packaging/tarball rules include dot-directories so .utils/ isn’t accidentally omitted.


74-74: daikon-html prerequisite updated consistently.


80-80: developer.html prerequisite updated consistently.


90-90: daikon/index.html prerequisite updated consistently.


101-101: developer/index.html prerequisite updated consistently.

java/Makefile (5)

641-650: Good: local rules to materialize .utils dependencies (and recursive calls use ${MAKE}).


859-862: Verify ../.utils/run-google-java-format/run-google-java-format.py is present + executable in all environments.
If exec bits aren’t preserved somewhere (e.g., tarball/staging), invoking via python3 may be safer.


868-871: Verify ../.utils/run-google-java-format/check-google-java-format.py is present + executable in all environments.


1321-1327: Nice: write to $@.tmp then mv -f (avoids partially-written texinfo on failure).


1332-1339: Nice: tmp-file workflow + in-place fixups before final mv -f.

@mernst mernst mentioned this pull request Jan 12, 2026
Copy link

@coderabbitai coderabbitai bot left a 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 @Makefile:
- Around line 377-379: The Makefile rule contains a malformed command where "cd"
precedes the ${MAKE} invocation; replace the incorrect fragment so the recipe
runs make in the target directory and invokes the junit target by calling
${MAKE} -C ${DISTTESTDIR}/daikon/java junit (using the existing MAKE and
DISTTESTDIR variables and the junit target), ensuring the surrounding lines
remain unchanged and the later .utils path change is kept as-is.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a719fb2 and 9ea38a7.

📒 Files selected for processing (2)
  • Makefile
  • doc/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_part2_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_latest_part1_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_latest_part3_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part3_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part2_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (kvasir_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part1_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (nontxt_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (quick_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (misc_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (nonquick_ubuntu_jdk25)
🔇 Additional comments (9)
doc/Makefile (3)

6-6: LGTM!

Path correctly updated to the hidden .utils directory, consistent with the PR's renaming objective.


66-70: LGTM!

Prerequisite rules correctly updated to use .utils paths. The target update-plume-scripts-in-utils aligns with the renamed target in the parent Makefile.


74-74: LGTM!

All target prerequisites consistently updated to reference .utils paths.

Also applies to: 80-80, 90-90, 101-101

Makefile (6)

7-10: LGTM!

Variables HTMLTOOLS, CHECKLINK, and PLUMESCRIPTS correctly updated to reference the hidden .utils directory.


193-195: LGTM!

Good approach to clean up both .utils (new) and utils/ (old) directories, ensuring a clean slate during the transition period. The comment documenting the old name is helpful.


325-325: LGTM!

Style exclusion correctly updated to exclude .utils directory.


649-650: LGTM!

Tarball creation correctly updated to use .utils/plume-scripts path.


743-749: LGTM!

Target renamed to update-plume-scripts-in-utils and correctly listed in both update-libs dependencies and .PHONY declaration.


754-806: LGTM!

All update-* targets consistently updated to use .utils paths. The logic correctly handles both existing (git pull) and new (git clone) scenarios, with mkdir -p .utils ensuring the parent directory exists before cloning.

Comment on lines 377 to +379
cd ${MAKE} -C ${DISTTESTDIR}/daikon/java && junit
## Make sure that all of the class files are 1.8 (version 52) or earlier.
(cd ${DISTTESTDIRJAVA} && find . \( -name '*.class' \) -print0 | xargs -0 -n 1 ../utils/plume-scripts/classfile_check_version 52)
(cd ${DISTTESTDIRJAVA} && find . \( -name '*.class' \) -print0 | xargs -0 -n 1 ${PLUMESCRIPTS}/classfile_check_version 52)
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Syntax error on line 377.

Line 377 appears malformed: cd ${MAKE} -C ${DISTTESTDIR}/daikon/java && junit. The cd command before ${MAKE} is incorrect and will cause the rule to fail.

It should likely be:

${MAKE} -C ${DISTTESTDIR}/daikon/java junit

The .utils path change on line 379 is correct.

🐛 Proposed fix
-	cd  ${MAKE} -C ${DISTTESTDIR}/daikon/java && junit
+	${MAKE} -C ${DISTTESTDIR}/daikon/java junit
🤖 Prompt for AI Agents
In @Makefile around lines 377 - 379, The Makefile rule contains a malformed
command where "cd" precedes the ${MAKE} invocation; replace the incorrect
fragment so the recipe runs make in the target directory and invokes the junit
target by calling ${MAKE} -C ${DISTTESTDIR}/daikon/java junit (using the
existing MAKE and DISTTESTDIR variables and the junit target), ensuring the
surrounding lines remain unchanged and the later .utils path change is kept
as-is.

@mernst mernst merged commit 6ce22a0 into codespecs:master Jan 12, 2026
50 checks passed
@mernst mernst deleted the dot-utls branch January 12, 2026 13:14
@coderabbitai coderabbitai bot mentioned this pull request Jan 13, 2026
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.

1 participant