Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ jobs:
paths:
- ".git"
- run:
command: ./scripts/test-misc.sh
command: export COMSPEC="" && export ComSpec="" && ./scripts/test-misc.sh
no_output_timeout: 20m
misc-ubuntu-jdk11:
docker:
Expand All @@ -351,7 +351,7 @@ jobs:
paths:
- ".git"
- run:
command: ./scripts/test-misc.sh
command: export COMSPEC="" && export ComSpec="" && ./scripts/test-misc.sh
no_output_timeout: 20m
misc-ubuntu-jdk17:
docker:
Expand All @@ -373,7 +373,7 @@ jobs:
paths:
- ".git"
- run:
command: ./scripts/test-misc.sh
command: export COMSPEC="" && export ComSpec="" && ./scripts/test-misc.sh
no_output_timeout: 20m
misc-ubuntu-jdk21:
docker:
Expand All @@ -395,7 +395,7 @@ jobs:
paths:
- ".git"
- run:
command: ./scripts/test-misc.sh
command: export COMSPEC="" && export ComSpec="" && ./scripts/test-misc.sh
no_output_timeout: 20m
misc-ubuntu-jdk25:
docker:
Expand All @@ -417,7 +417,7 @@ jobs:
paths:
- ".git"
- run:
command: ./scripts/test-misc.sh
command: export COMSPEC="" && export ComSpec="" && ./scripts/test-misc.sh
no_output_timeout: 20m

kvasir-ubuntu-jdk8:
Expand Down Expand Up @@ -939,7 +939,7 @@ jobs:
paths:
- ".git"
- run:
command: ./scripts/test-misc.sh
command: export COMSPEC="" && export ComSpec="" && ./scripts/test-misc.sh
no_output_timeout: 20m
misc-rockylinux-jdk25:
docker:
Expand All @@ -961,7 +961,7 @@ jobs:
paths:
- ".git"
- run:
command: ./scripts/test-misc.sh
command: export COMSPEC="" && export ComSpec="" && ./scripts/test-misc.sh
no_output_timeout: 20m

kvasir-rockylinux-jdk8:
Expand Down
2 changes: 1 addition & 1 deletion .circleci/defs.m4
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ define([misc_job], [dnl
- image: mdernst/daikon-$1-jdk$2-plus
circleci_boilerplate(full)
- run:
command: ./scripts/test-misc.sh
command: export COMSPEC="" && export ComSpec="" && ./scripts/test-misc.sh
no_output_timeout: 20m])dnl
Comment on lines 58 to 60
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Consider adding a comment explaining the COMSPEC workaround.

The environment variable exports work around a JDK 25/Rocky Linux issue (per commit message), but future maintainers won't know why this is here. A brief inline comment would help.

📝 Suggested documentation
       - run:
+          # Clear COMSPEC/ComSpec to work around JDK 25 issue on Rocky Linux
           command: export COMSPEC="" && export ComSpec="" && ./scripts/test-misc.sh
           no_output_timeout: 20m])dnl

Note: CircleCI YAML supports comments, so this could be added as a name: field instead if preferred.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- run:
command: ./scripts/test-misc.sh
command: export COMSPEC="" && export ComSpec="" && ./scripts/test-misc.sh
no_output_timeout: 20m])dnl
- run:
# Clear COMSPEC/ComSpec to work around JDK 25 issue on Rocky Linux
command: export COMSPEC="" && export ComSpec="" && ./scripts/test-misc.sh
no_output_timeout: 20m])dnl
🤖 Prompt for AI Agents
In @.circleci/defs.m4 around lines 58 - 60, Add a short explanatory comment next
to the COMSPEC workaround in .circleci/defs.m4 (the line exporting COMSPEC and
ComSpec before running ./scripts/test-misc.sh) that states it is to work around
a JDK 25/Rocky Linux environment issue (reference the original commit if
available); alternatively add a CircleCI `name:` field for that run step with
the same explanation so future maintainers understand why COMSPEC/ComSpec are
being cleared.

