Liking cljdoc? Tell your friends :D

hive-build.promote.reproducible

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.
raw docstring

default-rulesclj

source

drop-headersclj

(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.
sourceraw docstring

IEntryRulecljprotocol

applies?clj

(applies? this entry-name)

True when this rule claims the named entry.

True when this rule claims the named entry.

rewriteclj

(rewrite this text)

The entry's text with this source of variance removed.

The entry's text with this source of variance removed.

rule-idclj

(rule-id this)

Keyword identifying this rule.

Keyword identifying this rule.
source

nondeterministic?clj

(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.
sourceraw docstring

normalize-textclj

(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.
sourceraw docstring

strip-commentsclj

(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.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close