Make java's bindings.c deterministic 2021-03-fresh-bindings
authorMatt Corallo <git@bluematt.me>
Mon, 22 Mar 2021 00:00:30 +0000 (20:00 -0400)
committerMatt Corallo <git@bluematt.me>
Mon, 22 Mar 2021 00:01:01 +0000 (20:01 -0400)
java_strings.py

index eed7f398da0b326eaf6bae81e9a1fd6f90a234a8..1633756431634f47efaa60fb3e86aade84003691 100644 (file)
@@ -391,10 +391,10 @@ import java.util.Arrays;
 
     def init_str(self):
         res = ""
-        for ty in self.c_array_class_caches:
+        for ty in sorted(self.c_array_class_caches):
             res = res + "static jclass " + ty + "_clz = NULL;\n"
         res = res + "JNIEXPORT void Java_org_ldk_impl_bindings_init_1class_1cache(JNIEnv * env, jclass clz) {\n"
-        for ty in self.c_array_class_caches:
+        for ty in sorted(self.c_array_class_caches):
             res = res + "\t" + ty + "_clz = (*env)->FindClass(env, \"" + ty.replace("arr_of_", "[") + "\");\n"
             res = res + "\tCHECK(" + ty + "_clz != NULL);\n"
             res = res + "\t" + ty + "_clz = (*env)->NewGlobalRef(env, " + ty + "_clz);\n"