tla-toolbox-pre: Add version 1.8.0_2025-12-17#2669
tla-toolbox-pre: Add version 1.8.0_2025-12-17#2669goyalyashpal wants to merge 2 commits intoScoopInstaller:masterfrom
Conversation
WalkthroughAdds a new Scoop manifest Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested reviewers
Poem
Pre-merge checks✅ Passed checks (3 passed)
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 |
|
All changes look good. Wait for review from human collaborators. tla-toolbox-pre
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
bucket/tla-toolbox-pre.json (1)
24-29: Consider simplifying the verification logic for better readability.The current logic using
-PipelineVariableis functionally correct but somewhat complex. While it works as intended (preserving the original module name through transformations), consider refactoring for clarity.🔎 Optional refactor for improved readability
"Write-Output \"`nChecking if class-modules exist for use with 'tla2tools':\"", - "@( 'tlc2.TLC', 'tlc2.REPL', 'pcal.trans', 'tla2tex.TLA', 'tla2sany.SANY' )", - " | ForEach-Object -PipelineVariable modulename { $_ }", - " | ForEach-Object { ($_ -replace '\\.', '/') + '.class' }", + "@( 'tlc2.TLC', 'tlc2.REPL', 'pcal.trans', 'tla2tex.TLA', 'tla2sany.SANY' ) | ForEach-Object {", + " $modulename = $_", + " $classfile = ($_ -replace '\\.', '/') + '.class'", + " $classfile", " | Resolve-Path -Relative -RelativeBasePath \"$dir/plugins/*tlatools*/\"", - " | ForEach-Object { \"`t* $modulename -> $_\" }" + " | ForEach-Object { \"`t* $modulename -> $_\" }", + "}"This makes the transformation steps more explicit and easier to follow.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
bucket/tla-toolbox-pre.json
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-11-07T10:15:21.033Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Versions PR: 2564
File: bucket/olive-editor.json:24-24
Timestamp: 2025-11-07T10:15:21.033Z
Learning: In Scoop manifest JSON files, PowerShell commands in arrays like `pre_install` require backslashes to be escaped as `\\` in the JSON. After JSON parsing, `"$dir\\file.exe"` correctly becomes `$dir\file.exe` in PowerShell. This is proper JSON escaping, not an error.
Applied to files:
bucket/tla-toolbox-pre.json
🔇 Additional comments (8)
bucket/tla-toolbox-pre.json (8)
1-11: LGTM: Metadata is well-structured.The version, description, homepage, license, and suggested dependencies are all properly formatted and appropriate for a Scoop manifest.
18-23: LGTM: Batch file creation logic is correct.The batch file content and PowerShell script that generates it are properly structured:
- Backslash escaping follows JSON requirements (as per learnings)
- Variable expansion syntax
${JDKDIR}is correct- ASCII encoding is appropriate for Windows batch files
This will work correctly once the
-Filterissue in line 16 is resolved.
31-65: LGTM: Binary shim configurations are comprehensive and correct.The binary aliases properly:
- Use the
-presuffix consistently for pre-release identification- Map to the appropriate executables and Java class modules
- Cover all major TLA+ tools (TLC, REPL, PlusCal translator, SANY parser, LaTeX formatter)
- Follow Scoop's bin specification format correctly
The class arguments match those verified in the pre_install script (lines 25-29).
66-72: LGTM: Shortcuts and persistence are properly configured.
- The Start menu shortcut appropriately includes "Pre" in the name
- Persisting the "configuration" directory ensures user settings and workspace data are preserved across updates
85-88: LGTM: Documentation references are helpful.The comment references provide useful context for understanding PowerShell quoting rules in Scoop manifests and the TLA+ project documentation.
73-77: No issues found. The repository ID50906927is confirmed to be correct fortlaplus/tlaplus, and the checkver configuration properly retrieves the latest release tag from the GitHub API endpoint.
12-14: Hash and extract_dir cannot be automatically verified.The URL is accessible, but confirming the SHA1 hash matches and that the archive contains a "toolbox" directory requires downloading the release file or checking upstream documentation, which is beyond automated verification scope.
78-84: Autoupdate hash extraction will fail: GitHub API does not provide SHA-1 hashes in the expected format.The regex pattern
$sha1\\|$basenameexpects to find SHA-1 hashes in the GitHub API response in pipe-separated plain text format (e.g.,sha1hash|filename). However, GitHub's Releases API does not provide SHA-1 checksums for release assets. The API response includes adigestfield with SHA-256 hashes in JSON structure format (not as plain text with pipes). This configuration cannot extract a hash and will cause autoupdate to fail. Either use the SHA-256 digest from the assets array or provide SHA-1 hashes through an alternative method (e.g., separate checksum file in the release body).⛔ Skipped due to learnings
Learnt from: o-l-a-v Repo: ScoopInstaller/Versions PR: 2564 File: bucket/olive-editor.json:24-24 Timestamp: 2025-11-07T10:15:21.033Z Learning: In Scoop manifest JSON files, PowerShell commands in arrays like `pre_install` require backslashes to be escaped as `\\` in the JSON. After JSON parsing, `"$dir\\file.exe"` correctly becomes `$dir\file.exe` in PowerShell. This is proper JSON escaping, not an error.
Problem: New artifacts are published to this same tag Solution: Use tag's updated date too in checkver
There was a problem hiding this comment.
Actionable comments posted: 2
♻️ Duplicate comments (1)
bucket/tla-toolbox-pre.json (1)
16-17: Critical: Incorrect-Filterparameter usage will cause installation failure.The
-Filterparameter inGet-ChildItemonly accepts filename patterns (like*.txt), not path patterns with directory separators. The pattern"plugins/*openjdk*"will be interpreted as a literal filename containing forward slashes, which won't match any filesystem items, resulting in$JDKDIRbeing empty and causing installation to fail.🔎 Proposed fix
- "$JDKDIR = Get-ChildItem -Attributes directory -Filter \"plugins/*openjdk*\" $dir |", + "$JDKDIR = Get-ChildItem -Path \"$dir\\plugins\\*openjdk*\" -Directory |",
🧹 Nitpick comments (1)
bucket/tla-toolbox-pre.json (1)
76-76: Prefer named group references for clarity.The
replacefield uses numbered captures$1_$2, but the regex defines named groups(?<tag>...)and(?<timestamp>...). Using named references${tag}_${timestamp}is more explicit and maintainable.🔎 Proposed refactor
- "replace": "$1_$2" + "replace": "${tag}_${timestamp}"
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
bucket/tla-toolbox-pre.json
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: o-l-a-v
Repo: ScoopInstaller/Versions PR: 2564
File: bucket/olive-editor.json:24-24
Timestamp: 2025-11-07T10:15:21.033Z
Learning: In Scoop manifest JSON files, PowerShell commands in arrays like `pre_install` require backslashes to be escaped as `\\` in the JSON. After JSON parsing, `"$dir\\file.exe"` correctly becomes `$dir\file.exe` in PowerShell. This is proper JSON escaping, not an error.
📚 Learning: 2025-11-07T10:15:21.033Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Versions PR: 2564
File: bucket/olive-editor.json:24-24
Timestamp: 2025-11-07T10:15:21.033Z
Learning: In Scoop manifest JSON files, PowerShell commands in arrays like `pre_install` require backslashes to be escaped as `\\` in the JSON. After JSON parsing, `"$dir\\file.exe"` correctly becomes `$dir\file.exe` in PowerShell. This is proper JSON escaping, not an error.
Applied to files:
bucket/tla-toolbox-pre.json
|
/verify |
|
All changes look good. Wait for review from human collaborators. tla-toolbox-pre
|
|
hi @z-Fng and @HUMORCE > # PS ...\Scoop\buckets\...\bucket>
> ../bin/checkver
doublecmd-snapshot: 1.3.0.r12609 (scoop version is 1.3.0.r12550) autoupdate available
ki-editor: 0-pre-2026-01-07 (scoop version is nightly_2026-01-04) autoupdate available
tla-toolbox-pre: 1.8.0_2026-01-07 (scoop version is 1.8.0_2025-12-17) autoupdate available <~~~ SEE THIS
tla-toolbox: 1.7.4
|
<manifest-name[@version]|chore>: <general summary of the pull request>Add a 👍 reaction to issues you find important.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.