aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* [Skylark] Improve Skylark interpreter performance.Gravatar Taras Tsugrii2018-08-02
| | | | | | | | | | | | | According to JMH and JIT assembly generated for iterators and index accesses, iterator methods like `hasNext` and `next` are not optimized away and result in 3-4X slower execution. Not using an iterator reduces Buck parse time for FB's internal Android apps by 7%+. Closes #5735. PiperOrigin-RevId: 207073078
* Return Java providers only onceGravatar elenairina2018-08-02
| | | | | | | through JavaInfo, instead of returning them also through ConfiguredTarget. Since these providers can not be found in ConfiguredTarget anymore they have to be retrieved from JavaInfo instead. RELNOTES: None. PiperOrigin-RevId: 207068520
* Change Deque -> LinkedHashSetGravatar ulfjack2018-08-02
| | | | | | | | In some cases, we may be reporting a lot of actions, and this has shown up as a hotspot in our profiling. LinkedHashSet should be just as fast for insertion, keep order as Deque, and be faster for removal. There are a couple of more aggressive steps we can take if this doesn't help. PiperOrigin-RevId: 207064758
* Add a normal startup-option for setting the digest function.Gravatar ccalvarin2018-08-01
| | | | | | | | | We continue to support the jvm property -Dbazel.DigestFunction, for backwards compatibility, but this will go away. The startup-option is marked experimental for now as we iron out issues. (note: leaving this out of release notes until the experimental tag is removed) As part of this refactor, the default constructor calls for FileSystem and derived classes will now use this default. This should remove the need for constructors that accept custom hash functions. RELNOTES: None. PiperOrigin-RevId: 207035217
* Update comment about repository mapping containing entry from "@<main repo ↵Gravatar dannark2018-08-01
| | | | | | | name>" to "@". RELNOTES: None PiperOrigin-RevId: 207010178
* Fix tests to work when the default value of the flag ↵Gravatar dbabkin2018-08-01
| | | | | | | | | --experimental_enable_tools_defaults_package flipped to false RELNOTES:none PiperOrigin-RevId: 206982558
* Pass a path to ActionExecutedEvent that is resolved via ActionExecutionContext.Gravatar tomlu2018-08-01
| | | | | | | If the output artifact is backed by a different file system then we need to use that file system later. RELNOTES: None PiperOrigin-RevId: 206981369
* Refresh ConfigurationResolver.getConfigurationsFromExecutor documentation.Gravatar gregce2018-08-01
| | | | | Specifically: mention trimming less and rule transitions more. PiperOrigin-RevId: 206980126
* Only detect artifact conflicts between targets in current build.Gravatar tomlu2018-08-01
| | | | | | | Previously, two successive builds of targets A and B would fail if the two sets had conflicting actions. Now, only fail such builds if the targets from the current build has action conflicts. RELNOTES: None PiperOrigin-RevId: 206974011
* Refactor setupPackageCache to get all BuildConfiguration.Options references ↵Gravatar juliexxia2018-08-01
| | | | | | | | out of it. Setting up the package cache is necessary for proper loading. In the future, BuildConfiguration.Option options will be targets that need to be loaded in order to be parsed. Thus, we will need to be able to do loading before BuildConfiguration.Options are parsed. PiperOrigin-RevId: 206964473
* Add builtin include directories to action key for CppCompileActionGravatar hlopko2018-08-01
| | | | | | | | Since builtin include directories affect validation, they have to be part of the action key. RELNOTES: None. PiperOrigin-RevId: 206960988
* Make sure that user-level log messages are not lost in a buffer if debugGravatar ccalvarin2018-08-01
| | | | | | | | | | | logging is turned off. WARNINGs, ERRORs, and simple USER messages get printed to stderr when debug logging is disabled, which it is by default. However, before this change, these were lost if they were sent to BAZEL_LOG before Bazel knew whether or not debug logging was requested. This fixes that by maintaining separate buffers, and dumping only the appropriate one to stderr once we know whether or not it is wanted. Maintaining the separate buffer also allows for it to be easy to, in the future, allow logging to multiple places, if we are logging details to a file and user-level details to stderr, for example. RELNOTES: None. PiperOrigin-RevId: 206960686
* Automatic code cleanup.Gravatar Googler2018-08-01
| | | | PiperOrigin-RevId: 206960449
* Parse raw xml resources for tools annotations.Gravatar corysmith2018-08-01
| | | | | RELNOTES: None PiperOrigin-RevId: 206960066
* Automated rollback of commit 15b27e46ad766e777fb898f39bff06efa9268c2a.Gravatar Googler2018-08-01
| | | | | | | | | Keep the usage of Streams in place. Keep the test in place, updated it with the new expected values. Only removed the neverlink filter. RELNOTES: none. PiperOrigin-RevId: 206951071
* Use a parameterized dict and simplify an iteration in xcode-locator.Gravatar jmmv2018-08-01
| | | | | | | | | | | This raises the minimum version with which xcode-locator must be built to Xcode 7. Changes suggested by davg@ during the review of another change to the xcode-locator. RELNOTES: None. PiperOrigin-RevId: 206949696
* Add the ability to do a filtered copy of a ProtoApkGravatar corysmith2018-08-01
| | | | | RELNOTES: None PiperOrigin-RevId: 206949407
* Add support for extracting references and declarations from a proto ↵Gravatar corysmith2018-08-01
| | | | | | | formatted apk RELNOTES: None PiperOrigin-RevId: 206945173
* Fix a broken link in the documentationGravatar vladmos2018-08-01
| | | | | | Fixes #5601 PiperOrigin-RevId: 206942639
* Add a parser for gcov intermediate file format.Gravatar Irina Iancu2018-08-01
| | | | | | | | | | | This change comes as a preparation for using gcov for Bazel C++ coverage instead of lcov. See documentation of gcov intermediate format at https://gcc.gnu.org/onlinedocs/gcc/Invoking-Gcov.html#Invoking-Gcov under --intermediate-format. Change-Id: I6cd2df8b3a6611b187a2b0c161b14388413bc670 PiperOrigin-RevId: 206940660
* Add the action_names_test_files target to the OSS version of ↵Gravatar kaipi2018-08-01
| | | | | | tools/buils_defs/cc/BUILD. PiperOrigin-RevId: 206939687
* [Skylark] Avoid unnecessary allocations.Gravatar Taras Tsugrii2018-08-01
| | | | | | | | | Since this happens only every single Skylark method invocation CPU and memory usage quickly adds up and shows up on profiler samples a lot. Closes #5656. PiperOrigin-RevId: 206935520
* Add extra logging to xcode-locator when scanning Xcode bundles.Gravatar jmmv2018-08-01
| | | | | RELNOTES: None. PiperOrigin-RevId: 206933729
* Automated rollback of commit 75810d5910073aa7a1550bbd36544971f3c95ae1.Gravatar twerth2018-08-01
| | | | | | | | | | | | | *** Reason for rollback *** [] *** Original change description *** Remove the gen_jars output group RELNOTES: Removed the gen_jars output group PiperOrigin-RevId: 206921241
* Add C++ rules ownersGravatar Marcel Hlopko2018-08-01
| | | | | | Closes #5708. PiperOrigin-RevId: 206915536
* Automated rollback of commit 38899f708923d6a7e1edd011af2ba70f505bb4c9.Gravatar twerth2018-08-01
| | | | | | | | | | | | | | | *** Reason for rollback *** Necessary for [] *** Original change description *** Return Java providers only once through JavaInfo, instead of returning them also through ConfiguredTarget. Since these providers can not be found in ConfiguredTarget anymore they have to be retrieved from JavaInfo instead. RELNOTES: None. PiperOrigin-RevId: 206915058
* Remove the need for discoverInputsStage2(). Much like every other SkyframeGravatar Googler2018-08-01
| | | | | | | | function, discoverInputs() can be implemented to return null upon encountering missing ActionExecutionValues. RELNOTES: None. PiperOrigin-RevId: 206913969
* There is no need to do input discovery or .d file analysis for modular codegen.Gravatar Googler2018-08-01
| | | | | | | | Modular codegen simply transforms a .pcm file to a .o file containing the code of inline functions of the module's headers. RELNOTES: None PiperOrigin-RevId: 206902693
* Open source SpawnMetricsGravatar ulfjack2018-08-01
| | | | PiperOrigin-RevId: 206893284
* [Skylark] Move method invocation logic to MethodDescriptor.Gravatar Taras Tsugrii2018-07-31
| | | | | | | | | | | | | | | | | | This serves 2 purposes: - better encapsulation and domain model. - opens the door to optimizations like using `MethodHandle` instead of `Method` and caching. - performs one of the optimizations mentioned above - perform `setAccessible` only once instead of on every method invocation. JMH suggests that this saves ~5% of CPU time. Next steps are: - evaluate peformance improvements for some of the optimizations listed above - make PRs to apply optimizations that seem beneficial. Closes #5704. PiperOrigin-RevId: 206805670
* [Skylark] Cache isParamNamed computation.Gravatar Taras Tsugrii2018-07-31
| | | | | | | | | | When `isLegacyNamed` is `true`, `named` is considered to be `true` as well, so instead of going through an extra indirection and computation, just use `named` field to store combined result. Closes #5701. PiperOrigin-RevId: 206800781
* [Skylark] Avoid unnecessary copyOf invocations.Gravatar Taras Tsugrii2018-07-31
| | | | | | | | According to async-profiler, about 50% of `Tuple.getSlice` method invocation is spent in `ImmutableList.copyOf` which is completely unnecessary for cases when an `ImmutableList` instance is passed. Closes #5699. PiperOrigin-RevId: 206787490
* Automated rollback of commit 0a635c5236ce30ea84b765ce752267992733a649.Gravatar corysmith2018-07-31
| | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Rolling forward with the correct attribute handling. *** Original change description *** Automated rollback of commit 8fe0f45852a620a078013310989396caed273342. *** Reason for rollback *** Breaks a couple of builds due to a bad merge. *** Original change description *** Add apk converted to proto and all attributes from CompiledResources to ResourcesZip. Add new proto format for tool attributes stored in the AndroidDataXml for storing them in the resources.zip. RELNOTES:None PiperOrigin-RevId: 206786645
* [Skylark] Size tuple slice sizes to avoid unnecessary allocations.Gravatar Taras Tsugrii2018-07-31
| | | | | | Closes #5698. PiperOrigin-RevId: 206780174
* Release 0.16.0 (2018-07-31)Gravatar Bazel Release System2018-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Baseline: 4f64b77a3dd8e4ccdc8077051927985f9578a3a5 Cherry picks: + 4c9a0c82d308d5df5c524e2a26644022ff525f3e: reduce the size of bazel's embedded jdk + d3228b61f633cdc5b3f740b641a0836f1bd79abd: remote: limit number of open tcp connections by default. Fixes #5491 + 8ff87c164f48dbabe3b20becd00dde90c50d46f5: Fix autodetection of linker flags + c4622ac9205d2f1b42dac8c598e83113d39e7f11: Fix autodetection of -z linker flags + 10219659f58622d99034288cf9f491865f818218: blaze_util_posix.cc: fix order of #define + ab1f269017171223932e0da9bb539e8a17dd99ed: blaze_util_freebsd.cc: include path.h explicitly + 68e92b45a37f2142c768a56eb7ecfa484b8b22df: openjdk: update macOS openjdk image. Fixes #5532 + f45c22407e6b00fcba706eb62141cb9036bd38d7: Set the start time of binary and JSON profiles to zero correctly. + bca1912853086b8e9a28a85a1b144ec0dc9717cc: remote: fix race on download error. Fixes #5047 + 3842bd39e10612c7eef36c6048407e81bcd0a8fb: jdk: use parallel old gc and disable compact strings Incompatible changes: - The $(ANDROID_CPU) Make variable is not available anymore. Use $(TARGET_CPU) after an Android configuration transition instead. - The $(JAVA_TRANSLATIONS) Make variable is not supported anymore. - Skylark structs (using struct()) may no longer have to_json and to_proto overridden. - The mobile-install --skylark_incremental_res flag is no longer available, use the --skylark flag instead. New features: - android_local_test now takes advantage of Robolectric's binary resource processing which allows for faster tests. - Allow @ in package names. Important changes: - Option --glibc is removed, toolchain selection relies solely on --cpu and --compiler options. - Build support for enabling cross binary FDO optimization. - The --distdir option is no longer experimental. This option allows to specify additional directories to look for files before trying to fetch them from the network. Files from any of the distdirs are only used if a checksum for the file is specified and both, the filename and the checksum, match. - Java coverage works now with multiple jobs. - Flip default value of --experimental_shortened_obj_file_path to true, Bazel now generates short object file path by default. - New rules for importing Android dependencies: `aar_import_external` and `aar_maven_import_external`. `aar_import_external` enables specifying external AAR dependencies using a list of HTTP URLs for the artifact. `aar_maven_import_external` enables specifying external AAR dependencies using the artifact coordinate and a list of server URLs. - The BAZEL_JAVAC_OPTS environment variable allows arguments, e.g., "-J-Xmx2g", may be passed to the javac compiler during bootstrap build. This is helpful if your system chooses too small of a max heap size for the Java compiler during the bootstrap build. - --noexpand_configs_in_place is deprecated. - A tool to parse the Bazel execution log. - Support for LIPO has been fully removed. - Remove support for --discard_actions_after_execution. - Add --materialize_param_files flag to write parameter files even when actions are executed remotely. - Windows default system bazelrc is read from the user's ProgramData if present. - --[no]allow_undefined_configs no longer exists, passing undefined configs is an error. - 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.
* Automated rollback of commit 8fe0f45852a620a078013310989396caed273342.Gravatar corysmith2018-07-31
| | | | | | | | | | | | | | *** Reason for rollback *** Breaks a couple of builds due to a bad merge. *** Original change description *** Add apk converted to proto and all attributes from CompiledResources to ResourcesZip. Add new proto format for tool attributes stored in the AndroidDataXml for storing them in the resources.zip. RELNOTES:None PiperOrigin-RevId: 206774364
* Break out xcode-locator's main function into smaller chunks.Gravatar jmmv2018-07-31
| | | | | | | | | This is intended to be a refactoring without functional changes for my own sanity in understanding what this code does. Except I couldn't avoid applying some visual improvements to the usage message. RELNOTES: None. PiperOrigin-RevId: 206771539
* Remove output jar from runfiles and the ijar from the OutputJar when sourcesGravatar Googler2018-07-31
| | | | | | | are not provided. RELNOTES: none. PiperOrigin-RevId: 206768891
* Removes serialization class that introduced bug.Gravatar plf2018-07-31
| | | | | RELNOTES:none PiperOrigin-RevId: 206767138
* Fix bazel_docker_sandboxing_test by updating it to use the latest ↵Gravatar philwo2018-07-31
| | | | | | | bazel-toolchains. RELNOTES: None. PiperOrigin-RevId: 206766616
* Add rules and coverage code owners.Gravatar Irina Iancu2018-07-31
| | | | | | Closes #5717. PiperOrigin-RevId: 206766293
* Add apk converted to proto and all attributes from CompiledResources to ↵Gravatar corysmith2018-07-31
| | | | | | | | | ResourcesZip. Add new proto format for tool attributes stored in the AndroidDataXml for storing them in the resources.zip. RELNOTES:None PiperOrigin-RevId: 206765679
* Actually run aquery testGravatar twerth2018-07-31
| | | | | RELNOTES: None PiperOrigin-RevId: 206765416
* Add profiling data to the resources zip.Gravatar corysmith2018-07-31
| | | | | RELNOTES:None PiperOrigin-RevId: 206762523
* Add the source jars of exports to the list of transitive source jars.Gravatar Googler2018-07-31
| | | | | RELNOTES: none. PiperOrigin-RevId: 206760974
* Get newlines back. After the switch to using a JsonWriter, the json profileGravatar Googler2018-07-31
| | | | | | | | | | | | | | | | | | | output was written all in one line. However, it is really convenient to be able to grep and count over the file (or generally be able to open it in an editor). This change is a bit hacky as just using setIndent makes the file completely expanded with one key-value pair per line, which is also not ideal. With this change, the format is: [ { <entry> }, { <entry> }, ... { <entry> } ] RELNOTES: None PiperOrigin-RevId: 206758496
* Slightly improve UnixGlob implementation. For recursive patterns, the currentGravatar Googler2018-07-31
| | | | | | | | | | | | | | | implementation leads to two identical recursive calls. This isn't harmful as there is a cache that will make the second call very cheap, but does not seem right. As a consequence, a cache is only needed if there are two recursive patterns in a single glob-path, e.g. /a/b/**/c/**/d/... as either "**" can expand to 0 or more directories (so /a/b/c/c/d could be reached in two different ways). If there is only a single recursive pattern, even with "*" placeholders, there is always a unique expansion (a "*" always represents exactly one path element). RELNOTES: None. PiperOrigin-RevId: 206753919
* Stop generating .d files when they won't be looked at later.Gravatar Googler2018-07-31
| | | | | | | | While at it remove CppCompilationActionBuilder.setAllowUsingHeaderModules, which isn't used anymore and would make the logic here (even) more complicated. RELNOTES: None. PiperOrigin-RevId: 206752281
* Clearing //tools/defaults:*Gravatar dbabkin2018-07-31
| | | | | | | | Replaced reference to //tools/defaults:crosstool by //tools/cpp:crosstool. Added Target //tools/cpp:crosstool to base test environment setup. RELNOTES:none PiperOrigin-RevId: 206747334
* Add JavaSourceInfoProvider to JavaInfo.Gravatar elenairina2018-07-31
| | | | | | | | | JavaSourceInfoProvider is returned through JavaInfo instead of ConfiguredTarget for all Java rules. Only android_library and android_binary return it directly through ConfiguredTarget, since they don't return a JavaInfo provider. RELNOTES: None. PiperOrigin-RevId: 206746172