Skip to content

tomcat11: Add version 11.0.18#2734

Merged
z-Fng merged 3 commits intoScoopInstaller:masterfrom
CatKinKitKat:feature/tomcat11
Feb 18, 2026
Merged

tomcat11: Add version 11.0.18#2734
z-Fng merged 3 commits intoScoopInstaller:masterfrom
CatKinKitKat:feature/tomcat11

Conversation

@CatKinKitKat
Copy link
Copy Markdown
Contributor

@CatKinKitKat CatKinKitKat commented Feb 17, 2026

tomcat11: Add Apache Tomcat and 11 manifests

This pull request adds new manifest for Apache Tomcat version 11, enabling the installation and management through the package system. The manifest include download URLs, hash verification, environment variable setup, and auto-update support.

New Tomcat package manifest:

  • Addition of tomcat11.json manifest for Apache Tomcat 11, supporting 64-bit architecture, with similar features as above, including auto-update configuration and environment setup
  • Use conventional PR title: tomcat11: Add tomcat11.json configuration for Apache Tomcat 11.0.18
  • I have read the Contributing Guide

Summary by CodeRabbit

  • New Features
    • Adds support for installing and managing Tomcat 11.0.18 on Windows x64.
    • Includes automatic version detection and autoupdate for Tomcat binaries with verified downloads.
    • Installs runtime environment variables and preserves configuration and webapps across updates; handles extraction and startup script placement.

Copilot AI review requested due to automatic review settings February 17, 2026 21:41
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 17, 2026

Warning

Rate limit exceeded

@z-Fng has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 11 minutes and 14 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.

Walkthrough

Adds a new Tomcat 11.0.18 manifest (bucket/tomcat11.json) describing version metadata, Windows x64 distribution URL and SHA-512, extraction/bin layout, environment variables (CATALINA_HOME, CATALINA_BASE), persist paths, and checkver/autoupdate configuration.

Changes

Cohort / File(s) Summary
Tomcat 11 Manifest
bucket/tomcat11.json
New manifest for Tomcat 11.0.18: version and metadata, Windows x64 download URL and SHA-512, extraction dir and bin path, env vars CATALINA_HOME/CATALINA_BASE, persist paths (conf, webapps), plus checkver and autoupdate rules.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 A new manifest tucked in the bin,
Version eleven — let updates begin.
Hashes checked and paths set right,
Tomcat wakes to greet the night.
☕️🫶

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'tomcat11: Add version 11.0.18' is clear, concise, and accurately summarizes the main change—adding a new Tomcat 11.0.18 manifest.
Description check ✅ Passed The description addresses the manifest addition and relates to issue #2729, but the PR title in the description differs from the actual PR title, creating inconsistency.
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.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

@github-actions
Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

tomcat11

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

Check the full log for details.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request adds a new manifest file for Apache Tomcat version 11.0.18, enabling its installation and management through the Scoop package manager. The manifest follows the general structure of existing tomcat manifests but has some minor inconsistencies with established conventions in the repository.

Changes:

  • Addition of tomcat11.json manifest with version 11.0.18, including download URL, SHA512 hash verification, environment variable configuration, persistence settings, and auto-update support

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread bucket/tomcat11.json
Comment thread bucket/tomcat11.json Outdated
Comment thread bucket/tomcat11.json
Comment thread bucket/tomcat11.json
Comment thread bucket/tomcat11.json
@CatKinKitKat
Copy link
Copy Markdown
Contributor Author

@z-Fng from #2730 request

Copy link
Copy Markdown

@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.

🧹 Nitpick comments (3)
bucket/tomcat11.json (3)

25-28: checkver URL relies on archive.apache.org directory listing — may miss the latest release.

The same lag risk applies here: if 11.0.18 (or any future release) isn't synced to archive.apache.org yet, checkver will report the previous version as the latest. The official Apache Tomcat download page provides a more authoritative, always-current version signal.

