2025-11-15
Pre-release
Pre-release
Make all swift anon targets content based hashed Summary: TSIA For the anon targets, we could not use `get_uses_experimental_content_based_path_hashing(ctx)` to determine whether we enable content based paths to them (as demonstrated in D86439116) The reason is that the current setup of rolling out the feature is on a per app basis by adding a modifier to the app's target platform. The issue that brings is that any dependency that is built against the execution platform won't get that information, causing them to still have content based paths disabled. Then, when come to anon targets, if target A and target B both depends on anon target X, if A has content based path enabled and B has it disabled, this would cause an inconsistent state for target X, which leads to a duplicate entry in modulemap.json (https://www.internalfb.com/intern/diffing/?paste_number=2028864153), and hence causing build failures. The solution, as described by the updated rollout plan: https://docs.google.com/document/d/1tS5CUQ8Xdpx6-hbsUx6NoGXd4VpuZu7FeXtXfHVGoRo/edit?tab=t.0, is that we will be a bit more aggressive in our rollout strategy and just enable content based path by default to the targets that are causing issues. #buildall-fbobjc Reviewed By: benb Differential Revision: D86690264 fbshipit-source-id: 3c976288fee84cc24cbbee6b2067badb9a65825a