forked from facebook/buck2
-
Notifications
You must be signed in to change notification settings - Fork 0
Fix rebuild issue: disable dep file check for now! #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
wavewave
wants to merge
1
commit into
wavewave/20241101
Choose a base branch
from
wavewave/buck2-bugfix-3
base: wavewave/20241101
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
wavewave
pushed a commit
that referenced
this pull request
Apr 12, 2025
Summary: # Context App targets that contain app extension targets need to set up explicit target dependencies on the app extension targets. This is similar to D60223003, where we set up target dependencies for UI tests, so we can reuse much of the infrastructure from there. Here's a diff of our Xcode project before and after manually adding the target dependency in the f2-with-extensions project spec: https://www.internalfb.com/phabricator/paste/view/P1724920080?view=diff --- So we need to add 2 things for each app extension target in the project: ## 1. A PBXContainerItemProxy ``` /* Begin PBXContainerItemProxy section */ 8F4F81192D51C2DF00E9EC84 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 2D699AA517DD0EA4E6F454A2 /* Project object */; proxyType = 1; remoteGlobalIDString = FF2546F571E94DE085D0A99B; remoteInfo = FocusPlaygroundShareExtension; }; /* End PBXContainerItemProxy section */ ``` Needs: 1. PBXProject's reference 2. App extension target's PBXNativeTarget's name and reference ## 2. PBXTargetDependency ``` /* Begin PBXTargetDependency section */ 8F4F811A2D51C2DF00E9EC84 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = FF2546F571E94DE085D0A99B /* FocusPlaygroundShareExtension */; targetProxy = 8F4F81192D51C2DF00E9EC84 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ ``` Needs: 1. PBXContainerItemProxy's reference (Get from #1) 2. App extension target's reference --- ## Add all of the app extension PBXTargetDependency identifiers to the containing app's dependency list: ``` 738F5F018A4B4BF20629BF02 /* FocusPlayground */ = { isa = PBXNativeTarget; buildConfigurationList = 6A55E7FA57E7AAB88FF7C0E1 /* Build configuration list for PBXNativeTarget "FocusPlayground" */; buildPhases = ( D243AE6F52E0F92791974A8D /* Buck Prebuild */, 0579C1CFF2E1E6055656AEAB /* Buck Build */, ); buildRules = ( ); dependencies = ( + 8F4F811A2D51C2DF00E9EC84 /* PBXTargetDependency */, ); name = FocusPlayground; productName = FocusPlayground; productReference = 7A5EBA4A826A7828EEA9F8C3 /* FocusPlayground.app */; productType = "com.apple.product-type.application"; }; ``` Needs: 1. All app extension PBXTargetDependency references (Get from facebook#2) --- Much like in D60223003, we'll need to generate the PBXContainerItemProxy and PBXTargetDependency objects in the aggregate stage, because only then will we know all the different targets being generated and be able to understand the relationships between them. For generating the list of dependencies, we'll need to pass through a list of app extension dependencies from the app bundle and generate the references in the partial target generation. This does mean at some stage we'll need to filter the list of app extension to only those targets *currently being focused*. # This Diff In xcode-data, get the full set of app extension dependencies and add them to the [xcode-data] output. We explicitly want the `raw_target()` of the configured dependency because inter-target dependencies are a per-target concern, not a per configured_target concern. Differential Revision: D69201882 fbshipit-source-id: 467138d970d3727d4831bc5d8c623d93f8e442d1
wavewave
pushed a commit
that referenced
this pull request
Apr 12, 2025
…ependency generation Summary: # Context App targets that contain app extension targets need to set up explicit target dependencies on the app extension targets. This is similar to D60223003, where we set up target dependencies for UI tests, so we can reuse much of the infrastructure from there. Here's a diff of our Xcode project before and after manually adding the target dependency in the f2-with-extensions project spec: https://www.internalfb.com/phabricator/paste/view/P1724920080?view=diff --- So we need to add 2 things for each app extension target in the project: ## 1. A PBXContainerItemProxy ``` /* Begin PBXContainerItemProxy section */ 8F4F81192D51C2DF00E9EC84 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 2D699AA517DD0EA4E6F454A2 /* Project object */; proxyType = 1; remoteGlobalIDString = FF2546F571E94DE085D0A99B; remoteInfo = FocusPlaygroundShareExtension; }; /* End PBXContainerItemProxy section */ ``` Needs: 1. PBXProject's reference 2. App extension target's PBXNativeTarget's name and reference ## 2. PBXTargetDependency ``` /* Begin PBXTargetDependency section */ 8F4F811A2D51C2DF00E9EC84 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = FF2546F571E94DE085D0A99B /* FocusPlaygroundShareExtension */; targetProxy = 8F4F81192D51C2DF00E9EC84 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ ``` Needs: 1. PBXContainerItemProxy's reference (Get from #1) 2. App extension target's reference --- ## Add all of the app extension PBXTargetDependency identifiers to the containing app's dependency list: ``` 738F5F018A4B4BF20629BF02 /* FocusPlayground */ = { isa = PBXNativeTarget; buildConfigurationList = 6A55E7FA57E7AAB88FF7C0E1 /* Build configuration list for PBXNativeTarget "FocusPlayground" */; buildPhases = ( D243AE6F52E0F92791974A8D /* Buck Prebuild */, 0579C1CFF2E1E6055656AEAB /* Buck Build */, ); buildRules = ( ); dependencies = ( + 8F4F811A2D51C2DF00E9EC84 /* PBXTargetDependency */, ); name = FocusPlayground; productName = FocusPlayground; productReference = 7A5EBA4A826A7828EEA9F8C3 /* FocusPlayground.app */; productType = "com.apple.product-type.application"; }; ``` Needs: 1. All app extension PBXTargetDependency references (Get from facebook#2) --- Much like in D60223003, we'll need to generate the PBXContainerItemProxy and PBXTargetDependency objects in the aggregate stage, because only then will we know all the different targets being generated and be able to understand the relationships between them. For generating the list of dependencies, we'll need to pass through a list of app extension dependencies from the app bundle and generate the references in the partial target generation. This does mean at some stage we'll need to filter the list of app extension to only those targets *currently being focused*. # This Diff Not all app extension dependencies are necessarily going to be focused, so we don't want to generate an app extension dependency reference to an app extension that isn't going to actually be a target in the Xcode project (and therefore won't generate a PBXTargetDependency/PBXContainerItemProxy in the project file to resolve the reference). Differential Revision: D69339302 fbshipit-source-id: 4b1859f4a524b0fca4b0d489aa48db9532ece22d
9999years
pushed a commit
that referenced
this pull request
Apr 28, 2025
Summary: This will inject a specific list test command (when the configs are present) for generating the list test comand for android robolectric tests. The next diff will fully test this e2e. Notable configs: `-c testinfra.build_codesense` If true we will build the codesense binary (for development) if not true we will use the dotslash version --- `-c testinfra.codesense_static_listing` If true we will inject the above RunInfo and use it in the robolectric.bzl If not true we will not have this injected and the existing path will be used ## Rollout plan For phase #1 we will create shadow runs for the robolectric continuous runs and inject the config `-c testinfra.codesense_static_listing` for those shadow runs. We can then compare between both runs and ensure the same tests were discovered. After we have parity and all of the targets that won't support this (e.g., Parametrized tests) we can move to a label based opt-out. Reviewed By: jselbo Differential Revision: D73158309 fbshipit-source-id: 179d6a8866c05123a29be0aaf32804afcb305a08
9999years
pushed a commit
that referenced
this pull request
May 1, 2025
Summary: As part of Buck2 Error Customization Authors, we are doing two things: 1. better-categorizing errors that pop-up in Apple so that we can better lever the new `.message` property on `ActionSubError` which enables you to inline things like links to wikis. 2. Add help so that engineers can get wikis at their desk. Looking at buck2's error categorization dashboard: https://fburl.com/unidash/symtoxim `apple_compilation_failure` is the #1 at Meta, and that's because it's just an amalgamation of any errors. I chatted offline with williamtwilson + mzlee and I think it makes more sense to declare bankruptcy on this... - it's too vague to inject a helpful message. - it causing over-aggregation on the dashboards. - I'm not sure anyone is looking at it. Reviewed By: benb Differential Revision: D73878564 fbshipit-source-id: 02fc29d9a661bd33747981d03dcae96096c54b73
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.