iemejia opened a new pull request, #3894:
URL: https://github.com/apache/avro/pull/3894
## What is the purpose of the change
This pull request fixes the local/Docker Python interop build, which fails
with:
```
error: Multiple top-level packages discovered in a flat-layout: ['avro',
'userlogs'].
```
The Hadoop tether tests leave behind a `userlogs/` directory next to the
`avro/` package. Because `pyproject.toml` did not configure package
discovery, setuptools falls back to automatic flat-layout discovery, sees
two top-level packages (`avro` and `userlogs`), and refuses to build. This
does not surface in GitHub Actions because each language is tested in
isolation and the tether tests never create `userlogs/` there.
The fix explicitly scopes setuptools package discovery to `avro*`, so stray
directories such as `userlogs/` are ignored. This resolves AVRO-4308.
## Verifying this change
This change is already covered by the existing interop test targets:
- Reproduced the failure by running `./build.sh interop-data-generate` in
`lang/py` with a `userlogs/` directory present.
- After the fix, `./build.sh interop-data-generate` and
`./build.sh interop-data-test` both succeed.
- Confirmed discovery still resolves the expected packages:
`find_packages(include=["avro*"])` -> `['avro', 'avro.test',
'avro.tether']`.
## Documentation
- Does this pull request introduce a new feature? no
--
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]