git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Unique compiler ID


What do we have available that can be created for each build including snapshots that can be used as a unique ID for the daffodil "version".


I know we have the md5 and signature keys, but those aren't generated for every build. I'm looking for something that could be created unique for every build, even on eclipse.


The reason I ask is that I'd like a way to organize pre-compiled binary files of schemas. If we conservatively assume that every build of daffodil potentially results in incompatible binaries, then this unique ID could be used to organize pre-compiled binaries and verify that they are compatible before loading them.


E.g.,  if I have schema foo/001/myschema.dfdl.xsd


I could compile a binary into


/tmp/org.apache.daffodil/compiledSchemaCache/UNIQUEID/foo/001/myschema.dfdl.xsd.bin


I could look for this file, only recompile if it doesn't exist or the modify timestamp on the myschema.dfdl.xsd is newer.


Developers could just disable this if their changes are in fact affecting the binaries, or they could just set some option to force a constant like 0 as the UNIQUEID.


So this wouldn't be problematic for development. It would be a big win for users.