aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Recompile linkstamps whenever any input of the owning action changes.Gravatar hlopko2018-02-22
| | | | | | | | | | | Linkstamps were not re-built when only volatile data changed, i.e. when we modified cc_binary source, linkstamp was not recompiled so we got old timestamps. The proper behavior is to recompile linkstamp whenever any input to cc_binary linking action changes. And the implementation in this cl solves this by adding all linking inputs as inputs to linkstamp compile action. RELNOTES: None. PiperOrigin-RevId: 186595143
* Do not unconditionally add gcc3 as a system include directory for stlGravatar hlopko2018-02-22
| | | | | | | Fixes #3507. RELNOTES: None. PiperOrigin-RevId: 186595099
* Add a test verifying legitmate path embeddingGravatar Klaus Aehlig2018-02-22
| | | | | | | | | | While rules that want to be called from different repositories may not make any assumptions about locations of their dependencies, they still may embed path obtained via expansion of $(location ...) into their files. Add tests verifying that this behavior is preserved. Change-Id: Id71588b4c128c15926d9190db507c9085fd17653 PiperOrigin-RevId: 186591069
* Fix test name in fallback xml when --run_under is used.Gravatar Benjamin Peterson2018-02-22
| | | | | | | | | | | When --run_under is used, the run-under wrapper will be injected in front of the normal test command line. So, it's incorrect to use the beginning of the command line to infer the test name. However, we can always get the underlying test executable with the TEST_BINARY environmental variable. Rename TEST_NAME to EXE to avoid future confusion. Fixes https://github.com/bazelbuild/bazel/issues/4588. Change-Id: I6fd05cca5e5441c13ee16290c4028ec84adec983 PiperOrigin-RevId: 186590311
* Update javadoc for some headers and include dirs methods.Gravatar Benjamin Peterson2018-02-22
| | | | | | | Methods that return NestedSet shouldn't claim they may return duplicates or their return value will have any sort of meaningful order. Change-Id: I98f92ec6ddbf4d35fea47b12bcd072bb1b0f1e43 PiperOrigin-RevId: 186585490
* Do not expand depset twice and store expanded in ctx.actions.run inputs.Gravatar tomlu2018-02-21
| | | | | | | | | | | | | | Previously, when inputs is a depset, we'd: * Expand it to a collection, then * Expand it again and add it as a flat list to the input builder This would be square on both performance and analysis time memory. Note that we _still_ expand the depset once to try to see if any input is a tool. This will have to be fixed in a future CL. RELNOTES: None PiperOrigin-RevId: 186566243
* add ability to move individual core library methodsGravatar kmb2018-02-21
| | | | | | RELNOTES: None. PiperOrigin-RevId: 186565673
* PiperOrigin-RevId: 186532302Gravatar ahumesky2018-02-21
|
* Add basic equality checking for ErrorInfo and tighten the interface for ↵Gravatar shreyax2018-02-21
| | | | | | ErrorInfoManager. PiperOrigin-RevId: 186524034
* Automated rollback of commit 11cc89a27544311111473dc7a17522635c2b6e70.Gravatar eaftan2018-02-21
| | | | | | | | | | | | | | *** Reason for rollback *** Superceded by https://github.com/bazelbuild/bazel/commit/e734c479956df7a675c61f531d769609d3af3e5d *** Original change description *** JavaBuilder accepts a new --testonly argument to mark compilations of test code. Error Prone will use these to distinguish between test and production code, e.g. for enforcing @VisibleForTesting. PiperOrigin-RevId: 186520809
* Bugfix: spawn output directories are not passed to remote execution.Gravatar olaola2018-02-21
| | | | | | | | This bug was invisible to out tests, because our RemoteWorker will work regardless of whether the output was listed as a file or as a directory. TESTED=same tests RELNOTES: None PiperOrigin-RevId: 186518904
* Disable mobile-install classic mode for internal users.Gravatar Googler2018-02-21
| | | | | RELNOTES: None. PiperOrigin-RevId: 186513938
* Use a separate implicit dependency for dexbuilder in proguarded android buildsGravatar kmb2018-02-21
| | | | | | RELNOTES: None. PiperOrigin-RevId: 186511953
* Deflake ParallelEvaluatorTest.errorBubblesToParentsOfTopLevelValue: error ↵Gravatar janakr2018-02-21
| | | | | | cannot finish building until top registers a dep on it, and we can only know that by listening to the addReverseDep call. PiperOrigin-RevId: 186499232
* Add --experimental_fix_deps_tool to JavaBuilderGravatar Googler2018-02-21
| | | | | RELNOTES: None PiperOrigin-RevId: 186494122
* Set default of --incompatible_disable_glob_tracking to trueGravatar laurentlb2018-02-21
| | | | | RELNOTES: None. PiperOrigin-RevId: 186470386
* Don't register linkstamp compile actions when we're doing thinlto indexing stepGravatar hlopko2018-02-21
| | | | | RELNOTES: None. PiperOrigin-RevId: 186456188
* C++: Migrate CcCompilationInfo to NativeInfoGravatar plf2018-02-21
| | | | | | | | The old TransitiveInfoProvider is deprecated. Providers used from Skylark should use NativeInfo as specified in[] RELNOTES:none PiperOrigin-RevId: 186447814
* C++: Renames CppCompilationContext to CcCompilationInfoGravatar plf2018-02-21
| | | | | | | This is in preparation for migrating to the new way of specifying providers as described in[] RELNOTES:none PiperOrigin-RevId: 186436462
* Clean up test tag handlingGravatar ulfjack2018-02-21
| | | | PiperOrigin-RevId: 186427907
* Apply interface invocation desugaring to renamed core libraries. Fix ↵Gravatar kmb2018-02-20
| | | | | | | | invokespecial invocations for core interfaces. RELNOTES: None. PiperOrigin-RevId: 186404206
* Internal changeGravatar felly2018-02-20
| | | | PiperOrigin-RevId: 186397865
* Deletes POLYMORPHIC strategy. ObjectCodec now uses runtime type information ↵Gravatar shahan2018-02-20
| | | | | | to select a codec. PiperOrigin-RevId: 186378153
* In TransitiveBaseTraversalFunction, only process the deps once we have all ↵Gravatar shreyax2018-02-20
| | | | | | the information we need. It is a waste of CPU time otherwise as we will just lose the state. Note that we don't pass the env directly into the processDeps function so this wasn't a skyframe restart optimization. Also, none of the state recorded in the processDeps for the direct label deps is used in computing the aspect deps, as we immediately call targetAndErrorIfAny#getTarget. PiperOrigin-RevId: 186373573
* Tool that scans a given Jar for references to select classes and outputs ↵Gravatar kmb2018-02-20
| | | | | | | | corresponding Proguard-style -keep rules RELNOTES: None. PiperOrigin-RevId: 186372769
* Update --flaky_test_attempts to also take a repeatable argument of the formGravatar jcater2018-02-20
| | | | | | | | | regex@attempts, similarly to --runs_per_test. Also re-arrange some option converters to be closer to their options. RELNOTES: flaky_test_attempts supports the regex@attempts syntax, like runs_per_test. PiperOrigin-RevId: 186358437
* Adds ObjectCodecRegistry to {Des|S}erializationContext.Gravatar shahan2018-02-20
| | | | | | | | | | | | * AutoCodec now delegates to the registry. * Adds getSuperclass logic for resolving a codec. * Small cleanups for classes that break the registry. TODO after this change: * Explicit CODEC definitions are no longer needed and existing ones should be cleaned up. * POLYMORPHIC is no longer be needed and should be cleaned up. PiperOrigin-RevId: 186351845
* Some autocodec changes required to serialize SpawnAction: double field and ↵Gravatar cpeyser2018-02-20
| | | | | | CharSequence fields. PiperOrigin-RevId: 186323424
* Inject the product name in the constructor where neededGravatar ulfjack2018-02-20
| | | | | | ...instead of passing it everywhere so we can rewrite the local env. PiperOrigin-RevId: 186316859
* Serialize MiddlemanAction and add strategy=Strategy.Polymorphic for Action andGravatar mjhalupka2018-02-20
| | | | | | AbstractAction. PiperOrigin-RevId: 186316435
* @AutoCodec some c++ linking data structures.Gravatar cpeyser2018-02-20
| | | | PiperOrigin-RevId: 186314781
* Decprecate native http_archiveGravatar Klaus Aehlig2018-02-20
| | | | | | | | | | | | | | | Since the skylark implementation of http_archive provides all the features available in the native http_archive and a few more (patching), there is no need to have to rule implementations doing the same thing. Hence deprecate the native one as part of our plan of moving more functionality to skylark. RELNOTES: The native http_archive rule is deprecated. Use the Skylark version available via load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") instead. Change-Id: I107c2f25f5a37c67f56b4362e7c9d9ade8428c16 PiperOrigin-RevId: 186314624
* External repositories: document label expansionGravatar Klaus Aehlig2018-02-20
| | | | | | | | | | Add a test demonstrating how a repository can provide a rule with an implicit dependency on a target in its own repository in a way that works both, locally and remotely without the need to know the name of the repository the rule resides in. Change-Id: I2446be1ba16a382576800f8141da17331e64f8b1 PiperOrigin-RevId: 186314462
* Roll forward of ↵Gravatar olaola2018-02-20
| | | | | | | | | | | | | | | | | | https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba1b52bcac5a3ff942029 (https://github.com/bazelbuild/bazel/commit/3904ac33a983fd8faebba1b52bcac5a3ff942029). Fix #4625 by running the test process in a sub-shell. Apparently, nested background processes interfere with SIGINT handling in bash. I don't 100% understand why and how, but I do have a small bash script that demonstrates the problem: script A that spawns a background process, sends it a SIGINT, and verifies it was received. The script works, *unless* run in the background by a process B; this extra layer of backgrounding cause process A's logic to stop working. See experimental/users/olaola/shell/ for examples. See also https://stackoverflow.com/questions/48847722/nested-background-processes-and-sigint-handling *** Original change description *** Fixing test-setup.sh occasionally missing stdout/stderr, on systems where "tail --pid" is supported. The solutions aren't mine, the new test was taken from Ola's unknown commit and the way to avoid race condition courtesy of sethkoehler@ Mitigates #4608 for compatible Linux systems. TESTED=presubmits, manual shell tests on new bazel RELNOTES: None PiperOrigin-RevId: 186312008
* Fix env for local fallback (from remote exec) on Windows and LinuxGravatar ulfjack2018-02-20
| | | | PiperOrigin-RevId: 186309181
* Fix typo in cache download failure warningGravatar Alex Ryan2018-02-20
| | | | | | Closes #4646. PiperOrigin-RevId: 186301842
* Improve some of the names in CommandLine.Gravatar tomlu2018-02-20
| | | | PiperOrigin-RevId: 186298405
* Add linter check for deprecated ctx methods.Gravatar laurentlb2018-02-20
| | | | | RELNOTES: None. PiperOrigin-RevId: 186297559
* Bazel client: remove dead codeGravatar Laszlo Csomor2018-02-20
| | | | | | | | | Remove the static kAsciiPropertyBits data from strings.cc and replace its only reference with simpler code. Change-Id: I95fb12b7d4bca4589ae64603b63019ee6e12bfc2 PiperOrigin-RevId: 186295165
* Accept proto paths relative to proto_source_root as direct dependencies.Gravatar elenairina2018-02-20
| | | | | | | | | | | This will make protoc see as direct dependencies the .proto files that were included using the proto_source_root flag. Until now, Bazel passed to protoc the direct dependencies of a target as the path relative to the WORKSPACE, which made it fail when a shorter path, relative to the package was used. Progress on #4544. RELNOTES: None. PiperOrigin-RevId: 186294997
* Provide a hacky way to get an ActionInput from BinToolsGravatar ulfjack2018-02-20
| | | | | | | | | | | | We have two places in internal code that require an ActionInput for an embedded tool. The embedded tool is currently not declared as an input to the corresponding actions, which in turn causes the remote execution to stat the file directly through SingleBuildFileCache. I'm working on removing SingleBuildFileCache, so this needs to be solved. This is the quick-and-dirty fix. A more principled fix might be to check in the relevant tools instead of embedding them into Bazel, but it's also significantly more work. PiperOrigin-RevId: 186292203
* Propagating whether there was a cache hit in the SpawnResult.Gravatar olaola2018-02-20
| | | | | | | | So far, nobody uses it, but I want to start using this field soon. TESTED=unit test RELNOTES: None PiperOrigin-RevId: 186290375
* Add additional tests for Filesets with symlinksGravatar ulfjack2018-02-20
| | | | | | | | | - Make sure that we correctly resolve symlinks starting with ./ and ../. This is currently failing, although it's working at head. From my reading, https://github.com/bazelbuild/bazel/commit/a729b9b4c3d7844a7d44934bf3365f92633c0a60 changes PathFragment.getRelative to always normalize the return value, which it wasn't doing before. PiperOrigin-RevId: 186289431
* http_archive: allow parameter for a single URLGravatar Klaus Aehlig2018-02-20
| | | | | | | | | | | ...to ease transition from the native http_archive rule. In this way, switching from the native http_archive rule to the skylark one literally is only adding load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") Change-Id: I0d3a16ad9ab046b975ea64c97dd201e7a9d70a6a PiperOrigin-RevId: 186285020
* Route fdo logic that deals with the path to the fdo profile through ↵Gravatar Googler2018-02-20
| | | | | | | | | | CcToolchainProvider As --fdo_optimize can point to a label, the path to the fdo profile can not be reliably determined in CppConfiguration. In order to enable the fdo features (which depend on the path to the fdo profile), the logic from CppConfiguration.configurationEnabledFeatures() has been moved to CcCommon.configureFeatures(). The latter method has access to the fdo profile path through CcToolchainProvider. RELNOTES: None. PiperOrigin-RevId: 186278311
* Fix jgit related documentation of new_git_repositoryGravatar aehlig2018-02-20
| | | | | RELNOTES: None. PiperOrigin-RevId: 186272858
* External repositories: document legitimate path assumptionsGravatar Klaus Aehlig2018-02-20
| | | | | | | | | | | | | | | | | | | | | | Add a series of tests verifying the assumptions about execroot layout a user or rule author may rely on. This serves a double purpose: one the one hand, we verify that these legitimate assumptions stay stable, on the other hand, we document what assumptions may be made with the implicit understanding that anything not asserted may change in the future without warning. This patch brings the first set of legitimate assumptions, those about path that may unconditionally be used. - Each target may refer to true source files in its own repository via paths relative to its repository root. - A library can be #inlcude'd via path relative to the root of the repository it resides in. In a follow-up patch, the legitimate assumptions about the portability of paths obtained from Skylark will be documented. Change-Id: I6d91fa4e6e3e2e8040a778fe07425bdd8532b94b PiperOrigin-RevId: 186272067
* runfiles,test: prepare for cc runfiles libraryGravatar Laszlo Csomor2018-02-20
| | | | | | | | | | | Refactor the runfiles library tests so adding the upcoming C++ runfiles library's tests will be easy. See https://github.com/bazelbuild/bazel/issues/4460 Change-Id: Ib52a0ae1f20cc870fa1d45a15644ae1666600be2 PiperOrigin-RevId: 186268961
* Add JavaSemantics to JavaToolchain.Gravatar dbabkin2018-02-19
| | | | | RELNOTES:none PiperOrigin-RevId: 186220581
* Pass short proto path before the long path to protoc.Gravatar elenairina2018-02-19
| | | | | | | Progress on #4544. RELNOTES: None. PiperOrigin-RevId: 186217057