Jens-G opened a new pull request, #3870:
URL: https://github.com/apache/thrift/pull/3870

   JIRA: [THRIFT-6270](https://issues.apache.org/jira/browse/THRIFT-6270)
   Client: php, build
   
   THRIFT-6270 asks for a sweep for source files that no build list names. This 
PR fixes the one finding that is plain wiring and adds a check so it stays 
fixed. The other findings, the Lua modules, `idlgen.d` in D and the Android 
Gradle file, are listed on the ticket.
   
   ### What was missing
   
   `lib/php/Makefile.am` installs the PHP library through explicit `*_DATA` 
lists, and five files under `lib/php/lib` were in none of them:
   - `StoredMessageProtocol.php`
   - `Factory/TBinaryProtocolAcceleratedFactory.php`
   - `Server/TSSLServerSocket.php`
   - `Transport/TPsrHttpClient.php`
   - `Transport/TSSLSocket.php`
   
   `make install` left them out. An installed `TMultiplexedProcessor` therefore 
could not find `StoredMessageProtocol`, which it creates, and 
`TSSLServerSocket` had no `TSSLSocket` to build on. Composer (`composer.json` 
autoloads the whole directory) and the release tarball (`EXTRA_DIST = lib`) 
were not affected.
   
   ### Change
   
   - The five files are added to the install lists.
   - A new target, `check-install-lists`, compares the files under 
`lib/php/lib` with `$(DATA)`, the union of all install lists, and fails with 
the names of files that are in none of them. It runs as part of `make check` in 
`lib/php`.
   - The `lib-php` CI job runs it right after configure, because the job calls 
`phpunit` directly and never `make check`.
   
   ### Verification
   
   Run in the `ubuntu-jammy` image on a configured tree:
   - **With this change:** `check-install-lists` passes, and `make install` 
installs all 55 files under `lib/php/lib`.
   - **Upstream install lists plus the new check:** the check fails and names 
exactly the five files. Upstream `make install` leaves out exactly those five.
   - **Extra file:** an added `lib/php/lib/TPlanted.php` makes the check fail, 
both directly and through `make check`.
   - **CI configuration:** the check passes with the lib-php job's own 
configure line, which also enables the extension.
   - **`make dist`:** succeeds with and without the change.
   - **Linters:** `actionlint` and `zizmor` report the same on `build.yml` as 
on master.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to