try to make build reproducible

- e.g. all files now have fixed timestamp of '02-01-1980 00:00'  and fixed permissions
- furthermore OSGi MANIFEST.MF has no timestamped attributes
diff --git a/build.gradle.kts b/build.gradle.kts
index e9a2750..34461d7 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -37,6 +37,17 @@
     options.encoding = "UTF-8"
 }
 
+tasks.withType<AbstractArchiveTask>().configureEach {
+  isPreserveFileTimestamps = false
+  isReproducibleFileOrder = true
+  filePermissions {
+    unix("rw-r--r--")
+  }
+  dirPermissions {
+    unix("rwxr-xr-x")
+  }
+}
+
 freemarkerRoot {
     configureSourceSet(SourceSet.MAIN_SOURCE_SET_NAME) { enableTests() }
     configureSourceSet("jsp20")
diff --git a/osgi.bnd b/osgi.bnd
index 9cbe266..cac520e 100644
--- a/osgi.bnd
+++ b/osgi.bnd
@@ -51,6 +51,11 @@
 # "Compiling against more than is required"
 Bundle-RequiredExecutionEnvironment: JavaSE-16, JavaSE-15, JavaSE-14, JavaSE-13, JavaSE-12, JavaSE-11, JavaSE-10, JavaSE-9, JavaSE-1.8
 
+# for reproducible build (see https://bnd.bndtools.org/instructions/reproducible.html 
+# and https://bnd.bndtools.org/instructions/noextraheaders.html)
+-reproducible: true
+-noextraheaders: true
+
 # Non-OSGi meta:
 Main-Class: freemarker.core.CommandLine
 Extension-name: FreeMarker