Commit graph

26 commits

Author SHA1 Message Date
1bf3826f54 Fix: tolerate #! prefixed shebangs 2023-07-05 12:26:16 -06:00
72f82e0ace Do debug printing in JSON since pprint is nonsense 2022-11-26 14:17:20 -07:00
df856aa694 Bugfix: broke dictionary substitution 2022-11-26 14:17:01 -07:00
78cc0d1a87 Convert sources to a mapping 2022-11-21 01:39:42 -07:00
4036c70417 Include the wheel manifests in the manifest 2022-11-21 01:26:19 -07:00
9f84e9f84a Parse out version info and insert it to the manifest 2022-11-21 01:22:56 -07:00
71f5230f9e Remove unused file 2022-11-21 01:22:23 -07:00
c11c64f557 Tweaks 2022-11-19 23:52:38 -07:00
d7a0382927 Thread through the shebang= parameter 2021-11-09 11:36:33 -07:00
14e4c7cd82 Use the RECORD file to limit re-zipped files 2021-09-25 01:13:51 -06:00
2d7d9db257 Disable sandboxing so Zapp! can cache rebuilt wheels 2021-09-25 01:12:47 -06:00
d75c1a2f95 Lint. 2021-09-25 01:07:19 -06:00
d794b63d71 Remove FIXME documented as #8 2021-09-25 01:06:41 -06:00
9761b5c6d3 Enable zapp to chew through whls with source file conflicts 2021-09-24 22:43:52 -06:00
e5686db6cb Put the py3 toolchain in the tin 2021-08-29 21:41:20 -06:00
4ee4f3d011 Remove obsolete attr. 2021-08-29 21:23:47 -06:00
edd7dd0103 Get an interpreter from toolchains
This patch teaches Zapp how to read Python toolchains to get an
interpreter, rather than hard-coding "python3" somewhat opaquely. This
enables the use of hermetic or otherwise selected interpreters.

Fixes #2
2021-08-29 21:10:34 -06:00
e5ff423318 Implement zip_safe=False support 2021-08-29 21:10:30 -06:00
a68c09d6b1 Fix PEP-425 defined tag shrinking 2021-08-29 16:34:46 -06:00
5b0062468f Implement re-zipping unzipped wheels
This patch teaches Zapp! to introspect the `sources` of a manifest, and
look for the well-known `WHEEL` file(s) indicative of an
unzipped/installed wheel in the input sources. A wheel can be (somewhat*)
correctly reassembled by zipping its unzipped state, so in the presence
of unzipped wheels Zapp! will re-zip them and enter them into the
manifest appropriately for inclusion.

This fixes #6 the nasty way, as there's no good way to make
`rules_python` provide wheel dependencies or to translate unrolled
wheels back to wheels during rule execution as this would violate
Bazel's file dependency model.
2021-08-29 15:07:56 -06:00
e74b71c369 Prefix collision guard is now obsolete & wrong 2021-08-12 14:26:57 -06:00
544d5ef0b6 Uniq the imports 2021-08-12 14:18:29 -06:00
69fb81e317 The workspace root is implicitly an import root 2021-08-12 14:11:48 -06:00
2f7295ba9e Strip the longest matching import path, not the first match 2021-08-12 14:07:40 -06:00
bdf31076a7 Strip out transitive pypi sourced sources 2021-08-12 14:07:20 -06:00
ea9c274cf4 Zapp! v0.1.0 2021-08-09 09:26:06 -06:00