-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Make the execution root structure match that of the runfiles tree #1262
Comments
One complication with this is what to do with outputs. For the main repository, you get the output of //foo:bar in:
Bazel uses |
Rolling back due to #1422. |
Part 1 of many for #1262, rolling forward. -- MOS_MIGRATED_REVID=125334954
Another part of rolling forward #1262. -- MOS_MIGRATED_REVID=125481356
Part of the rollforward for #1262. -- MOS_MIGRATED_REVID=125562871
Another part of rolling forward bazelbuild#1262. -- MOS_MIGRATED_REVID=125481356
Part of the rollforward for bazelbuild#1262. -- MOS_MIGRATED_REVID=125562871
This doesn't do anything yet, it's in preparation for the execroot rearranging change. The execroot will have one bazel-out per repo, so it'll look like: execroot/ repo1/ bazel-out/ local-fastbuild/ bin/ repo2/ bazel-out/ local-fastbuild/ bin/ genfiles/ repo3/ bazel-out/ local-fastbuild/ testlogs/ and so on. Thus, any output path (getBinDirectory() & friends) needs to know what the repo name is. This changes so many places in the code I thought it would be good to do separately, then just flip the functionality in the execroot-rearranging commit. While I was poking around, I changed all of the refs I could from getPackageRelativeArtifact() to getBin/GenfilesArtifact(), so that 1) rule implementation don't have to know as much about roots and 2) they'll be more isolated from other output dir changes. `bazel info` and similar just return roots for the main repository. The only "change" is passing around a target label in the Java rules. Continues work on #1262. -- MOS_MIGRATED_REVID=129985336
This is part of prepping for #1262. -- MOS_MIGRATED_REVID=132553178
This is required for #1262, as execution roots for external repos will be accessed via ../reponame under the exec root. I'm trying to break up the change into several small CLs. This should have no impact on the sandbox's behavior. -- MOS_MIGRATED_REVID=132671034
Needed for #1262. Doesn't do anything, yet, other than make the CL smaller. -- MOS_MIGRATED_REVID=132671036
Chipping away at making the big CL for #1262 smaller. Only runfiles paths are different right now, so this makes getPathUnderExecRoot and getSourceRoot return the same thing. Also corrected a couple places where Label.EXTERNAL_PATH_PREFIX and Label.EXTERNAL_PACKAGE_NAME were being used incorrectly. -- MOS_MIGRATED_REVID=132671081
Rollback so reopening :) |
Change was rolled back, this shouldn't have been closed. |
I am getting ready to resubmit bazelbuild/bazel#1262, which significantly changes execroot paths (external/foo becomes ../foo, essentially). Without this patch, the execroot change messes up the symlink tree the go rules create. This compensates for the path change in a backwards-compatible way: bazel test //... passes for me with old & patched versions of bazel.
*** Reason for rollback *** Breaks //src/test/shell/integration:force_delete_output_test *** Original change description *** Symlink output directories to the correct directory name If the workspace directory is /path/to/my/proj and the name in the WORKSPACE file is "floop", this will symlink the output directories to output_base/execroot/floop instead of output_base/execroot/proj. More prep for #1262, fixes #1681. PiperOrigin-RevId: 152126545
Hello Kristina, is this still expected to be fixed in 0.5? |
No. |
*** Reason for rollback *** Roll forward of directory name change *** Original change description *** Automated g4 rollback of commit 1d9e1ac. *** Reason for rollback *** Breaks //src/test/shell/integration:force_delete_output_test *** Original change description *** Symlink output directories to the correct directory name If the workspace directory is /path/to/my/proj and the name in the WORKSPACE file is "floop", this will symlink the output directories to output_base/execroot/floop instead of output_base/execroot/proj. More prep for #1262, fixes #1681. PiperOrigin-RevId: 156892980
Hi there! We're doing a clean up of old issues and will be closing this one. Please reopen if you’d like to discuss anything further. We’ll respond as soon as we have the bandwidth/resources to do so. |
Followup to #848. Now we have execroot paths like:
but we want the execution root paths to look like:
(Not exactly a bug, but we don't have an "improvement" category.)
The text was updated successfully, but these errors were encountered: