Skip to content

Commit 9396467

Browse files
committed
Make fileIDs deterministic
for reproducible builds
1 parent 462ce35 commit 9396467

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

fop-core/src/main/java/org/apache/fop/pdf/FileIDGenerator.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,9 @@ byte[] getUpdatedFileID() {
8686

8787
private void generateFileID() {
8888
DateFormat df = new SimpleDateFormat("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'SSS");
89-
digest.update(PDFDocument.encode(df.format(new Date())));
89+
String sde = System.getenv("SOURCE_DATE_EPOCH");
90+
Date d = (sde == null) ? new Date() : new Date(1000 * Long.parseLong(sde));
91+
digest.update(PDFDocument.encode(df.format(d)));
9092
// Ignoring the filename here for simplicity even though it's recommended
9193
// by the PDF spec
9294
digest.update(PDFDocument.encode(String.valueOf(document.getCurrentFileSize())));

0 commit comments

Comments
 (0)