an artifact .zip for a swift target, stores two ObjC headers: -Swift.h and -Swift.h.md5. Because the former could contain absolute paths, the latter file is used in a dependency fingerprint (just like .swiftmodule files) - its content is just the same as the .swiftmodule's override (a fingerprint of the target)
Producer and consumers for each .h dependency, check if an override is available. If so, its content is used for the fingerprint
Because -Swift.h.md5 is automatically placed next to the -Swift.h only for a .framework, a developer that wants to cover that for a static library, has to manually add an extra ditto (similar to cp) build step to move -Swift.h.md5 along -Swift.h. Required steps are documented in Readme.md. This scenario can be considered (only static library + exposing enum via a bridging header) as an edge case - very unlikely to happen.
This part unblocks rake e2e:run_standalone added in #147.
Part III (out of IV) of #140 fix
-Swift.h
and-Swift.h.md5
. Because the former could contain absolute paths, the latter file is used in a dependency fingerprint (just like.swiftmodule
files) - its content is just the same as the .swiftmodule's override (a fingerprint of the target).h
dependency, check if an override is available. If so, its content is used for the fingerprint-Swift.h.md5
is automatically placed next to the-Swift.h
only for a .framework, a developer that wants to cover that for a static library, has to manually add an extraditto
(similar tocp
) build step to move-Swift.h.md5
along-Swift.h
. Required steps are documented in Readme.md. This scenario can be considered (only static library + exposing enum via a bridging header) as an edge case - very unlikely to happen.This part unblocks
rake e2e:run_standalone
added in #147.