stevedlawrence opened a new pull request, #1286: URL: https://github.com/apache/daffodil/pull/1286
When we create a saved parser, the absolute URI of the schema context is stored in the ScemaFileLocation. This absolute URI is very likely to be different if compiled on different machines or in different directories. This makes verify reproducible saved processors difficult. To fix this, this removes the URI from the SchemaFileLocation. SchemaFileLocation is only used for diagnostics so does not need the absolute URI--diagnosticFile should be used for that. The URI is still stored in some objects where it is needed (e.g. import/include), but not in any places that are serialized when we created a saved parser. Previous places that used the URI from SchemaFileLocation are modified to either get the URI from somewhere else (that isn't serialized) or use diagnosticFile, which is depersonalized and allows for reproducible builds. To verify correctness, this adds a CLI test that builds the same saved parser in two different randomly created directories and ensures they have the same hash. Some CLI test utilities were updated to support this, including the ability to specific a different working directory to run the CLI command from. DAFFODIL-2918 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