♻️ Proposed alternative using the official download page
     "checkver": {
-        "url": "https://archive.apache.org/dist/tomcat/tomcat-11/?C=M;O=D",
-        "regex": "v([\\d.]+)/"
+        "url": "https://tomcat.apache.org/download-11.cgi",
+        "regex": "Apache Tomcat (11\\.[\\d.]+)"
     },
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/tomcat11.json` around lines 25 - 28, The checkver block currently uses
the archive mirror URL which can lag; update the "checkver"."url" to the
official Apache Tomcat 11 download page (e.g., the tomcat.apache.org download-11
page) and adjust the "checkver"."regex" to match the canonical version string on
that page (for example a pattern that captures semantic versions like 11.x.y),
so the checkver uses the authoritative source; locate the checkver object in
tomcat11.json and replace the url and regex values accordingly (symbols:
"checkver", "url", "regex").

16-16: Only catalina.bat is exposed; startup.bat and shutdown.bat are not in PATH.

The common Tomcat operational scripts (startup.bat, shutdown.bat, version.bat) are inaccessible via PATH after install. This is consistent with tomcat8.json and tomcat9.json in this bucket, but users will need to prepend the full path to invoke them. Consider exposing the full bin directory via env_add_path instead:

♻️ Proposed change to add the bin directory to PATH
-    "bin": "bin\\catalina.bat",
+    "env_add_path": "bin",

This puts all Tomcat scripts (startup.bat, shutdown.bat, catalina.bat, version.bat) on the user's PATH without singling out just one.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/tomcat11.json` at line 16, The JSON currently exposes only "bin":
"bin\\catalina.bat", which hides other useful scripts; change the configuration
to add the full bin directory to the PATH (use env_add_path or equivalent) so
the entire bin folder (containing startup.bat, shutdown.bat, version.bat,
catalina.bat) is available. Locate the "bin": "bin\\catalina.bat" entry in
tomcat11.json and replace or augment it by adding an env_add_path entry that
points to the bin directory (e.g., "bin" or "bin\\") rather than a single file,
ensuring all Tomcat scripts are on PATH.

21-24: logs directory is not persisted — Tomcat logs are wiped on every scoop update.

conf and webapps are correctly persisted for user-managed state, but omitting logs means diagnostic history is lost across version updates.

♻️ Proposed change to persist logs
     "persist": [
         "conf",
+        "logs",
         "webapps"
     ],
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/tomcat11.json` around lines 21 - 24, The persist configuration in
tomcat11.json currently lists "conf" and "webapps" but omits the Tomcat "logs"
directory, causing logs to be wiped on updates; update the "persist" array (the
JSON key "persist" in tomcat11.json) to include "logs" alongside "conf" and
"webapps" so Tomcat's log directory is retained across scoop updates.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@bucket/tomcat11.json`:
- Around line 25-28: The checkver block currently uses the archive mirror URL
which can lag; update the "checkver"."url" to the official Apache Tomcat 11
download page (e.g., the tomcat.apache.org download-11 page) and adjust the
"checkver"."regex" to match the canonical version string on that page (for
example a pattern that captures semantic versions like 11.x.y), so the checkver
uses the authoritative source; locate the checkver object in tomcat11.json and
replace the url and regex values accordingly (symbols: "checkver", "url",
"regex").
- Line 16: The JSON currently exposes only "bin": "bin\\catalina.bat", which
hides other useful scripts; change the configuration to add the full bin
directory to the PATH (use env_add_path or equivalent) so the entire bin folder
(containing startup.bat, shutdown.bat, version.bat, catalina.bat) is available.
Locate the "bin": "bin\\catalina.bat" entry in tomcat11.json and replace or
augment it by adding an env_add_path entry that points to the bin directory
(e.g., "bin" or "bin\\") rather than a single file, ensuring all Tomcat scripts
are on PATH.
- Around line 21-24: The persist configuration in tomcat11.json currently lists
"conf" and "webapps" but omits the Tomcat "logs" directory, causing logs to be
wiped on updates; update the "persist" array (the JSON key "persist" in
tomcat11.json) to include "logs" alongside "conf" and "webapps" so Tomcat's log
directory is retained across scoop updates.

@CatKinKitKat CatKinKitKat mentioned this pull request Feb 17, 2026
4 tasks
@z-Fng z-Fng changed the title tomcat11: Add tomcat11.json configuration for Apache Tomcat 11.0.18 tomcat11: Add version 11.0.18 Feb 17, 2026
@z-Fng z-Fng linked an issue Feb 17, 2026 that may be closed by this pull request
4 tasks
@z-Fng
Copy link
Copy Markdown
Member

z-Fng commented Feb 18, 2026

/verify

@github-actions
Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

tomcat11

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

Check the full log for details.

Copy link
Copy Markdown

@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

🧹 Nitpick comments (2)
bucket/tomcat11.json (2)

21-24: Consider persisting logs to preserve log history across updates

