What must be rewritten INSIDE a jar for two builds of identical inputs to be byte-identical. Pure.
Fixing ZIP entry timestamps is not enough: build tooling also writes wall clock time and host details into entry content, where a timestamp rewrite cannot reach them. Each such source is a rule, so a newly discovered one is an addition rather than an edit.
What must be rewritten INSIDE a jar for two builds of identical inputs to be byte-identical. Pure. Fixing ZIP entry timestamps is not enough: build tooling also writes wall clock time and host details into entry content, where a timestamp rewrite cannot reach them. Each such source is a rule, so a newly discovered one is an addition rather than an edit.
(drop-headers names text)text — a MANIFEST-style header block — without the headers named in
names, leaving its line structure otherwise intact.
`text` — a MANIFEST-style header block — without the headers named in `names`, leaving its line structure otherwise intact.
(applies? this entry-name)True when this rule claims the named entry.
True when this rule claims the named entry.
(rewrite this text)The entry's text with this source of variance removed.
The entry's text with this source of variance removed.
(rule-id this)Keyword identifying this rule.
Keyword identifying this rule.
(nondeterministic? entry-name)(nondeterministic? rules entry-name)True when any rule claims entry-name. Entries no rule claims are copied
byte for byte and never decoded, so binary content is untouched.
True when any rule claims `entry-name`. Entries no rule claims are copied byte for byte and never decoded, so binary content is untouched.
(normalize-text entry-name text)(normalize-text rules entry-name text)text of the entry named entry-name with every applicable rule applied.
`text` of the entry named `entry-name` with every applicable rule applied.
(strip-comments text)text without its comment lines, leaving its line structure otherwise
intact.
java.util.Properties/store stamps the current time as a comment, so two builds seconds apart differ. Maven reads no meaning from a comment.
`text` without its comment lines, leaving its line structure otherwise intact. java.util.Properties/store stamps the current time as a comment, so two builds seconds apart differ. Maven reads no meaning from a comment.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |