aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
Commit message (Collapse)AuthorAge
* Replace LegacySkyKey by AbstractSkyKey or custom SkyKeys. AbstractSkyKey ↵Gravatar janakr2018-03-02
| | | | | | | | doesn't save memory in the 32-bit case, but makes it easier for people to see how many SkyKeys we have. There's some unnecessary interning in tests, but it was easier to copypasta and doesn't harm anything, I think. PiperOrigin-RevId: 187694309
* BEP: Add a --build_event_publish_all_actions flag to allow all actions to be ↵Gravatar ruperts2018-03-02
| | | | | | | published via the BEP, instead of only publishing failed actions and extra actions. RELNOTES: Add a --build_event_publish_all_actions flag to allow all actions to be published via the BEP. PiperOrigin-RevId: 187683799
* Optimize GC usage of iterating over all elements of GroupedLists when we ↵Gravatar shreyax2018-03-02
| | | | | | don't care about the group structure, and simplify the logic for prefetching old deps. PiperOrigin-RevId: 187681887
* @AutoCodec for ConfigurationTransition subclasses.Gravatar shahan2018-03-02
| | | | | | Needed for Attribute serialization. PiperOrigin-RevId: 187676061
* Fix stray ')' in RecursivePkgKey toStringGravatar mschaller2018-03-02
| | | | | RELNOTES: None. PiperOrigin-RevId: 187671277
* Add Android NDK r16 support for Bazel.Gravatar jingwen2018-03-02
| | | | | | | | | | | | | | | | | | | | | | | | Changelog: https://android.googlesource.com/platform/ndk/+/ndk-release-r16/CHANGELOG.md > The deprecated headers have been removed. Unified Headers are now simply The Headers. Support for this was added in r15. > libc++ is out of beta and is now the preferred STL in the NDK. Starting in r17, libc++ is the default STL for CMake and standalone toolchains. If you manually selected a different STL, we strongly encourage you to move to libc++. For more details, see this blog post. We bind the default `//external:android/crosstool` in AndroidNdkRepositoryRule before the repository function is evaluated, so changing the default STL will affect the older NDK revisions too. Until we have a new mechanism to specify the default crosstool, users will need to use `--android_crosstool_top=@androidndk//:toolchain-libcpp` to use `libc++`. > GCC, armeabi, mips, mip64 are deprecated but still buildable/useable. We can remove support for these in the r17 configuration. There are no other actionable differences between r15 and r16, so we can reuse the r15 configuration for r16. RELNOTES: Added Android NDK r16 support. Use --cxxopt='-std=c++11` compile with the C++11 standard, and `--android_crosstool_top=@androidndk//:toolchain-libcpp` to use the `libc++` STL. Fixes https://github.com/bazelbuild/bazel/issues/4068 PiperOrigin-RevId: 187664390
* Add Android NDK r15 support for Bazel.Gravatar jingwen2018-03-02
| | | | | | | | | | | | | | | | | | | | | NDK15 changelog: https://android.googlesource.com/platform/ndk/+/ndk-r15-release/CHANGELOG.md Notable changes for this CL: - Clang has been updated to v5.0.300080. - android-9 is not supported anymore. Anything lower than android-14 will default to android-14. - NDK sysroot has been changed to %ndk%/sysroot - Requires additional compilation flags because the headers are now unified in a single location across archs and API levels Also removed NDK 10 checks in integration tests because it is old and we don't test against that anymore. Fixes https://github.com/bazelbuild/bazel/issues/3137 Paves the way for r16: https://github.com/bazelbuild/bazel/issues/4068 RELNOTES[NEW]: Added Android NDK r15 support, including compatibility with Unified Headers. PiperOrigin-RevId: 187648715
* Revamp docs for ctx.outputsGravatar brandjon2018-03-02
| | | | | | | Explain the deprecation of ctx.outputs.executable. RELNOTES: None PiperOrigin-RevId: 187640408
* Revamp discussion of executable/test rulesGravatar brandjon2018-03-02
| | | | | | | Rewrite that part of rules.md and update rule() docs. Also clarify the Action object's docs to put it in context. RELNOTES: None PiperOrigin-RevId: 187636896
* @AutoCodec ConfiguredTargetValue.Gravatar cpeyser2018-03-02
| | | | PiperOrigin-RevId: 187635570
* Add execution platform information to the action key.Gravatar John Cater2018-03-02
| | | | | | | | | | Needed so that actions are properly invalidated and re-run when the platform's remote execution properties change. Fixes #4756. Closes #4728. Change-Id: Ia227d110c10c9aad2164cefa8a90361cc4359332 PiperOrigin-RevId: 187621349
* Allow cc_toolchain to have inline proto toolchain data, instead of using ↵Gravatar John Cater2018-03-02
| | | | | | | crosstool top. Change-Id: I531034b0c991d18b05818db4b40cbd739535b565 PiperOrigin-RevId: 187617580
* Add option to filter for targets in the action graph dump.Gravatar twerth2018-03-02
| | | | | RELNOTES: Use bazel dump --action_graph=/path/to/action.proto --action_graph:targets://foo:bar,//foo:foo to filter for certain targets in the action graph dump. PiperOrigin-RevId: 187608321
* C++: Exposes to Skylark basic API functionalityGravatar plf2018-03-02
| | | | | RELNOTES:none PiperOrigin-RevId: 187591225
* Make JavaCompileAction and friends emit new-style arguments.Gravatar tomlu2018-03-01
| | | | | | | | | Instead of --direct_dependency, --indirect_dependency args we now emit --direct_dependencies. We no longer need to emit any jar owner information since that is baked into the jar by JavaBuilder. This CL also contains the deletion of CustomMultiArgv and the injecting_rule_kind aspect parameter, as the deleted code was the last remaining usage. RELNOTES: None PiperOrigin-RevId: 187558628
* Create --incompatible_disable_objc_provider_resources to disable deprecated ↵Gravatar cparsons2018-03-01
| | | | | | | | | objc provider skylark fields. This flag is not fully implemented -- there should also be a way to disable the provider getters using this flag, but, since @SkylarkCallable does not allow for evaluation of SkylarkSemantics, this is not yet possible. RELNOTES: None. PiperOrigin-RevId: 187542004
* Add target name to android_device boot step action.Gravatar ajmichael2018-03-01
| | | | | RELNOTES: None PiperOrigin-RevId: 187539005
* Migrate a few trivial uses of @SkylarkSignature to use @SkylarkCallable insteadGravatar cparsons2018-03-01
| | | | | RELNOTES: None. PiperOrigin-RevId: 187531006
* Add AndroidDex2OatInfo to Skylark.Gravatar Googler2018-03-01
| | | | | RELNOTES: None PiperOrigin-RevId: 187530224
* Migrate some users of useAst to useLocationGravatar cparsons2018-03-01
| | | | | | | (It's good to avoid passing around more information than one needs, and FuncallExpression is pretty heavy when only a Location is necessary) RELNOTES: None. PiperOrigin-RevId: 187529568
* Remove hacky cast now that Copybara is updated to use GlobalFrameGravatar nharmata2018-03-01
| | | | | | | (https://github.com/google/copybara/commit/77a0e68eb0b044449b412e939ad25d500d2c12d3). RELNOTES: None PiperOrigin-RevId: 187525928
* Introduce a specific action_config for linking nodeps dynamic librariesGravatar hlopko2018-03-01
| | | | | | | | | | | | | With this cl toolchain author can specify different flags for linking shared library produced by cc_library and a shared library produced by cc_binary. This is what is needed to remove linking_mode_flags - MOSTLY_STATIC_LIBRARIES from the crosstool. What this linking mode was used for was to separate when we link transitive shared library from cc_binary and when we link this little-and-not-really-useful-outside-of-bazel nodeps shared library in cc_library. RELNOTES: CcToolchain: Introduced action_config for "c++-link-transitive-dynamic-library" PiperOrigin-RevId: 187523334
* Make the distinction between "global frame" and "lexical frame" explicit. As ↵Gravatar nharmata2018-03-01
| | | | | | | a nice consequence, this lets us reduce GC churn since we no longer need to create a frame instance for the lexical frame at a callsite of either a function when the environment is frozen or a builtin function (since builtins cannot modify bindings in their lexical frame). RELNOTES: None PiperOrigin-RevId: 187495787
* Fixing issue with external j2objc protosGravatar Mike Lewis2018-03-01
| | | | | | | | | | | | | | | | | | | | | | | The output files are created without a repository, but the expected filenames have them This resolves issues when having a proto_library from an external build file. This seems to be a regression, so maybe should go into the 0.8.0 branch? Note: Work at Square and we have a signed CLA with google Note, without this fix we get errors like ``` ERROR: /private/var/tmp/_bazel_lewis/4a25cfc2b9b758043413ac58525ef6b4/external/AllProtos/BUILD.bazel:27:1: output 'external/AllProtos/squareup/objc/objc.j2objc.pb.m' was not created ERROR: /private/var/tmp/_bazel_lewis/4a25cfc2b9b758043413ac58525ef6b4/external/AllProtos/BUILD.bazel:27:1: output 'external/AllProtos/squareup/objc/objc.j2objc.pb.h' was not created ``` Closes #4058. PiperOrigin-RevId: 187480864
* Remove --incompatible_load_argument_is_label flagGravatar laurentlb2018-03-01
| | | | | | RELNOTES: Removed flag `--incompatible_load_argument_is_label`. PiperOrigin-RevId: 187479614
* Fix invocation policy's handling of the null default when filtering values.Gravatar ccalvarin2018-03-01
| | | | | | | For a filter on option values (either by whitelist, allow_values, or blacklist, disallow_values), one of the options for what to do when encountering a disallowed value is to replace it with the default. This default must be itself an allowed value for this to make sense, so this is checked. This check, however, shouldn't apply to flags that are null by default, since these flags' default value is not parsed by the converter, so there is no guarantee that there exists an accepted user-input value that would also set the value to NULL. In these cases, we assume that "unset" is a distinct value that is always allowed. RELNOTES: None. PiperOrigin-RevId: 187475696
* Deprecate native git_repositoryGravatar Klaus Aehlig2018-03-01
| | | | | | | | | | | | | | The skylark implementation of git_repository is a drop-in replacement for the native workspace rule. So deprecate the latter to avoid having two implementations of the same. Also, the native rule pulls in quite some dependencies. RELNOTES: The native git_repository rule is deprecated. Use the Skylark version available via load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") instead. Change-Id: Id75d8e7b7377acd1092c4ba993f488be86c03fa0 PiperOrigin-RevId: 187466931
* Correct docstring for skylark string.split().Gravatar Googler2018-03-01
| | | | | RELNOTES: None. PiperOrigin-RevId: 187453379
* Convert static std::set to constexpr arrayGravatar Loo Rong Jie2018-03-01
| | | | | | | | | | | | | Google C++ Style Guide disallows static variable with non-trivial destructor. Use constexpr for static variable whenever possible. std::array would make the code cleaner, but MSVC's implementation of constexpr std::array is buggy. Side-benefit: linear search is faster when array is small (<20). Change-Id: Ic8244dcb868e27d02ceb5298ccec482e7d4254b7 PiperOrigin-RevId: 187451495
* Remove a misleading comment.Gravatar carmi2018-02-28
| | | | | | | installBase is also used to access the embedded binaries. RELNOTES: None PiperOrigin-RevId: 187422136
* PiperOrigin-RevId: 187409545Gravatar dannark2018-02-28
|
* Deletes CODEC fields now that they are no longer needed.Gravatar shahan2018-02-28
| | | | PiperOrigin-RevId: 187397314
* Add @AutoCodec to FileType and FileTypeSet.Gravatar mjhalupka2018-02-28
| | | | | | More strictly type the arguments for creating FileTypes. PiperOrigin-RevId: 187391336
* Prevent aspects with the same attributes but different names from outputting ↵Gravatar juliexxia2018-02-28
| | | | | | duplicates of those attributes in query's proto output format. PiperOrigin-RevId: 187387578
* Add logging message when a PublishBuildToolEventStream() RPCs start.Gravatar Googler2018-02-28
| | | | | | | Logs whenever BuildEvenServiceTransport starts a PublishBuildToolEventStream streaming RPC. PiperOrigin-RevId: 187374228
* Introduce an Extrema aggregator.Gravatar nharmata2018-02-28
| | | | | RELNOTES: None PiperOrigin-RevId: 187370833
* Refactor the AbstractAction computeKey method to be easier to add invariantsGravatar jcater2018-02-28
| | | | | | for every type of action. PiperOrigin-RevId: 187368369
* Add --proto:output_rule_attrs flag to blaze query to enable filtering of ↵Gravatar Googler2018-02-28
| | | | | | | | output to given attributes. RELNOTES[NEW]: blaze query: use --proto:output_rule_attrs to filter for given attributes PiperOrigin-RevId: 187364996
* Deprecate and remove several uses of the 'values' map in NativeInfo subclasses.Gravatar cparsons2018-02-28
| | | | | | | | | | These subclasses should be using @SkylarkCallable(structField = true) instead This is a bit of a memory win, as there is now no need to store field information twice. There are still a couple of stragglers that are more difficult, namely ToolchainInfo and DefaultInfo. Their APIs will likely need some more extensive revamping before proceeding. RELNOTES: None. PiperOrigin-RevId: 187364392
* Remove unused fields from a few Cc* rule implementations.Gravatar cparsons2018-02-28
| | | | | RELNOTES: None. PiperOrigin-RevId: 187356329
* Tag RuleClassNamePredicate with @AutoCodec by switching to lazyGravatar mjhalupka2018-02-28
| | | | | | | initialization of the Predicates, and storing the set of strings the predicates are based on. PiperOrigin-RevId: 187351700
* Create a runtime codec for HashCode.Gravatar mjhalupka2018-02-28
| | | | | | Remove the HashCode marshaller. PiperOrigin-RevId: 187350917
* Add functionality to MemoryProfiler to do multiple garbage collections at ↵Gravatar janakr2018-02-28
| | | | | | the end of the build in an effort to get an accurate measurement of used memory. PiperOrigin-RevId: 187337487
* Deletes AutoCodec.Strategy.SINGLETON now that we have @AutoCodec field tags.Gravatar shahan2018-02-28
| | | | | | This also gets rid of some static initialization cycles which we should try very hard to avoid in the future. PiperOrigin-RevId: 187334087
* Update ToolchainUtil to properly load and use the available executionGravatar John Cater2018-02-28
| | | | | | | | | platforms, and correctly merge together the results from TRF. Part of #4442. Change-Id: I31d83fa73a93d39a0e18d05a43a1c8666ac5a2d2 PiperOrigin-RevId: 187324257
* runfiles,C++: implement manifest-based runfilesGravatar Laszlo Csomor2018-02-28
| | | | | | | | | | | | | | | | Implement a manifest-based Runfiles object, add tests and test utils (MockFile). Subsequent commits will add more feataures: - creating list of envvars to pass to child processes - automatic Runfiles creation based on argv[0] and the envvars of this process See https://github.com/bazelbuild/bazel/issues/4460 Change-Id: I4376ede3ac00241688ff16a36ed596fb08f13a72 PiperOrigin-RevId: 187318502
* Improve "blaze run --direct_run".Gravatar lberki2018-02-28
| | | | | | | | | | | | | | | | | In particular: - Make it support --script_path - Make it add command line arguments specified on the command line to tests - Remove a stale comment This introduces the following differences in behavior wrt. --nodirect_run: - Tests are run through the test setup script and get the environment variables specific to tests - --test_arg arguments will be on the command line of test targets - The script written by --script_path overwrites the environment of the binary with the client environment at the time of "blaze run" (for binaries) or the proper test environment (for tests) RELNOTES: None. PiperOrigin-RevId: 187309437
* Fix additional direct use of the Bazel serverGravatar Klaus Aehlig2018-02-28
| | | | | | | | | ...by adding the new internal startup option --output_user_root. Fixes #4730. Change-Id: I7f976f4f99555f8068211aa138bab5de0330c06a PiperOrigin-RevId: 187302221
* Replace PackageDeserializationException with SerializationExceptionGravatar michajlo2018-02-27
| | | | PiperOrigin-RevId: 187273881
* @AutoCodec TreeArtifactValue and FileArtifactValue.Gravatar janakr2018-02-27
| | | | PiperOrigin-RevId: 187243942