Repository navigation
mcs: add 0.11.2 - #922
mcs: add 0.11.2#922
Conversation
Search Maven Central from the command line. Ships the pure-JVM jar (native
binaries are linux-x86_64 only) behind a /usr/bin/mcs wrapper on jdk 25.
Consumers inherit needs = { dns, internet }; tests are offline (proxy pinned
to a closed port).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Clean. The sha256 matches, needs internet is right for a tool that always queries Maven Central, and the test with the proxy pointed at a closed port exercises the whole query path without reaching the network.
- Nit,
build.ncl:16: "our jdk is 25" will go stale whenjdkmoves to the next LTS; line 30's "Java 25+" is enough. - Nit, line 34: references jbang, which isn't packaged yet (#903 adds it).
Holding approval only on the shared JVM prebuilt-jar policy question, which is being decided once for the batch.
Generated by Claude Code
Review nit: it goes stale when jdk moves to the next LTS; the Java 25+ note on runtime_deps already says what is required. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks @norrietaylor.
🤖 Generated with Claude Code |
There was a problem hiding this comment.
Approving under #970. The "our jdk is 25" comment is gone, the jbang reference is valid now that #903 has merged, and the branch is past #897. Please merge after #970.
Generated by Claude Code
What
Adds
packages/mcs, mcs 0.11.2 (mthmulders/mcs). mcs searches Maven Central from the command line (mcs search <term>,mcs class-search <Class>). Java loadout, #899.mcs-0.11.2.jarfrom GitHub releases. It is installed atusr/share/mcs/mcs.jarand run on ourjdkthrough a/usr/bin/mcswrapper (exec java -jar …). sha256ac99d201…0bf3ad0matches upstream'schecksums_sha256.txtand the release asset digest.linux-x86_64. There is no arm64 build. The jar covers both arches with one sha256 and nomatch target. It is self-contained (picocli, dagger and jackson are shaded in,Main-Class: it.mulders.mcs.App) and needs Java 25 (class file version 69). Ourjdkis 25. The README lists no JVM flags for the jar. Its-Djavax.net.ssl.trustStore=…example targets the native binary; with the jar, pass it throughJAVA_TOOL_OPTIONS.jdk, plusbashfor the/bin/shwrapper.central.sonatype.com), and--show-vulnerabilitiesalso queries Sonatype OSS Index. Following jbang (jbang: add 0.142.0 #903) and curl/go/pnpm/uv, the package declaresneeds = { dns, internet }for consumers. The build itself is offline.GithubRepomthmulders/mcs (tagsv<version>).maven/gradle/jdtls: the Maven build resolves dependencies from Maven Central.binary_fromrecords it.Release age
0.11.2 was published 2026-10-16, about one day before this PR. The pkgs version-age check flags releases younger than 48h, so it may flag this one. If that blocks the PR, the fallback is 0.11.1 (2026-09-17):
mcs-0.11.1.jar, sha2562ea371a06b2c6ca8ff04130670afdf1f0436e49712619e2ab9a1d22327f6f0f2(also from upstream'schecksums_sha256.txt). Only the version and sha256 change.Tests (Standalone)
mcs_version:mcs --versionprints exactlymcs v0.11.2.help:mcs --helplists thesearchandclass-searchcommands, andmcs search --helplists the snippet formats.offline_fails_closed: mcs has no subcommand that works offline, because every search goes to the network. This test pinsHTTPS_PROXY/HTTP_PROXYto a closed local port, which mcs honours.MCS ran into an error, and noFound …results.Note for reviewers: the standalone test sandbox does have network access for this package. An unpinned
mcs search junitreturned live results while I was probing. That is why the offline test pins the proxy instead of relying on the sandbox.Verified
I built it in a
pkgbuildsession (arm64) withmin package build --rebuild --verbose mcs, then ranmin check --packages mcs. Every checker passed, includingstandalone tests,output types validandmissing runtime_deps.Negative control (fresh session): I expected
mcs v0.11.1and removed the proxy pin. Bothmcs_versionandoffline_fails_closedfailed; the second printed livejunit:junitsearch results. I restored the file and re-checked in a fresh session: it passed.amd64 is left to CI; the jar is architecture-independent.
Refs #899
🤖 Generated with Claude Code
Summary by CodeRabbit