ancient-vegetable-10556
09/23/2021, 6:21 PMenough-analyst-54434
09/23/2021, 6:29 PMenough-analyst-54434
09/23/2021, 6:31 PMenough-analyst-54434
09/23/2021, 6:33 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 PMenough-analyst-54434
09/23/2021, 6:37 PMenough-analyst-54434
09/23/2021, 6:38 PMancient-vegetable-10556
09/23/2021, 6:38 PMenough-analyst-54434
09/23/2021, 6:38 PMenough-analyst-54434
09/23/2021, 6:40 PMancient-vegetable-10556
09/23/2021, 6:40 PMorg.pantsbuild.jarjar
ancient-vegetable-10556
09/23/2021, 6:40 PMancient-vegetable-10556
09/23/2021, 6:40 PMenough-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 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 PMancient-vegetable-10556
09/23/2021, 6:46 PMenough-analyst-54434
09/23/2021, 6:47 PMwitty-crayon-22786
09/23/2021, 6:48 PMwitty-crayon-22786
09/23/2021, 6:49 PMenough-analyst-54434
09/23/2021, 6:50 PMenough-analyst-54434
09/23/2021, 6:50 PMenough-analyst-54434
09/23/2021, 7:01 PMancient-vegetable-10556
09/23/2021, 7:02 PMenough-analyst-54434
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.witty-crayon-22786
09/23/2021, 7:13 PMfast-nail-55400
09/23/2021, 7:18 PMfast-nail-55400
09/23/2021, 7:19 PMbored-art-40741
09/23/2021, 11:39 PMancient-vegetable-10556
09/24/2021, 4:07 PMancient-vegetable-10556
09/24/2021, 4:07 PMancient-vegetable-10556
09/24/2021, 8:59 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 PMancient-vegetable-10556
09/24/2021, 9:15 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 nameancient-vegetable-10556
09/24/2021, 9:17 PMancient-vegetable-10556
09/24/2021, 9:18 PMzip
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 PMancient-vegetable-10556
09/24/2021, 9:27 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 PMwitty-crayon-22786
09/24/2021, 9:30 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 PMancient-vegetable-10556
09/24/2021, 9:33 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 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.witty-crayon-22786
09/24/2021, 9:52 PMancient-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