| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new class is a combination of SpawnHelper and our internal code; the
plan is to migrate all spawn strategies to the new class. The strict flag
should be enabled by default, but that's a breaking change, so we need to do
it later.
- Use it in SandboxStrategy.
- Add ActionInput.getExecPath to return a PathFragment; this avoids lots of
back and forth between path fragments and strings.
This is a step towards #1593.
The previous attempt was missing a one-line patch in StandaloneTestStrategy,
which broke all tests with sandboxing. StandaloneTestStrategy was fixed in a
separate change, so this should be safe now.
--
PiperOrigin-RevId: 150733457
MOS_MIGRATED_REVID=150733457
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update some callers to use getExecPath, which generally results in less
intermediate garbage generation (almost all callers need a PathFragment, not
a String).
Another small step towards #1593.
--
PiperOrigin-RevId: 150631279
MOS_MIGRATED_REVID=150631279
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Break bazel-tests and many other jobs on CI.
http://ci.bazel.io/job/bazel-tests/BAZEL_VERSION=HEAD,PLATFORM_NAME=linux-x86_64/651/console
*** Original change description ***
Add SpawnInputExpander helper class to arrange runfiles for spawn strategies
This new class is a combination of SpawnHelper and our internal code; the
plan is to migrate all spawn strategies to the new class. The strict flag
should be enabled by default, but that's a breaking change, so we need to do
it later.
- Use it in SandboxStrategy.
- Add ActionInput.getExecPath to return a PathFragment; this avoids lots of
back and forth between path fragments and strings.
This is a step towards #159...
***
--
PiperOrigin-RevId: 150610616
MOS_MIGRATED_REVID=150610616
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new class is a combination of SpawnHelper and our internal code; the
plan is to migrate all spawn strategies to the new class. The strict flag
should be enabled by default, but that's a breaking change, so we need to do
it later.
- Use it in SandboxStrategy.
- Add ActionInput.getExecPath to return a PathFragment; this avoids lots of
back and forth between path fragments and strings.
This is a step towards #1593.
--
PiperOrigin-RevId: 150427021
MOS_MIGRATED_REVID=150427021
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 149067322
MOS_MIGRATED_REVID=149067322
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With more specific information to be reported by Skyfunctions, e.g.,
to inform the build-event protocol on missing files, the EventHandler
interface is no longer enough. Therefore, provide an enriched context
for reporting events.
--
Change-Id: I2d06166fe4d5b9054e24ad8c752fafc039e3f9f8
Reviewed-on: https://cr.bazel.build/8794
PiperOrigin-RevId: 148463437
MOS_MIGRATED_REVID=148463437
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By specifying the flag "--debug_print_action_contexts", Bazel will print the contents of the internal SpawnActionContext and ContextMap maps, which allows developers to see which kind of actions are run using which strategy.
Example output of Bazel at HEAD:
$ ./output/bazel build --debug_print_action_contexts
INFO: SpawnActionContextMap: "" = LinuxSandboxedStrategy
INFO: SpawnActionContextMap: "Closure" = WorkerSpawnStrategy
INFO: SpawnActionContextMap: "Javac" = WorkerSpawnStrategy
INFO: ContextMap: Context = BazelWorkspaceStatusActionContext
INFO: ContextMap: CppCompileActionContext = SpawnGccStrategy
INFO: ContextMap: CppLinkActionContext = SpawnLinkStrategy
INFO: ContextMap: FileWriteActionContext = FileWriteStrategy
INFO: ContextMap: FilesetActionContext = FilesetActionContextImpl
INFO: ContextMap: IncludeScanningContext = DummyIncludeScanningContext
INFO: ContextMap: SpawnActionContext = LinuxSandboxedStrategy
INFO: ContextMap: SymlinkTreeActionContext = SymlinkTreeStrategy
INFO: ContextMap: TestActionContext = ExclusiveTestStrategy
(Can you spot the bug found by this feature here? The default TestActionContext is ExclusiveTestStrategy, which is probably not what we want.)
--
PiperOrigin-RevId: 146233390
MOS_MIGRATED_REVID=146233390
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change is part of the mu-bazel effort, which aims to build a minimally
useful Bazel binary with most extraneous functionality removed. As part of
that, we want to enforce layering of packages. In particular, lib.actions must
not depend on lib.rules or lib.exec. lib.rules must not depend on lib.exec.
Moving these classes is a necessary step to enforce that layering.
--
PiperOrigin-RevId: 142668172
MOS_MIGRATED_REVID=142668172
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=133257532
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ActionInputFileCache:
Change getDigest() to return the underlying byte[16] owned by each
FileArtifactValue.
Remove throws clause from getInputFromDigest(); this should be an
in-memory operation, and no implementation actually throws.
PerActionFileCache:
Invert mapping from artifact to digest only if needed. Remove interner,
as it was used only for the reverse map keys, not the returned values.
This should be a significant cpu savings as eagerly constructing the
reverse maps was a noticeable hotspot.
--
MOS_MIGRATED_REVID=127972359
|
|
|
|
|
|
|
|
|
|
|
| |
files itself, and one that contains this middleman and the runfiles output manifest.
This is in preparation for Windows symlink support in runfiles manifests: on Windows, we'll need the target files created before we can create the runfiles symlinks for them, but we can't do that by adding the current runfiles middleman to the inputs of SymlinkTreeAction because it would create a cycle (output manifest -> SymlinkTreeAction -> runfiles manifest -> MiddlemanAction -> output manifest)
The alternative is to just add the artifacts to the inputs of SymlinkTreeAction, but that would create a bunch of extra edges and, more importantly, reverse edges in the action graph which we don't want.
--
MOS_MIGRATED_REVID=113041344
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=112713014
|
|
|
|
|
|
|
|
|
|
|
|
| |
versions:
devtools/build/lib/analysis/util/AnalysisTestCase.java
devtools/build/lib/analysis/util/BuildViewTestCase.java
devtools/build/lib/packages/util/PackageLoadingTestCase.java
devtools/build/lib/testutil/FoundationTestCase.java
--
MOS_MIGRATED_REVID=109560679
|
|
|
|
|
|
|
| |
Old name is vestigial, new home makes more sense.
--
MOS_MIGRATED_REVID=109410381
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=109205207
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=108794613
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=108255623
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=105949508
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=95427512
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=87698104
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=87513766
|
|
the tests under analysis/actions. They don't run yet, because the mock client
setup is still missing.
--
MOS_MIGRATED_REVID=87149625
|