| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
Merge the functionality into CppLinkAction, which now simply creates and runs
a Spawn. Set PWD to /proc/self/cwd for Linux, and set execution info if the
action needs to run on MacOS.
--
PiperOrigin-RevId: 149285420
MOS_MIGRATED_REVID=149285420
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 149110466
MOS_MIGRATED_REVID=149110466
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move all local resource acquisition to where local execution actually happens.
Don't attempt to acquire resources per action, but only for individual spawns.
This significantly simplifies the code.
The downside is that we don't account for action-level work anymore. In
general, actions should not perform any process execution themselves, but
always delegate such work to a SpawnStrategy implementation.
This change makes sure that every Spawn has local resources set in a way that
is consistent with the previous state.
However, there are two actions - Fileset and FileWrite -, which are not spawns,
and so we now don't limit their concurrent execution anymore. For Fileset, all
work is done in a custom Fileset-specific thread pool, so this shouldn't be a
problem. I'm not sure about FileWriteAction.
--
PiperOrigin-RevId: 149012600
MOS_MIGRATED_REVID=149012600
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148749485
MOS_MIGRATED_REVID=148749485
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Drop the Spawn.getOwner() method, which was duplicating functionality
already available through Spawn.getResourceOwner(), in favor of the
latter. In order to do that, change Executor.reportSubcommand to take
a Spawn instance instead, which in turn requires updating all call
sites.
This is part of establishing Spawn as an abstraction for lower-level
local and remote execution in all cases instead of passing args, env,
input/output files and possibly other metadata as individual method
parameters to the underlying implementations.
In order for that to be maintainable, Spawn should be light-weight and
easy to construct correctly, and not contain too much unnecessary data.
--
PiperOrigin-RevId: 146224914
MOS_MIGRATED_REVID=146224914
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove getSpawnInfo and asShellCommand, which are never really
overridden in a useful way. asShellCommand moves to the Spawns class,
and getSpawnInfo is only ever called by SpawnAction, and the
implementation moves there.
I'm considering using Spawn as the general lower-level abstraction for both
local and remote execution. It sort of is that already, except it's not
used consistently - we often pass a tuple of (args, env) plus possibly
input and output files through parameter-heavy method call hierarchies
instead of using this existing abstraction.
However, I'm concerned about the amount of baggage it's carrying as well
as the number of implementations for what is supposed to be a simple
interface (or possibly even a simple value class), and this is an attempt
to slim it down a bit.
This should have no visible effects on builds.
--
PiperOrigin-RevId: 146109838
MOS_MIGRATED_REVID=146109838
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
More renaming and some reformatting to make StandaloneTestStrategy more
closely resemble the internal implementation of TestStrategy.
--
PiperOrigin-RevId: 142254302
MOS_MIGRATED_REVID=142254302
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is part of refactoring test strategy to unify its implementation between
Bazel and Blaze (Google's internal version of Bazel), which should fix several
issues in Bazel.
It's also necessary to untangle lib.rules and lib.exec to enforce proper
layering by separating compilation of these packages, and to provide a minimal
Bazel binary. In particular, no core part of Bazel should depend on any of the
rules, to facilitate moving them out of Bazel / reimplementing them in Skylark
(except for some core rules like test_suite, alias, and genquery).
--
PiperOrigin-RevId: 142151901
MOS_MIGRATED_REVID=142151901
|
|
|
|
|
|
|
| |
This significantly simplifies several of our modules.
--
MOS_MIGRATED_REVID=137713119
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Roll-forward with fix.
Tested with `bazel build src:srcs //src/test/...` using a bootstrapped bazel.
Fixes #1923.
RELNOTES[INC]: Non test-only targets can no longer depends on test-only targets.
*** Original change description ***
Automated [] rollback of commit a9f20b0d6459d395444c45cf5e94a899f3443633.
*** Reason for rollback ***
Broke Bazel CI:
ERROR: /home/ci/workspace/Bazel/JAVA_VERSION/1.8/PLATFORM_NAME/linux-x86_64/src/BUILD:284:1: in filegroup rule //src:srcs: non-test target '//src:srcs' depends on testonly target '//src/java_tools/junitrunner/java/com/google/testing/junit/junit4:srcs' and doesn't have testonly attribute set.
ERROR: Analysis of target '//scripts/packages:packages' failed; build aborted.
http://ci.bazel.io/view/Bazel%20b...
***
--
MOS_MIGRATED_REVID=136589937
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=136011723
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Make darwin sandboxing default again.
*** Original change description ***
Fix #1849: Sandboxing on OS X should be turned off by default for 0.3.2.
This restructures the way we set the default Spawn strategy so that each BlazeModule supplying a SpawnActionContext has an ActionContextConsumer that sets its own SpawnActionContext as the default, with the BazelRulesModule being put as the last module loaded in BazelMain, so that it can override that decision - it only does, if the user explicitly specifies a --spawn_strategy flag. IMHO this is a much saner approach than...
***
ROLLBACK_OF=134770427
RELNOTES: Darwin sandboxing is default.
--
MOS_MIGRATED_REVID=135905657
|
|
|
|
|
|
|
|
|
|
|
|
| |
This restructures the way we set the default Spawn strategy so that each BlazeModule supplying a SpawnActionContext has an ActionContextConsumer that sets its own SpawnActionContext as the default, with the BazelRulesModule being put as the last module loaded in BazelMain, so that it can override that decision - it only does, if the user explicitly specifies a --spawn_strategy flag. IMHO this is a much saner approach than the older one.
So the flow is essentially this:
- StandaloneActionContextConsumer sets the default strategy to "standalone".
- SandboxActionContextConsumer sets the default strategy to "sandboxed", but only on Linux
- BazelRulesModule sets the default strategy to the value of the --spawn_strategy flag, if it is set.
--
MOS_MIGRATED_REVID=134770427
|
|
|
|
|
|
|
| |
in places other than the sandbox code.
--
MOS_MIGRATED_REVID=132436150
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=131817068
|
|
|
|
|
|
|
| |
--
Change-Id: I48611500044e05c177d3a044d5d335c4a98135f4
Reviewed-on: https://bazel-review.googlesource.com/#/c/5530
MOS_MIGRATED_REVID=131593454
|
|
|
|
|
|
|
| |
Makes #1664 much less acute.
--
MOS_MIGRATED_REVID=130750731
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Apparently we now try to open output files for the process twice: once when we are constructing the output streams, and the second time when we tell the process to redirect its outputs. This causes the outputs to be empty on Windows
*** Original change description ***
Do redirection of stdout / stderr in Java instead of reimplementing it in every process wrapper again.
--
MOS_MIGRATED_REVID=126801016
|
|
|
|
|
|
|
| |
every process wrapper again.
--
MOS_MIGRATED_REVID=126279021
|
|
|
|
|
|
|
|
|
| |
BlazeRuntime#getProductName() or a reference to TestConstants.PRODUCT_NAME for tests.
This CL prepares the codebase in order to delete the constant.
--
MOS_MIGRATED_REVID=122993568
|
|
|
|
|
|
|
|
|
| |
--sandbox_debug and --verbose_failures are on. See discussion in #1049.
RELNOTES:
--
MOS_MIGRATED_REVID=119635080
|
|
|
|
|
|
|
|
| |
As part of that, move a BinTools and the WorkspaceStatusActionFactory to the
BlazeWorkspace.
--
MOS_MIGRATED_REVID=119633702
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=118561661
|
|
|
|
|
|
|
| |
This makes the late initialization of BuildView more obviously safe.
--
MOS_MIGRATED_REVID=118469655
|
|
|
|
|
|
|
| |
willExecuteRemotely(). Remove unused parameter "mnemonic".
--
MOS_MIGRATED_REVID=115666410
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114569255
|
|
|
|
|
|
|
|
|
| |
methods, as we can simply pass an ActionStatusMessage to the EventBus instead. All SpawnActionContexts now send an appropriate message when they execute a Spawn.
This also gets rid of the idiom that an Action knows which strategy will be used to execute it - this decision and knowledge belongs to the executor, not the action.
--
MOS_MIGRATED_REVID=113731846
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=110174447
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=108985661
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=107942588
|
|
|
|
|
|
|
|
|
|
|
| |
of configuration over to the apple package.
This moves a small number of configuration items over. Future changes will mostly likely follow to move yet more items.
The split here is necessary as it is not only objc-related rules which require information about apple platforms and configuration -- cc rules will need this information as well to
pass appropriate args to clang.
--
MOS_MIGRATED_REVID=107396114
|
|
|
|
|
|
|
|
|
| |
environment variable.
RELNOTES:none
--
MOS_MIGRATED_REVID=106694003
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=106493557
|
|
|
|
|
|
|
|
|
| |
LocalGccStrategy / LocalLinkStrategy with SpawnGccStrategy / SpawnLinkStrategy.
RELNOTES: C++ compile actions run in a sandbox now on systems that support sandboxed execution.
--
MOS_MIGRATED_REVID=106299043
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=105301167
|
|
|
|
|
|
|
| |
not be locked to iOS SDK.
--
MOS_MIGRATED_REVID=105231425
|
|
|
|
|
|
|
| |
(determined from xcrun) for applicable actions
--
MOS_MIGRATED_REVID=105000617
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=104529103
|
|
|
|
|
|
|
| |
It seems unused, and the Bazel dashboard is more useful, as can persist results.
--
MOS_MIGRATED_REVID=104085798
|
|
|
|
|
|
|
|
|
|
|
| |
The headers were modified with
`find . -type f -exec 'sed' '-Ei' 's|Copyright 201([45]) Google|Copyright 201\1 The Bazel Authors|' '{}' ';'`
And manual edit for not Google owned copyright. Because of the nature of ijar, I did not modified the header of file owned by Alan Donovan.
The list of authors were extracted from the git log. It is missing older Google contributors that can be added on-demand.
--
MOS_MIGRATED_REVID=103938715
|
|
|
|
|
|
|
| |
and enable their reuse
--
MOS_MIGRATED_REVID=103634406
|
|
|
|
|
|
|
|
|
|
| |
- Label parsing can be simplified
- lib.syntax is only contains the code for Skylark and is reasonably independent from the problem domain of building things
This change is mostly only changes to imports declarations. The rest is reversing the dependency between :cmdline and :syntax and moving a tiny amount of code between Printer and FilesetEntry and the addition of SkylarkPrintableValue that I couldn't be bothered to separate out into its own change.
--
MOS_MIGRATED_REVID=103527877
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103376668
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103269584
|
|
|
|
|
|
|
|
| |
The very long term plan is to make BlazeRuntime immutable, so that we can
run multiple commands in the same server.
--
MOS_MIGRATED_REVID=103080946
|
|
|
|
|
|
|
|
|
| |
namespace-runner now have to be explicitly activated via --sandbox_debug.
Fixes #424.
--
MOS_MIGRATED_REVID=102566625
|
|
|
|
|
|
|
|
|
| |
Previously the timing out information wasn't propagated to the
user, leading to a wrong FAILED message whereas the test was
timing out.
--
MOS_MIGRATED_REVID=102535481
|
|
|
|
|
|
|
|
|
|
|
|
| |
use non-declared inputs) and safety (spawns can no longer affect the host system, e.g. accidentally wipe your home directory). This implementation works on Linux only and uses Linux containers ("namespaces").
The strategy works with all actions that Bazel supports (C++ / Java compilation, genrules, test execution, Skylark-based rules, ...) and in tests, Bazel could successfully bootstrap itself and pass the whole test suite using sandboxed execution.
This is not the default behavior yet, but can be activated explicitly by using:
bazel build --genrule_strategy=sandboxed --spawn_strategy=sandboxed //my:stuff
--
MOS_MIGRATED_REVID=101457297
|
|
|
|
|
|
|
| |
Fixes #279.
--
MOS_MIGRATED_REVID=97661546
|