Without logs in the persist list, Tomcat's log directory is removed on every scoop update, which loses historical log data. This is a common inclusion in Tomcat Scoop manifests.

♻️ Proposed addition
     "persist": [
         "conf",
+        "logs",
         "webapps"
     ],
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/tomcat11.json` around lines 21 - 24, The persist array in
tomcat11.json currently contains "conf" and "webapps" but omits "logs", which
causes Tomcat logs to be wiped on updates; update the "persist" array (the JSON
key "persist" in tomcat11.json) to include "logs" alongside "conf" and "webapps"
so the Tomcat log directory is preserved across scoop updates.

9-13: Consider adding 32-bit (x86) architecture for consistency with sibling manifests

The existing tomcat9.json manifest in this repository includes both 64-bit and 32-bit (x86) architecture entries. If Apache still publishes an x86 Windows ZIP for 11.0.18, omitting it diverges from the established pattern.

♻️ Proposed addition
     "architecture": {
         "64bit": {
             "url": "https://archive.apache.org/dist/tomcat/tomcat-11/v11.0.18/bin/apache-tomcat-11.0.18-windows-x64.zip",
             "hash": "sha512:ec0f53a87ee109ae1c4c34592c39791f0b590148ce2c4a9584decb56c2aaa7178bba5e94e6ce2dc4a22995fb15a2e3aacc62623ed79b8eae78109421b5366ba2"
-        }
+        },
+        "32bit": {
+            "url": "https://archive.apache.org/dist/tomcat/tomcat-11/v11.0.18/bin/apache-tomcat-11.0.18-windows-x86.zip",
+            "hash": "sha512:<sha512-of-x86-zip>"
+        }
     },

And add the corresponding autoupdate URL:

     "autoupdate": {
         "architecture": {
             "64bit": {
                 "url": "https://archive.apache.org/dist/tomcat/tomcat-$majorVersion/v$version/bin/apache-tomcat-$version-windows-x64.zip"
-            }
+            },
+            "32bit": {
+                "url": "https://archive.apache.org/dist/tomcat/tomcat-$majorVersion/v$version/bin/apache-tomcat-$version-windows-x86.zip"
+            }
         },
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/tomcat11.json` around lines 9 - 13, The manifest's "architecture"
object only contains a "64bit" entry; add a "32bit" (x86) sibling with the
corresponding Windows x86 ZIP "url" and "hash" fields to match sibling manifests
(e.g., tomcat9.json) and update the autoupdate section to include the x86
download URL pattern; locate the "architecture" object and the "64bit" entry in
tomcat11.json and mirror its structure to create a "32bit" entry with the
correct apache-tomcat-11.0.18-windows-x86.zip URL and sha512 hash, and ensure
autoupdate supports both "64bit" and "32bit".
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@bucket/tomcat11.json`:
- Line 3: The description value for the tomcat11.json manifest contains a typo
"technologiesv." — update the "description" property (the JSON key "description"
in tomcat11.json) to read "Implementation of the Java Servlet, JavaServer Pages,
Java Expression Language and Java WebSocket technologies. (version 11)" by
removing the stray "v" before the period.

---

Nitpick comments:
In `@bucket/tomcat11.json`:
- Around line 21-24: The persist array in tomcat11.json currently contains
"conf" and "webapps" but omits "logs", which causes Tomcat logs to be wiped on
updates; update the "persist" array (the JSON key "persist" in tomcat11.json) to
include "logs" alongside "conf" and "webapps" so the Tomcat log directory is
preserved across scoop updates.
- Around line 9-13: The manifest's "architecture" object only contains a "64bit"
entry; add a "32bit" (x86) sibling with the corresponding Windows x86 ZIP "url"
and "hash" fields to match sibling manifests (e.g., tomcat9.json) and update the
autoupdate section to include the x86 download URL pattern; locate the
"architecture" object and the "64bit" entry in tomcat11.json and mirror its
structure to create a "32bit" entry with the correct
apache-tomcat-11.0.18-windows-x86.zip URL and sha512 hash, and ensure autoupdate
supports both "64bit" and "32bit".

Comment thread bucket/tomcat11.json Outdated
Copy link
Copy Markdown
Member

@z-Fng z-Fng left a comment

Choose a reason for hiding this comment

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

Thanks for your contribution!

@z-Fng z-Fng merged commit 98af71f into ScoopInstaller:master Feb 18, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request]: tomcat10 / tomcat11

3 participants