dnl
define([kvasir_job], [dnl
Expand Down
17 changes: 10 additions & 7 deletions doc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ all-except-pdf: config-options.texinfo invariants-doc.texinfo html-chap html
TEXI2HTML ?= makeinfo --html

HTMLTOOLS ?= ../.utils/html-tools
# `cronic` suppresses output unless the wrapped command fails.
CRONIC ?= ../.utils/plume-scripts/cronic

daikon.info: daikon.texinfo config-options.texinfo invariants-doc.texinfo
# Large split size fixes an apparent bug in makeinfo 4.11:
Expand Down Expand Up @@ -32,7 +34,7 @@ invariants-doc.texinfo:
${MAKE} -C ../java ../doc/invariants-doc.texinfo

# Always remake config-options.texinfo
# (We delegate to ../java/Makefile, which is more discerning)
# (We delegate to ../java/Makefile, which is more discerning.)
.PHONY : config-options.texinfo
.PHONY : invariants-doc.texinfo
endif
Expand Down Expand Up @@ -66,6 +68,7 @@ daikon-fast: daikon.texinfo
../.utils/html-tools:
${MAKE} -C .. update-html-tools

${CRONIC}: ../.utils/plume-scripts
../.utils/plume-scripts:
${MAKE} -C .. update-plume-scripts-in-utils

Expand All @@ -87,9 +90,9 @@ html-chap: daikon/index.html developer/index.html

# The "subdir" flag does not copy over images, so the
# pathnames become incorrect. We need to copy them over ourselves.
daikon/index.html: daikon.texinfo config-options.texinfo invariants-doc.texinfo images/dfepl-flow.jpg ../.utils/html-tools
daikon/index.html: daikon.texinfo config-options.texinfo invariants-doc.texinfo images/dfepl-flow.jpg ../.utils/html-tools ../.utils/plume-scripts
rm -rf daikon/*
${TEXI2HTML} --split=chapter -o daikon $<
${CRONIC} ${TEXI2HTML} --split=chapter -o daikon $<
Comment on lines +93 to +95
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Inconsistent prerequisite: use ${CRONIC} instead of ../.utils/plume-scripts.

Other rules (developer/index.html, daikon.pdf, developer.pdf) use ${CRONIC} as a prerequisite, which ensures the cronic script file exists. This rule uses the directory directly, creating an inconsistency.

♻️ Suggested fix
-daikon/index.html: daikon.texinfo config-options.texinfo invariants-doc.texinfo images/dfepl-flow.jpg ../.utils/html-tools ../.utils/plume-scripts
+daikon/index.html: daikon.texinfo config-options.texinfo invariants-doc.texinfo images/dfepl-flow.jpg ../.utils/html-tools ${CRONIC}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
daikon/index.html: daikon.texinfo config-options.texinfo invariants-doc.texinfo images/dfepl-flow.jpg ../.utils/html-tools ../.utils/plume-scripts
rm -rf daikon/*
${TEXI2HTML} --split=chapter -o daikon $<
${CRONIC} ${TEXI2HTML} --split=chapter -o daikon $<
daikon/index.html: daikon.texinfo config-options.texinfo invariants-doc.texinfo images/dfepl-flow.jpg ../.utils/html-tools ${CRONIC}
rm -rf daikon/*
${CRONIC} ${TEXI2HTML} --split=chapter -o daikon $<
🤖 Prompt for AI Agents
In @doc/Makefile around lines 93 - 95, The daikon/index.html make rule uses
../.utils/plume-scripts as a prerequisite instead of the consistent ${CRONIC};
update the dependency list for the daikon/index.html target to replace
../.utils/plume-scripts with ${CRONIC} so the rule requires the cronic helper
like the other targets (match the rule name daikon/index.html and keep the rest
of prerequisites and commands unchanged).

# Fixup 'bad' href(s) inserted by makeinfo.
perl -pi -e 's|../dir/index.html|../index.html|;' daikon/index.html
perl -pi -e 's|href="CHANGELOG.md"|href="../CHANGELOG.md"|;' daikon/*.html
Expand All @@ -98,9 +101,9 @@ daikon/index.html: daikon.texinfo config-options.texinfo invariants-doc.texinfo
cp images/*.jpg daikon/images
cd daikon && ../${HTMLTOOLS}/html-add-favicon . ../daikon-favicon.png

developer/index.html: developer.texinfo ../.utils/html-tools
developer/index.html: developer.texinfo ../.utils/html-tools ${CRONIC}
rm -rf developer/*
${TEXI2HTML} --split=chapter -o developer $<
${CRONIC} ${TEXI2HTML} --split=chapter -o developer $<
# Fixup 'bad' href inserted by makeinfo.
perl -pi -e 's|../dir/index.html|../index.html|;' developer/index.html
mkdir developer/images
Expand All @@ -110,10 +113,10 @@ developer/index.html: developer.texinfo ../.utils/html-tools

pdf: daikon.pdf images/dfepl-flow.eps developer.pdf

daikon.pdf: daikon.texinfo config-options.texinfo invariants-doc.texinfo
daikon.pdf: daikon.texinfo config-options.texinfo invariants-doc.texinfo ${CRONIC}
makeinfo --pdf $<
Comment on lines +116 to 117
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

${CRONIC} dependency is added but not used in the recipe.

The target depends on ${CRONIC} but the recipe still runs makeinfo --pdf $< directly. Based on the pattern used for HTML targets and the PR objective to run more quietly, this appears to be an oversight.

Proposed fix
 daikon.pdf: daikon.texinfo config-options.texinfo invariants-doc.texinfo ${CRONIC}
-	makeinfo --pdf $<
+	${CRONIC} makeinfo --pdf $<
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
daikon.pdf: daikon.texinfo config-options.texinfo invariants-doc.texinfo ${CRONIC}
makeinfo --pdf $<
daikon.pdf: daikon.texinfo config-options.texinfo invariants-doc.texinfo ${CRONIC}
${CRONIC} makeinfo --pdf $<
🤖 Prompt for AI Agents
In @doc/Makefile around lines 116 - 117, The daikon.pdf target lists ${CRONIC}
as a dependency but the recipe still calls makeinfo directly; update the
daikon.pdf recipe to invoke makeinfo via the ${CRONIC} wrapper (e.g., use
"${CRONIC} makeinfo --pdf $<") so the ${CRONIC} dependency is actually used and
the build runs quietly while keeping the target and prerequisites
(daikon.texinfo, config-options.texinfo, invariants-doc.texinfo) unchanged.


developer.pdf: developer.texinfo
developer.pdf: developer.texinfo ${CRONIC}
makeinfo --pdf $<
Comment on lines +119 to 120
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Same issue: ${CRONIC} dependency added but not used in the recipe.

Proposed fix
 developer.pdf: developer.texinfo ${CRONIC}
-	makeinfo --pdf $<
+	${CRONIC} makeinfo --pdf $<
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
developer.pdf: developer.texinfo ${CRONIC}
makeinfo --pdf $<
developer.pdf: developer.texinfo ${CRONIC}
${CRONIC} makeinfo --pdf $<
🤖 Prompt for AI Agents
In @doc/Makefile around lines 119 - 120, The developer.pdf target declares
${CRONIC} as a prerequisite but doesn't use it in the recipe; either remove
${CRONIC} from the prerequisite list or invoke it in the recipe by prefixing the
command with ${CRONIC} (i.e., change the recipe from "makeinfo --pdf $<" to use
"${CRONIC} makeinfo --pdf $<") so the declared dependency is actually applied;
update the developer.pdf rule accordingly referencing the target name
developer.pdf, the variable ${CRONIC}, and the existing command makeinfo --pdf
$<.


# Note that the clean target does not remove invariants-doc.texinfo or
Expand Down
9 changes: 8 additions & 1 deletion scripts/test-misc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

# This is the "misc" job of the pull request.

# Halt on error
set -e
set -o pipefail
export SHELLOPTS
Expand Down Expand Up @@ -42,7 +43,13 @@ if [ -n "${SKIP_JAVADOC+x}" ]; then
exit
else

make javadoc doc-all
make javadoc
# Texinfo dies when run under "set -e".
set +e
if ! make doc-all; then
exit 1
fi
set -e

# For refactorings that touch a lot of code that you don't understand, create
# top-level file SKIP-REQUIRE-JAVADOC. Delete it after the pull request is merged.
Expand Down