ancient-vegetable-10556
09/23/2021, 6:21 PMenough-analyst-54434
09/23/2021, 6:29 PMancient-vegetable-10556
09/23/2021, 6:33 PMenough-analyst-54434
09/23/2021, 6:34 PMancient-vegetable-10556
09/23/2021, 6:34 PMenough-analyst-54434
09/23/2021, 6:34 PMancient-vegetable-10556
09/23/2021, 6:35 PMenough-analyst-54434
09/23/2021, 6:35 PMancient-vegetable-10556
09/23/2021, 6:36 PMenough-analyst-54434
09/23/2021, 6:36 PMancient-vegetable-10556
09/23/2021, 6:38 PMenough-analyst-54434
09/23/2021, 6:38 PMancient-vegetable-10556
09/23/2021, 6:40 PMorg.pantsbuild.jarjar
enough-analyst-54434
09/23/2021, 6:42 PMancient-vegetable-10556
09/23/2021, 6:42 PMwitty-crayon-22786
09/23/2021, 6:42 PMzip
has native support for concatenation:
cat input.zip.* > temp.zip
zip -FF temp.zip --out full.zip
…and it would be nice to do something dumb until we know we need the custom codeenough-analyst-54434
09/23/2021, 6:42 PMancient-vegetable-10556
09/23/2021, 6:43 PMwitty-crayon-22786
09/23/2021, 6:43 PMancient-vegetable-10556
09/23/2021, 6:44 PMenough-analyst-54434
09/23/2021, 6:44 PMwitty-crayon-22786
09/23/2021, 6:44 PMancient-vegetable-10556
09/23/2021, 6:45 PMenough-analyst-54434
09/23/2021, 6:45 PMwitty-crayon-22786
09/23/2021, 6:45 PMancient-vegetable-10556
09/23/2021, 6:46 PMenough-analyst-54434
09/23/2021, 6:47 PMwitty-crayon-22786
09/23/2021, 6:48 PMenough-analyst-54434
09/23/2021, 6:50 PMancient-vegetable-10556
09/23/2021, 7:02 PMenough-analyst-54434
09/23/2021, 7:02 PMwitty-crayon-22786
09/23/2021, 7:13 PMzip -FF
would be the most interesting bit... because if the -FF pass is mostly copying and just appending a new index, it could be pretty snappy too.fast-nail-55400
09/23/2021, 7:18 PMbored-art-40741
09/23/2021, 11:39 PMancient-vegetable-10556
09/24/2021, 4:07 PMjartool
successfully produce a fat JAR on the command line for a project with nontrivial dependencieswitty-crayon-22786
09/24/2021, 9:01 PMzip -FF
, that would be handy. because i can imagine how to cobble this together (even CONCAT) purely with unix tools, and it wouldn’t really be that badancient-vegetable-10556
09/24/2021, 9:07 PMzip -FF
tool worked just fine. The jar
that Gradle popped out didn’t include a main
attribute in the manifest, so the jar was’t runnable, but it was possible to specify the fat jar on the classpath and then invoke the main
by namezip
files that span multiple floppy disks, so re-using this functionality is mildly amusing)witty-crayon-22786
09/24/2021, 9:18 PMancient-vegetable-10556
09/24/2021, 9:20 PMcat; zip
will be faster, if only because it doesn’t recompress — it’s just reading files and outputting a new, correct index at the end of the filewitty-crayon-22786
09/24/2021, 9:20 PMjartool
optimization at the head of this thread was to do the exact same thing, i thinkancient-vegetable-10556
09/24/2021, 9:21 PMjartool
almost certainly has the better per-file behaviour; zip -FF
has a quite verbose output which doesn’t seem to detect collisionswitty-crayon-22786
09/24/2021, 9:28 PMzip -FF
, with a note on switching to jartool
if needed… @fast-nail-55400 likely has the best sense of what we need in a first version.ancient-vegetable-10556
09/24/2021, 9:31 PMwitty-crayon-22786
09/24/2021, 9:32 PMzip -FF
)ancient-vegetable-10556
09/24/2021, 9:32 PMwitty-crayon-22786
09/24/2021, 9:34 PMunzip $file $innerfile
ancient-vegetable-10556
09/24/2021, 9:35 PMzipfile
module doesn’t seek to the end of the file like a normal zip utility?witty-crayon-22786
09/24/2021, 9:36 PMancient-vegetable-10556
09/24/2021, 9:48 PMwitty-crayon-22786
09/24/2021, 9:51 PMDigestContents
, but for large ones you’d want to put them in a sandbox and then run an external process on them instead.ancient-vegetable-10556
09/24/2021, 9:53 PMwitty-crayon-22786
09/24/2021, 9:53 PM@rule
API for checking a Digest
out somewhere on disk, for example… only via a Process
ancient-vegetable-10556
09/24/2021, 9:54 PM