-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Add basic C++ path mapping support #22445
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
Conversation
1a21e7d to
417c6d1
Compare
46e8993 to
5fed2d0
Compare
3e0ee8b to
fd78ca8
Compare
|
|
||
| expect_log 'Hi there, lib1!' | ||
| expect_log 'Hi there, lib2!' | ||
| # Compilation actions for lib1, lib2 and main should result in cache hits due |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@comius This test should serve as a representative example of what path mapping can do, but please let me know if there is any additional context I can provide to help you with the review.
fd78ca8 to
5be34a6
Compare
5be34a6 to
943ba4e
Compare
|
Sanity check: what's the story with debug symbols? |
At this point users need to opt in explicitly via |
| tools, | ||
| outputs, | ||
| mandatoryOutputs, | ||
| null, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Readability: add /* localResources= */ . Only on arguments, where you can't figure out the parameter name. Same below.
src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeatures.java
Show resolved
Hide resolved
|
I'll merge this manually, since other internal tests need fixups. |
Thanks, are you going to take care of the |
Basic support for path mapping for `CppCompile` actions is added by wiring up `PathMapper` with: * structured path variables for files and include paths (`Artifact` and `NestedSet<PathFragment>`) * inputs/outputs via `Spawn#getPathMapper()` * header discovery Also turns `external_include_paths` into a structured variable, which was missed in bazelbuild#22463. The following features are known to be unsupported for now: * `layering_check` (requires rewriting paths to and in module maps) * source tree artifacts (requires wiring up `PathMapper` in `CppCompileActionTemplate`) * location expanded paths to generated files such as sanitizer suppression lists (requires heuristically rewriting paths in `user_compile_flags`) These limitations will be lifted in follow-up PRs. Work towards bazelbuild#6526 RELNOTES: Experimental support for path mapping `CppCompile` actions can be enabled via `--modify_execution_info=CppCompile=+supports-path-mapping`. Closes bazelbuild#22445. PiperOrigin-RevId: 646109274 Change-Id: I6f4eb92b6be3052547f144c681b6588e9fc40693
|
@bazel-io fork 7.3.0 |
Basic support for path mapping for `CppCompile` actions is added by wiring up `PathMapper` with: * structured path variables for files and include paths (`Artifact` and `NestedSet<PathFragment>`) * inputs/outputs via `Spawn#getPathMapper()` * header discovery Also turns `external_include_paths` into a structured variable, which was missed in bazelbuild#22463. The following features are known to be unsupported for now: * `layering_check` (requires rewriting paths to and in module maps) * source tree artifacts (requires wiring up `PathMapper` in `CppCompileActionTemplate`) * location expanded paths to generated files such as sanitizer suppression lists (requires heuristically rewriting paths in `user_compile_flags`) These limitations will be lifted in follow-up PRs. Work towards bazelbuild#6526 RELNOTES: Experimental support for path mapping `CppCompile` actions can be enabled via `--modify_execution_info=CppCompile=+supports-path-mapping`. Closes bazelbuild#22445. PiperOrigin-RevId: 646109274 Change-Id: I6f4eb92b6be3052547f144c681b6588e9fc40693
Basic support for path mapping for `CppCompile` actions is added by wiring up `PathMapper` with: * structured path variables for files and include paths (`Artifact` and `NestedSet<PathFragment>`) * inputs/outputs via `Spawn#getPathMapper()` * header discovery Also turns `external_include_paths` into a structured variable, which was missed in bazelbuild#22463. The following features are known to be unsupported for now: * `layering_check` (requires rewriting paths to and in module maps) * source tree artifacts (requires wiring up `PathMapper` in `CppCompileActionTemplate`) * location expanded paths to generated files such as sanitizer suppression lists (requires heuristically rewriting paths in `user_compile_flags`) These limitations will be lifted in follow-up PRs. Work towards bazelbuild#6526 RELNOTES: Experimental support for path mapping `CppCompile` actions can be enabled via `--modify_execution_info=CppCompile=+supports-path-mapping`. Closes bazelbuild#22445. PiperOrigin-RevId: 646109274 Change-Id: I6f4eb92b6be3052547f144c681b6588e9fc40693
Basic support for path mapping for `CppCompile` actions is added by wiring up `PathMapper` with: * structured path variables for files and include paths (`Artifact` and `NestedSet<PathFragment>`) * inputs/outputs via `Spawn#getPathMapper()` * header discovery Also turns `external_include_paths` into a structured variable, which was missed in bazelbuild#22463. The following features are known to be unsupported for now: * `layering_check` (requires rewriting paths to and in module maps) * source tree artifacts (requires wiring up `PathMapper` in `CppCompileActionTemplate`) * location expanded paths to generated files such as sanitizer suppression lists (requires heuristically rewriting paths in `user_compile_flags`) These limitations will be lifted in follow-up PRs. Work towards bazelbuild#6526 RELNOTES: Experimental support for path mapping `CppCompile` actions can be enabled via `--modify_execution_info=CppCompile=+supports-path-mapping`. Closes bazelbuild#22445. PiperOrigin-RevId: 646109274 Change-Id: I6f4eb92b6be3052547f144c681b6588e9fc40693
Basic support for path mapping for `CppCompile` actions is added by wiring up `PathMapper` with: * structured path variables for files and include paths (`Artifact` and `NestedSet<PathFragment>`) * inputs/outputs via `Spawn#getPathMapper()` * header discovery Also turns `external_include_paths` into a structured variable, which was missed in #22463. The following features are known to be unsupported for now: * `layering_check` (requires rewriting paths to and in module maps) * source tree artifacts (requires wiring up `PathMapper` in `CppCompileActionTemplate`) * location expanded paths to generated files such as sanitizer suppression lists (requires heuristically rewriting paths in `user_compile_flags`) These limitations will be lifted in follow-up PRs. Work towards #6526 RELNOTES: Experimental support for path mapping `CppCompile` actions can be enabled via `--modify_execution_info=CppCompile=+supports-path-mapping`. Closes #22445. PiperOrigin-RevId: 646109274 Change-Id: I6f4eb92b6be3052547f144c681b6588e9fc40693 Closes #22875 Co-authored-by: Yun Peng <[email protected]>
Basic support for path mapping for
CppCompileactions is added by wiring upPathMapperwith:ArtifactandNestedSet<PathFragment>)Spawn#getPathMapper()Also turns
external_include_pathsinto a structured variable, which was missed in #22463.The following features are known to be unsupported for now:
layering_check(requires rewriting paths to and in module maps)PathMapperinCppCompileActionTemplate)user_compile_flags)These limitations will be lifted in follow-up PRs.
Work towards #6526
RELNOTES: Experimental support for path mapping
CppCompileactions can be enabled via--modify_execution_info=CppCompile=+supports-path-mapping.