Commit 16222f1
committed
fix(python): include JAR and license files in sdist for conda-forge
Objective: conda-forge packagers must bundle Maven + OpenJDK as
build-time dependencies because PyPI only ships a wheel — there is
no sdist with the pre-compiled JAR they can build from. Attempting
to produce one silently fails: hatch drops gitignored files (JAR,
LICENSE, NOTICE, THIRD_PARTY) from the sdist even when they are
listed in 'include', yielding a 32KB tarball that installs but is
missing the CLI it wraps.
Approach: Promote 'artifacts' to top-level [tool.hatch.build] so
both wheel and sdist force-include the gitignored build outputs.
Drop '--wheel' from build-python.sh so 'uv build' produces both
artifacts. Add verify-python-sdist.sh as a standalone check that
runs inside build-python.sh and can also be run locally — this
guards against silent regressions if .gitignore or hatch config
drifts in future. README.md is copied by build-python.sh before
'uv build' because hatchling validates [project.readme] during
metadata parsing, which runs before build hooks.
Evidence: Built from a fresh clean checkout (no prior artifacts
in the package dir) and installed the resulting sdist in a fresh
venv.
| Scenario | Expected | Actual |
|----------|----------|--------|
| uv build on clean checkout | sdist + wheel | 21MB sdist + 21MB wheel |
| sdist contains JAR | yes | yes (tar -tzf confirmed) |
| sdist contains LICENSE/NOTICE/THIRD_PARTY | yes | yes |
| verify-python-sdist.sh | pass | "OK: sdist contains all required files" |
| verify-python-sdist.sh with multiple tarballs | fail with list | fails cleanly |
| pip install from sdist | no mvn call | wheel built in ~1s, mvn not invoked |
| JAR in site-packages | yes | 23MB at .../jar/opendataloader-pdf-cli.jar |
| import opendataloader_pdf | success | success |
Fixes #4351 parent 7965cea commit 16222f1
4 files changed
Lines changed: 92 additions & 8 deletions
File tree
- python/opendataloader-pdf
- scripts
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
23 | 27 | | |
24 | 28 | | |
25 | 29 | | |
| |||
52 | 56 | | |
53 | 57 | | |
54 | 58 | | |
55 | | - | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
56 | 63 | | |
57 | 64 | | |
58 | | - | |
59 | 65 | | |
60 | 66 | | |
61 | 67 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
37 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
38 | 39 | | |
39 | 40 | | |
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
43 | 44 | | |
44 | 45 | | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
45 | 49 | | |
46 | 50 | | |
47 | 51 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
20 | 23 | | |
| 24 | + | |
21 | 25 | | |
22 | | - | |
23 | | - | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
24 | 31 | | |
25 | 32 | | |
26 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
0 commit comments