| Age | Commit message (Collapse) | Author |
|
PHP matches the SPDX license-expression grammar with a single recursive
PCRE pattern ((?(DEFINE) subpatterns plus (?&name) recursion), which the
regex crate cannot express, so port it as a hand-written recursive-descent
parser instead. licenseid/licenseexceptionid dictionary lookups use
longest-match-first, guarded against accepting a short entry that is only
a coincidental prefix of a longer identifier run (e.g. "DOC" prefixing
"DocumentRef-..."), which a length-sorted greedy match alone would
misparse.
Un-ignores the two validating_array_loader tests that were blocked on
this todo!().
|
|
Port seld/jsonlint JsonParser (+hand-written Lexer), unblocking 10 json_file
parse-error tests verified byte-for-byte against PHP. Implement Symfony Finder
SplFileInfo, executable finders, String classes (byte/code-point/unicode),
ZipArchive shim (via the zip crate), SPDX license validation, and shim
date/stream functions. Genuinely-blocked sites (reflection, PHP runtime
constants, non-UTF-8 transcoding, recursive PCRE) stay todo!() with reasons.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Move MetadataMinifier and SpdxLicenses out of shirabe-external-packages
into dedicated shirabe-metadata-minifier and shirabe-spdx-licenses
crates, updating all import sites accordingly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|