aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
Commit message (Collapse)AuthorAge
* Set Xcode version as a feature when building Objective-CGravatar bbaren2018-07-02
| | | | | | | | | | Add a new standard feature set to the Xcode version being used for compilation. (The feature is named `xcode_VERSION`, where `VERSION` is at least a two-component version number; `xcode_9.0` and `xcode_9.2` are both possible values.) This provides CROSSTOOL authors a mechanism to deploy compiler flags supported only in certain Xcode versions. PiperOrigin-RevId: 203000420
* Allow uniquifiers to throw QueryExceptions.Gravatar shreyax2018-07-02
| | | | | RELNOTES: None. PiperOrigin-RevId: 202961077
* remote: limit number of open tcp connections by default. Fixes #5491Gravatar buchgr2018-07-02
| | | | | | | | | | | | | | | | This change limits the number of open tcp connections by default to 100 for remote caching. We have had error reports where some use cases Bazel would open so many TCP connections that it crashed/ran out of sockets. The max. number of TCP connections can still be adjusted by specifying --remote_max_connections. See also #5047. RELNOTES: In remote caching we limit the number of open TCP connections to 100 by default. The number can be adjusted by specifying the --remote_max_connections flag. PiperOrigin-RevId: 202958838
* C++: Exposes C++ Skylark providers to BazelGravatar plf2018-07-02
| | | | | RELNOTES:none PiperOrigin-RevId: 202943806
* Set the start time of binary and JSON profiles to zero correctly.Gravatar lberki2018-07-02
| | | | | | | Also correct for buggy profiles written previously. RELNOTES: None. PiperOrigin-RevId: 202920255
* Relax the threshold for calling getDigestInExclusiveMode().Gravatar Googler2018-07-02
| | | | | | | | | If the policy goal is to minimize disk seeks, this should be equally good. Second attempt, with test update. RELNOTES: None. PiperOrigin-RevId: 202907857
* Make RepositoryName comparison case-insensitive on WindowsGravatar pcloudy2018-07-02
| | | | | | | Fixed https://github.com/bazelbuild/bazel/issues/5485 RELNOTES: None PiperOrigin-RevId: 202903823
* Use const char a[] if sizeof is used to get lengthGravatar Loo Rong Jie2018-07-02
| | | | | | | | | | | | `memcmp(msys_display_name, value, sizeof(msys_display_name)` try to get length of `msys_display_name` with `sizeof`, but `msys_display_name` is declared as `const char*` pointer, so `sizeof` will return the size of pointer (8-bytes) instead of actual length of string. Declare string as `const char msys_display_name[]` will fix this. Found by Clang's `-Wsizeof-pointer-memaccess`. /cc @dslomov Closes #5476. PiperOrigin-RevId: 202903566
* Add a flag to disable the parts of the Skylark API of the C++ configuration ↵Gravatar lberki2018-07-02
| | | | | | | | | that depend on BUILD/CROSSTOOL files. Also add @Deprecated tags for these methods and extract CppConfigurationSkylarkTest in a separate class so that it actually gets run (followup change with the explanation a-coming) RELNOTES: None. PiperOrigin-RevId: 202903559
* Native Skyframe support for node restartingGravatar mschaller2018-07-01
| | | | | | | | | | | | Useful for attempting to recover relationships between Skyframe graph state and external systems, when the evaluation of a Skyframe node has the side effect of creating that relationship. Currently, only supported in graph evaluations when reverse dependency edges are not tracked. RELNOTES: None. PiperOrigin-RevId: 202892953
* Restart node building if previous dep is dirty, fix check-then-act racesGravatar mschaller2018-07-01
| | | | | | | | | | | | | | | | | | | | | | While initializing the SkyFunctionEnvironment for a node being built, if a previously requested dep is found to be not done, reset and re-enqueue the building node. This lets the node handle the not-done dep like any other not-done dep (e.g. by enqueuing it or by waiting to be signalled by it). Similarly, while registering newly requested deps when building a node yields a value or an error, if a newly requested dep is found to be not done, return without completing the node, so that it may be signalled by the dep (without crashing; done nodes cannot be signalled). Also fixes a handful of remaining check-then-act races during Skyframe evaluation that were vulnerable to done->dirty node transitions. (Note that done->dirty node transitions during evaluation are planned, but not yet possible.) RELNOTES: None. PiperOrigin-RevId: 202886360
* Fix comment re: keep-going eval of SkyFunctions in error w undone depsGravatar mschaller2018-06-29
| | | | | | | | The ParallelEvaluator doesn't let such a SkyFunction complete; it has no control over whether the SkyFunction throws. RELNOTES: None. PiperOrigin-RevId: 202743267
* Refactor TemplateExpansionAction so that various strategies can be used to ↵Gravatar kush2018-06-29
| | | | | | | | | implement it. Also clarify the behavior of the expand_template API in the presence of multiple-substitutions. RELNOTES: None PiperOrigin-RevId: 202719656
* Debug server: retrieve nested frame bindings tree lazily.Gravatar brendandouglas2018-06-29
| | | | | TYPE_CHANGE_OK=Proto hasn't yet been used PiperOrigin-RevId: 202705882
* Deletes AutoCodec.PUBLIC_FIELDS strategy. Superseded by DynamicCodec.Gravatar shahan2018-06-29
| | | | PiperOrigin-RevId: 202704472
* Remove support for exporting deps of android_binary rulesGravatar cushon2018-06-29
| | | | PiperOrigin-RevId: 202703621
* Make the warning to use http_archive over git_repository bold, and ↵Gravatar dannark2018-06-29
| | | | | | | un-italicize the rest of the docs. RELNOTES: None PiperOrigin-RevId: 202703376
* Create and integrate JavaBootstrap, and use fake top-level Java skylark ↵Gravatar cparsons2018-06-29
| | | | | | | objects for Skydoc. RELNOTES: None. PiperOrigin-RevId: 202697176
* bep: Make the BuildEventArtifactUploader async.Gravatar buchgr2018-06-29
| | | | | | | | | | This changes the BuildEventArtifactUploader to an async interface, thereby no longer potentially delaying event delivery over the eventbus. Additionally, the BES transport is changed to start uploading local files immediately as the events are delivered. RELNOTES: None PiperOrigin-RevId: 202694121
* Javadoc that generic1 doesn't actually do what you'd expectGravatar brandjon2018-06-29
| | | | | RELNOTES: None PiperOrigin-RevId: 202692405
* Add an interner to LineNumberTable for during deserialization.Gravatar mjhalupka2018-06-29
| | | | PiperOrigin-RevId: 202690640
* Add cc_common top-level skylark object to fakebuildapi.Gravatar cparsons2018-06-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 202690562
* Fix asymmetric progress receiver state trackingGravatar mschaller2018-06-29
| | | | | | | | | The "elapsedTimeNanos > 0" conditional is highly likely to always be true, but if not, the progress receiver won't receive an "ending" event for the "compute" state. RELNOTES: None PiperOrigin-RevId: 202687683
* Remove outdated TODOGravatar cparsons2018-06-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 202685157
* Add basic android classes to fakebuildapiGravatar cparsons2018-06-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 202677272
* Adding a check to remote execution to ensure the result from the server has aGravatar Googler2018-06-29
| | | | | | | | non-empty set of output files. This would catch a degenerate case when for some reaon an empty was returned. RELNOTES: None. PiperOrigin-RevId: 202672729
* Reuse previously stored SkyValues during event/post collectionGravatar mschaller2018-06-29
| | | | | | | | | | | | | | | | | | | | | | | If a SkyFunction read a value (or its absence) from the graph during its evaluation, that value will be used to compute the event and post metadata for that evaluation. This CL modifies the assertion strategy for this code. Previously, registered deps which were not done would have gone undetected, and their events/posts skipped. This CL also makes a few minor changes that make SkyFunctionEnvironment more consistent: - Deps not already in previouslyRequestedDepsValues are added to newlyRequestedDeps regardless of whether evaluation was in error bubbling or whether the dep was done. - Previously requested deps of an inflight node are prefetched (by passing them to SkyFunctionEnvironment's ctor) during error bubbling in the same way as they are during normal eval or cycle checking. - Minor signature and documentation adjustments. RELNOTES: None. PiperOrigin-RevId: 202672709
* C++: Adds ctx to cc_link_params creation.Gravatar plf2018-06-29
| | | | | | | | | | This is done so that we can check whether the current target can use the C++ Skylark API. Rolling forward: BlazeInvocationPolicy is not used in host configuration. We simply ignore host configuration and not give an error when we are building there. RELNOTES:none PiperOrigin-RevId: 202652552
* [java_common.compile] Always generate a source jar.Gravatar elenairina2018-06-29
| | | | | | | | | | | | | | | [Rolling forward https://github.com/bazelbuild/bazel/commit/c4e128e2c6d8cacaeba034d6a3195796d50f1745] java_common.compile doesn't generate the output source jar when a source jar is the only input for the compilation. This is wrong because the source jar can include APT generated sources. It is also inconsistent with java_library and leads to inconsistent Skylark rules where a declared output will not always have a generating action. This new behavior is guarded by a new flag --incompatible_generate_javacommon_source_jar. RELNOTES: None. PiperOrigin-RevId: 202648346
* Automatic ClangTidyReadability code cleanup.Gravatar Googler2018-06-29
| | | | PiperOrigin-RevId: 202644968
* Eliminates unnecessary comparisons in ActionInputMap.resize.Gravatar shahan2018-06-29
| | | | PiperOrigin-RevId: 202644128
* Automated rollback of commit 908682a743d5a1c31b17bc199f9003a6b00114b8.Gravatar mstaib2018-06-29
| | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks tests: b/110978519 *** Original change description *** C++: Adds ctx to cc_link_params creation. This is done so that we can check whether the current target can use the C++ Skylark API. RELNOTES:none PiperOrigin-RevId: 202643988
* Add fake build API implementations for config, platform, repository, and ↵Gravatar cparsons2018-06-29
| | | | | | | test packages. RELNOTES: None. PiperOrigin-RevId: 202642995
* Add a null-check to Whitelist handlingGravatar cushon2018-06-29
| | | | PiperOrigin-RevId: 202642497
* C++: Adds ctx to cc_link_params creation.Gravatar plf2018-06-29
| | | | | | | | This is done so that we can check whether the current target can use the C++ Skylark API. RELNOTES:none PiperOrigin-RevId: 202632582
* Make JDK version check more robust.Gravatar Googler2018-06-28
| | | | | | | The current logic could fail due to StringIndexOutOfBoundsException because of calling version.substring(0, -1). The system property "java.version" could be a single integer that does not contain dot. RELNOTES: None PiperOrigin-RevId: 202578981
* Store SkyValues for new deps from the graph intra-environmentGravatar mschaller2018-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | This ensures that if a SkyFunction read a value (or its absence) for a dep during its evaluation, subsequent requests for that dep's value (or its absence) provide the same result. This does not yet necessarily apply to the process of collecting events and posts from a node's deps, which will be considered in a future refactoring. This CL adds SkyFunctionEnvironment#removeUndoneNewlyRequestedDeps because the prior strategy for removing undone deps for done parents, by re-requesting the dep's node from the graph and checking its doneness, could lead to deps being dropped from parents if those deps transitioned from done to dirty as the parent completes. Minor cleanup to the bubbleErrorInfo field, which is nullable, and now documented. (Note that done->dirty node transitions during evaluation are planned, but not yet possible.) RELNOTES: None. PiperOrigin-RevId: 202577098
* [Skylark] Allow tuples as first argument of str.{starts,ends}withGravatar Yannic Bonenberger2018-06-28
| | | | | | | | Closes #5307 Closes #5455. PiperOrigin-RevId: 202567483
* Implement imports (via load()) in Skydoc.Gravatar cparsons2018-06-28
| | | | | | | Skydoc will generate documentation for all rule definitions in the transitive dependencies of the given input file. RELNOTES: None. PiperOrigin-RevId: 202553088
* Add rudimentary apple-related classes to fakebuildapi.Gravatar cparsons2018-06-28
| | | | | | | These fakes won't behave at all like real implementations at this time. In fact, invoking some of their methods (or accessing their fields) may result in an error. This serves, however, as the initial check-in which can be iterated on and improved later. RELNOTES: None. PiperOrigin-RevId: 202525168
* Remove --allow_undefined_configsGravatar ccalvarin2018-06-28
| | | | | RELNOTES: --[no]allow_undefined_configs no longer exists, passing undefined configs is an error. PiperOrigin-RevId: 202518987
* Convert directDeps to a map of SkyValuesGravatar mschaller2018-06-28
| | | | | | | | | | | | | | | | | | | | SkyFunctionEnvironment only cares about directDeps' values, not other NodeEntry data. This reduces the space of code which could be sensitive to nodes which transition from done to dirty during evaluation. To prevent check-then-act races in the refactored code (and only there; other code will be fixed in future refactorings), instead of checking deps' isDone() methods before accessing their value, allow getValueMaybeWithMetadata to be called when not done, and have it return null when not done. (Note that done->dirty node transitions during evaluation are planned, but not yet possible.) RELNOTES: None. PiperOrigin-RevId: 202518781
* Fix link to toolchains to work properly.Gravatar jcater2018-06-28
| | | | PiperOrigin-RevId: 202514441
* Short-circuit done node dep registration when no new depsGravatar mschaller2018-06-28
| | | | | | | | The short-circuiting code was pulled into the !keepGoing conditional block inadvertently. RELNOTES: None. PiperOrigin-RevId: 202505510
* Deduplicate loose paths much earlier so that they create smaller nested setsGravatar Googler2018-06-28
| | | | | | and avoid needlessly copying lists. PiperOrigin-RevId: 202504396
* Split common functionality out of ConfiguredTargetQueryEnvironment.Gravatar twerth2018-06-28
| | | | | | | This will allow us to reuse the code for the action graph query in a later CL. RELNOTES: None PiperOrigin-RevId: 202500176
* Require @SkylarkCallable parameters to be explicitly specified.Gravatar cparsons2018-06-28
| | | | | | | | | | This will be enforced by annotation processor. This will be followed up, along with turndown of mandatoryPositionals, by removing the intepreter code which infers the correct number and type of parameters. RELNOTES: None. PiperOrigin-RevId: 202499089
* Change label from //tools/defaults:java_toolchain to //tools/jdk:toolschainGravatar dbabkin2018-06-28
| | | | | RELNOTES:none: PiperOrigin-RevId: 202491609
* Change label from //tools/defaults:crosstool to //tools/cpp:crosstool",Gravatar dbabkin2018-06-28
| | | | | | RELNOTES:none PiperOrigin-RevId: 202483718
* Delete some more LIPO crumbs.Gravatar Benjamin Peterson2018-06-28
| | | | | | | Closes #5478. Change-Id: I3ac44605ef16a7c2e6bdc63d26fdf968bef651aa PiperOrigin-RevId: 202482493