aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Add a custom interface for cache hit processing in actionsGravatar ulfjack2017-05-10
| | | | | | | | | | | | The new interface mirrors ActionExecutionContext, but is restricted to exactly the parts used right now. I did consider using ActionExecutionContext, but it contains some parts that we don't want to make available for cache hits. The end goal is to allow the build event stream access to artifact metadata, in particular for TestResult and TestSummary events, which in turn requires making artifact metadata available when the TestRunnerAction is a cache hit. PiperOrigin-RevId: 155612573
* Update ExecuteDaemon() on POSIX systems so that the client writes the PID ↵Gravatar lberki2017-05-10
| | | | | | | | | file and not the server. This is so that the server does as few things as possible before exec() (preferably, nothing) so that we don't accidentally call malloc() which would make it possible to deadlock if the server spawned multiple threads before ExecuteDaemon(). RELNOTES: None. PiperOrigin-RevId: 155603273
* Escape % in strings that will appear in CrosstoolGravatar hlopko2017-05-10
| | | | | | | | | | %foo% syntax is not allowed in Crosstool, but some Windows environment variables that we read in cc_configure.bzl can reference other variables, therefore in order not to crash, we need to escape them before putting the values into the Crosstool. RELNOTES: None. PiperOrigin-RevId: 155602425
* When --crosstool_compilation_support=library/all, user header search paths fromGravatar cpeyser2017-05-10
| | | | | | child configurations are used in compilation. PiperOrigin-RevId: 155564865
* Remove userHeaderSearchPaths from ObjcCommon - it is not used.Gravatar cpeyser2017-05-10
| | | | PiperOrigin-RevId: 155562588
* Automated g4 rollback of commit cbbb423663b154d82e3dfa5e9a56839583987999.Gravatar Googler2017-05-10
| | | | | | | | | | | *** Reason for rollback *** Need to roll this back as part of http://b/38171368 *** Original change description *** RELNOTES: Effectively remove sysroot from CppConfiguration and allow it to use select statements. PiperOrigin-RevId: 155547813
* Automated g4 rollback of commit 006a80425e7dd521634c5735d2730f40e9e82e06.Gravatar Googler2017-05-10
| | | | | | | | | | | | | | | *** Reason for rollback *** Need to roll this back as part of http://b/38171368 *** Original change description *** Make the cc_toolchain libc_top use the target configuration The removes redundancy from the logic around calculating the sysroot (and was been a TODO since 2014!) RELNOTES: None PiperOrigin-RevId: 155545887
* Introduce CompoundEvaluationProgressReceiver for combining multiple ↵Gravatar nharmata2017-05-10
| | | | | | | EvaluationProgressReceivers. RELNOTES: None PiperOrigin-RevId: 155542146
* Python options available for host configurationsGravatar yiyu2017-05-10
| | | | | | | | | | * currently python configuration options, e.g. `python2_path`, works well for target configuration. * however, the options are unavailable for host configuration. E.g. if we have a `genrule` relied on a `py_binary` in `tools`, the Bazel's Python configuration will NOT work. * Override the function `getHost` explictly will fix the issue mentioned. PiperOrigin-RevId: 155538343
* Add manifest_merger and manifest_values attributes to android_test to allow ↵Gravatar apell2017-05-10
| | | | | | | manifest placeholders to be used for test APKs. RELNOTES: android_test may use manifest placeholders with 'manifest_merger = "android"'. PiperOrigin-RevId: 155534958
* Introduce an EvaluationProgressReceiver implementation that does nothing.Gravatar nharmata2017-05-10
| | | | | | | | This is useful for dealing with all the existing implementations in the face of interface changes that are irrelevant. RELNOTES: None PiperOrigin-RevId: 155525021
* Fix some typos in best-practices doc.Gravatar janakr2017-05-10
| | | | PiperOrigin-RevId: 155521449
* Fix compileGravatar kchodorow2017-05-09
| | | | | | See breakage @ http://ci.bazel.io/view/Bazel%20bootstrap%20and%20maintenance/job/Bazel/JAVA_VERSION=1.8,PLATFORM_NAME=freebsd-11/1481/console. PiperOrigin-RevId: 155517063
* Add the upstream URLs for Azul Zulu to Bazel's WORKSPACE as a secondary source.Gravatar philwo2017-05-09
| | | | PiperOrigin-RevId: 155511878
* Clean up API for the Extension classGravatar brandjon2017-05-09
| | | | | RELNOTES: None PiperOrigin-RevId: 155507750
* Use BazelJavaSemantics for native Exoblaze and GoogleJavaSemantics for ↵Gravatar schmitt2017-05-09
| | | | | | | | | | | | | Exoblaze compatibility mode. The functional change in this CL is that java_mutable_proto library now uses the "correct" java semantics depending on which blaze it is installed in. This required some refactoring of the ExoblazeRulesModule and ExoblazeRuleClassProvider to make them able to have parameters (like java semantics). To simplify module installation this change also extracts strategy management from being in "rules" modules to their own modules. Now modules don't need to inherit from each other anymore but can be installed alongside each other. It seems to be impossible to test the compatibility mode in TAP: java_mutable_proto library requires both Linux binaries (Blaze itself) and macOS binaries (ijar) which cannot both be inputs to the test today. So instead I manually tested this change in both Exoblaze native and compatibility mode. RELNOTES: None. PiperOrigin-RevId: 155507096
* Make the cc_toolchain libc_top use the target configurationGravatar Googler2017-05-09
| | | | | | | The removes redundancy from the logic around calculating the sysroot (and was been a TODO since 2014!) RELNOTES: None PiperOrigin-RevId: 155506682
* Add a test that /proc works correctly in the sandboxGravatar Brian Silverman2017-05-09
| | | | | | | | | While investigating #1972, I wrote this test to evaluate a potential solution. This test caught the fact that the solution didn't work, which makes it valuable for future changes to the sandbox. Change-Id: I435e9b9543374554c09d8d7c0918c24d9dc8f19d PiperOrigin-RevId: 155500491
* sandbox: Use the SpawnInputExpander everywhere and delete SpawnHelpers.Gravatar Philipp Wollermann2017-05-09
| | | | | | | | | This unifies our code to use just one standard implementation to get the entire expanded input files for a Spawn, including from Filesets and Runfiles. Change-Id: I1e286508adf0a9aeddf70934b010e6fcc144c4a7 PiperOrigin-RevId: 155497273
* Automated g4 rollback of commit 56e8d90674a35ebe727f74cd2d47108bfcaa4515.Gravatar ulfjack2017-05-09
| | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Looks like it broke stuff - the presubmit bypass was added by accident. *** Original change description *** Add a custom interface for cache hit processing in actions The new interface mirrors ActionExecutionContext, but is restricted to exactly the parts used right now. I did consider using ActionExecutionContext, but it contains some parts that we don't want to make available for cache hits. The end goal is to allow the build event stream access to artifact metadata, in particular for TestResult and TestSummary events, which in turn requires making artifact metadata available when the TestRunnerAc... *** PiperOrigin-RevId: 155493797
* sandbox: Switch Darwin sandbox to the SymlinkedExecRoot strategy.Gravatar Philipp Wollermann2017-05-09
| | | | | | | | | | | Hardlinks are problematic due to not working across filesystem boundaries and causing Bazel to do lots of I/O because it has to create a hardlink and a symlink for each input file. This improves performance of Bazel building itself by 10% on my system. Change-Id: I8acb77053de875160a046e38624735ed18375bed PiperOrigin-RevId: 155493583
* sandbox: Use process-wrapper in addition to sandbox-exec on macOS.Gravatar Philipp Wollermann2017-05-09
| | | | | | | | | This gives us much improved process management, because Bazel can now reliably kill child processes of spawns via their process group and wait for them to exit. Change-Id: Ib3cb20725b3c569aa5b317a69d7682f5774707b0 PiperOrigin-RevId: 155493511
* BEP: Also report the configuration in testGravatar Klaus Aehlig2017-05-09
| | | | | | | | In multi-configuration builds, test can be run for different configurations as well. So we have to report the configuration for each test as well. Change-Id: I939cce7464823fbcd3c7161a50b41b94bbed8812 PiperOrigin-RevId: 155493397
* Add a custom interface for cache hit processing in actionsGravatar ulfjack2017-05-09
| | | | | | | | | | | | The new interface mirrors ActionExecutionContext, but is restricted to exactly the parts used right now. I did consider using ActionExecutionContext, but it contains some parts that we don't want to make available for cache hits. The end goal is to allow the build event stream access to artifact metadata, in particular for TestResult and TestSummary events, which in turn requires making artifact metadata available when the TestRunnerAction is a cache hit. PiperOrigin-RevId: 155492447
* Exclude the user-provided blazerc from the deduplication process.Gravatar lpino2017-05-09
| | | | PiperOrigin-RevId: 155491277
* BEP: report configurations for targetsGravatar Klaus Aehlig2017-05-09
| | | | | | | | | | | In multi-architecture builds, a target might be built several times, for the different architectures. Make the target completion events for those distinguishable by indicating the architecture for which the target was built. Also add the needed event for the expansion of a target to target-configuration pairs. Change-Id: I95ef2c81166077163dd686db4671f672160efe1d PiperOrigin-RevId: 155491076
* Change FileContentsProxy to use ctime instead of mtimeGravatar ulfjack2017-05-09
| | | | | | | | | This gives us better reliability for detecting file changes; especially in cases where tools intentionally do not update mtime. Fixes #1525. PiperOrigin-RevId: 155490849
* Fix link in bazel/bootstrap/compile.shGravatar hlopko2017-05-09
| | | | | RELNOTES: None PiperOrigin-RevId: 155489021
* sandbox: Remove debug logging in DarwinSandboxedStrategy.Gravatar Philipp Wollermann2017-05-09
| | | | | Change-Id: Idc023f3a8c1c3b60d3f3f23a579a5eccb92d074d PiperOrigin-RevId: 155487527
* sandbox: Precache writable directories in DarwinSandboxedStrategy.Gravatar Philipp Wollermann2017-05-09
| | | | | Change-Id: I1522c364a157ee0a144ab83eca54e419142c03b1 PiperOrigin-RevId: 155484109
* Do not mark the JDK7 installer -without-jdk-installerGravatar dmarting2017-05-09
| | | | | | | | | | Instead just mark it as a default installer when there is no installer with a bundled JDK. Fixes #2969 To be cherry-picked for #2692. PiperOrigin-RevId: 155483548
* RELNOTES: Effectively remove sysroot from CppConfiguration and allow it to ↵Gravatar Googler2017-05-09
| | | | | | use select statements. PiperOrigin-RevId: 155480011
* cpp: remove all code supporting kServerPidSymlinkGravatar Thiago Farina2017-05-09
| | | | | | | | By this time (6 months later) Bazel clients should no longer need this. Change-Id: Ib058065a0ff3eedc777e95c7d06602ca6744d42a PiperOrigin-RevId: 155478543
* sandbox: Remove special treatment for runUnderPath from Darwin sandbox.Gravatar Philipp Wollermann2017-05-09
| | | | | | | | There's no need to make it explicitly readable, because the entire host filesystem is readable anyway. Change-Id: I6a63cc93b600250c1c8828ef8d1c9d6133b671d7 PiperOrigin-RevId: 155477093
* Fix printing of options categories in CLI helpGravatar brandjon2017-05-09
| | | | | | | Before it was omitting category titles / section breaks if the first option of the new category happened to be undocumented. RELNOTES: None PiperOrigin-RevId: 155458981
* Optimize TransitiveInfoMap memory consumption.Gravatar Googler2017-05-09
| | | | | | Instead of using ImmutableMap, we share the keys between all provider maps with an identical key set. PiperOrigin-RevId: 155432135
* Restrict apple_watch2_extension "binary" attribute on the apple executable ↵Gravatar cparsons2017-05-09
| | | | | | | binary provider instead of the apple_binary rule. RELNOTES: None. PiperOrigin-RevId: 155430332
* Add missing hashCode() methodGravatar cushon2017-05-09
| | | | PiperOrigin-RevId: 155429568
* Avoid Preconditions failures when formatting messages for Preconditions ↵Gravatar janakr2017-05-09
| | | | | | failures. PiperOrigin-RevId: 155425839
* Handle labels with explicit repositories correctly in objc rules.Gravatar allevato2017-05-09
| | | | | | | | | | | | | | The `structured_resources` path stemming used by `objc_library` and `objc_bundle_library` no longer breaks if one of these rules tries to reference a label with an explicit repository prefix. Previously, using "@foo//bar:baz" in such a rule would fail because the individual files would retain their "external/foo/" prefix but the owner path against which those files were relativized would not have it because of the use of getPackageFragment() instead of getPackageIdentifier().getSourceRoot(). RELNOTES: None. PiperOrigin-RevId: 155409464
* Clean up AbstractQueueVisitor's constructors.Gravatar janakr2017-05-09
| | | | | | | | The "concurrent" bit was supposedly around for testing purposes, but who knows if it even works anymore. Making other callsites explicitly state their ErrorClassifier gets us down to two constructors, one of which can delegate to the other. I think having both these constructors is useful because there's a linkage between creating a new executor service and specifying that the AQV should shut down the service at the end of the visitation. And using a static create() method doesn't work because of AQV's inheritance model. PiperOrigin-RevId: 155406771
* Clean up Environment.FrameGravatar brandjon2017-05-09
| | | | | | | | | Make fields visibility/accessors more idiomatic. Prefer accessors that give a full map of the bindings and inherited bindings, rather than just the keys. Also increase visibility of some accessors on Mutability. RELNOTES: None PiperOrigin-RevId: 155393780
* Pass all the environment variable to Bazel during bootstrappingGravatar Damien Martin-Guillerez2017-05-09
| | | | | | | | | | | We might be using more environment variables that the actual list. To be cherry-picked for #2692. Fixes #2953. Change-Id: I9b926d48e14b2c65822770ab46f6507a5303c3d3 PiperOrigin-RevId: 155387369
* cpp: add PrintWarning() function to errors.hGravatar Thiago Farina2017-05-09
| | | | | | | | | It provides a single and clean way to output warning messages, and replaces the fprintf(stderr, "Warning: ...\n") or fprintf(stderr, "WARNING: ...\n") calls. Change-Id: I2f8a8f659085b9e57a08b5208a8b8f683a7cd72c PiperOrigin-RevId: 155386233
* java_common.create_provider now takes depsets )Gravatar Stephen Twigg2017-05-09
| | | | | | | | | | | | | | | | | | rjars = java_common.create_provider( compile_time_jars = depset(), runtime_jars = merged_runtime.transitive_runtime_deps, ) This avoids linearizing the runtime_deps (with the corresponding memory issues). Must be a JavaProvider for proper interaction with native rules but cannot just be a simple merge since runtime_deps should not contribute to compile of the dependent rules. Note, this will effect a change of the already-released API; however, function marked as undocumented in an experimental object.... Change-Id: I54542a5d57c75e762b2276e0a1988816901a0def PiperOrigin-RevId: 155384266
* Make AbstractQueueVisitor.getTaskCount publicGravatar mschaller2017-05-09
| | | | | RELNOTES: None. PiperOrigin-RevId: 155382994
* sandbox: Use CommandEnvironment for more robust look-up of embedded binaries.Gravatar Philipp Wollermann2017-05-09
| | | | | Change-Id: I1bc1901ea7cd9a5b93c280ec0ff8ac0d10959a09 PiperOrigin-RevId: 155381163
* Migrate off versioned javac and Error Prone targetsGravatar Liam Miller-Cushon2017-05-09
| | | | | Change-Id: Iad1e07ad55d5304d7c3dbb8bdab856728a91432d PiperOrigin-RevId: 155375893
* Automated g4 rollback of commit 48c636637a5a4fba1c0c509bdc3724450155d792.Gravatar aehlig2017-05-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Rollforward with fix To have stdout/stderr in the BuildEventStream, the BuildEventStreamerModule registers a listener that accumulates the values for the streamer to collect it and regularly send it over the stream. As we have to also catch stdout/stderr that happens early in the build, we have to register the listener before(!) the options are parsed; therefore it is registered unconditionally. Now, if there is no streamer created after parsing the options there is no one to collect the data and it grows indefinitely. Fix this, by disabling the collection in this case. *** Original change description *** Automated g4 rollback of commit 9e37b2e52d6e42eec15712942c7f208b64c651e5. *** Reason for rollback *** Results in NegativeArraySizeExceptions when there's a high volume of data. *** Original change description *** BEP: Report stdout/stderr By recording registering a properly synchronized OutErr as listener and providing it as OutErrProvider to the BuildEventStreamer. Change-Id: Id553fcdb85327be28561634268511304fcc2ad3f PiperOrigin-RevId: 155374710
* Enable jarjar-ing the Jacoco deploy jar on every supported platform.Gravatar lberki2017-05-08
| | | | | | | The bugs that broke this on Windows ( https://github.com/bazelbuild/bazel/issues/2306 and https://github.com/bazelbuild/bazel/issues/2342 ) have been fixed and FreeBSD has been bootstrapped so we can do this there, too. RELNOTES: None. PiperOrigin-RevId: 155371373