aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
Commit message (Collapse)AuthorAge
* Move ObjcProvider FLAG into a new provider type (TransitiveSourcesProvider) ↵Gravatar cpeyser2017-08-30
| | | | | | that is accessible to the c++ rules. PiperOrigin-RevId: 166934390
* Stop blaze crash due to a symlink cycle or unbounded expansion encounteredGravatar kush2017-08-30
| | | | | | | while traversing filesets. RELNOTES: None PiperOrigin-RevId: 166913262
* Move default value & converter finding logic to the OptionDefinition class.Gravatar ccalvarin2017-08-30
| | | | | | | | | | | Removes some duplicate computation by memoizing the results. Consolidates caching into a single optionDefinition object, instead of having multiple caches that go from the option name to different parts of what defines an option. Fly-by cleanup of OptionDescription's contents, all contents that are statically defined as part of an option are in OptionDefintion, while expansion data, which depends on the existence of other options, is more clearly stored separately. Will move the converter-to-option type matching sanity checks to a compile time check in a later change. RELNOTES: None. PiperOrigin-RevId: 166912716
* Make PackageLookupValue#key(PathFragment) public.Gravatar nharmata2017-08-30
| | | | | RELNOTES: None PiperOrigin-RevId: 166907799
* Remove TODO regarding removal of a couple ObjcProvider keys.Gravatar cparsons2017-08-30
| | | | | | | it turns out these keys are still used by objc_framework, so cannot be removed. RELNOTES: None. PiperOrigin-RevId: 166895085
* Save density information to manifests when filtering resources in analysisGravatar Googler2017-08-30
| | | | | | | | | | | Previously, when filtering in analysis, density information was not passed to execution to avoid wasting time on re-filtering. However, that density information was also used to add information to the manifest. Add an additional flag to save density information to the manifest without triggering resource filtering in execution, and use it when filtering in analysis. RELNOTES: None PiperOrigin-RevId: 166891827
* Remove an obsolete TODOGravatar dmishe2017-08-30
| | | | PiperOrigin-RevId: 166889783
* Change bug tracking in TODOs for LegacyCompilationSupport deprecation.Gravatar cparsons2017-08-30
| | | | | RELNOTES: None. PiperOrigin-RevId: 166889164
* Remove default_macosx_sdk_version (use default_macos_sdk_version only)Gravatar cparsons2017-08-30
| | | | | RELNOTES: None. PiperOrigin-RevId: 166888780
* Narrow the LinkCommandLine API.Gravatar Googler2017-08-30
| | | | | | | | | Previously it had too many essentially identical accessors. This trims it down a bit and adjusts the call sites. This cl changes the command line passed to tests slightly - now they can possibly contain linkstamping command prepended to actual linker invocation. RELNOTES: None. PiperOrigin-RevId: 166888575
* devtools/build/lib/buildeventstream/proto: fix spelling in commentGravatar matloob2017-08-30
| | | | | | This change changes the misspelling "conents" to "contents". PiperOrigin-RevId: 166887321
* Change TODO to reference individual instead of internal bug numberGravatar brandjon2017-08-30
| | | | | RELNOTES: None PiperOrigin-RevId: 166874734
* BEP: add tool_tag explicitlyGravatar Klaus Aehlig2017-08-30
| | | | | | | | | Add the tool tag explicitly in the OptionsParsed event. In this way, consumers of the stream can more easily associate an invocation with a tool. Change-Id: I6040e91f657082782bf8010a6576001118672e2d PiperOrigin-RevId: 166862895
* Rollforward of ↵Gravatar apell2017-08-29
| | | | | | | | | https://github.com/bazelbuild/bazel/commit/0071b396776be4d146fd271499716dd5dea6f7e9: Enable parameter files for manifest merger actions. NEW: Using shell quoted param files and unescape arguments in ParamsFilePreProcessor to avoid miss-processing --manifestValues arguments containing whitespace. RELNOTES: None. PiperOrigin-RevId: 166858411
* Add a way to construct Frames in a two-step processGravatar brandjon2017-08-29
| | | | | RELNOTES: None PiperOrigin-RevId: 166857589
* Fix NPE in WorkerFilesHash.Gravatar philwo2017-08-29
| | | | | | | | We must check that a given artifact is a file, before calling getDigest, according to the interface contract specified in actions/Metadata.java. Add a regression test to bazel_worker_test.sh, too. It's enough to simply add a directory entry to the worker's data to trigger the original bug. PiperOrigin-RevId: 166856512
* Add a new toolchain type for c++. In order to do this, ↵Gravatar cpeyser2017-08-29
| | | | | | | | PlatformConfiguration is made a legal configuration fragment for every rule class. Add a default "dummy" c++ toolchain to prevent resolution errors when legacy toolchain selection logic is used. Add toolchain mocks to java and shell tests. PiperOrigin-RevId: 166854893
* Ensure ThinLTO backend actions always generate debug info when fission enabledGravatar Googler2017-08-29
| | | | | | | | | While we don't generate .dwp files for shared libraries, the link still expects the object files to contain split debug info. Enhanced tests to ensure the cc_library LTO backend actions always have the expected outputs/build variable, regardless of linking static or not. RELNOTES: NONE PiperOrigin-RevId: 166853630
* Split "shell", "graph" into their own packages.Gravatar philwo2017-08-29
| | | | PiperOrigin-RevId: 166849610
* remote: simplify upload logicGravatar buchgr2017-08-29
| | | | | | Use ByteStream for uploads. PiperOrigin-RevId: 166844266
* remote: close file when uploadingGravatar buchgr2017-08-29
| | | | | RELNOTES: None PiperOrigin-RevId: 166841380
* remote/http: distinquish between action cache and casGravatar buchgr2017-08-29
| | | | | | | | | | | | | | | | | | | | | | | | The remote http caching client now prefixes the URL of an action cache request with 'ac' and cas request with 'cas'. This is useful as servers might want to distinquish between the action cache and the cas. Before this change: (GET|PUT) /f141ae2d23d0f976599e678da1c51d82fedaf8b1 After this change: (GET|PUT) /ac/f141ae2d23d0f976599e678da1c51d82fedaf8b1 (GET|PUT) /cas/f141ae2d23d0f976599e678da1c51d82fedaf8b1 This change will likely break any HTTP caching service that assumed the old URL scheme. TESTED: Manually using https://github.com/buchgr/bazel-remote RELNOTES: The remote HTTP/1.1 caching client (--remote_rest_cache) now distinquishes between action cache and CAS. The request URL for the action cache is prefixed with 'ac' and the URL for the CAS is prefixed with 'cas'. PiperOrigin-RevId: 166831997
* Flip the --incompatible_disallow_set_constructor flag by defaultGravatar vladmos2017-08-29
| | | | | | | | | RELNOTES[INC]: `set` is deprecated in BUILD and .bzl files, please use `depset` instead. Ordering names have also been changed, please use "default", "postorder", "preorder", and "topological" instead of "stable", "compile", "naive_link", and "link" correspondingly. PiperOrigin-RevId: 166830004
* aar_import creates res/values/empty.xml if it contains no resources.Gravatar ajmichael2017-08-29
| | | | | | | | | To do this, add a new tool that is used instead of zipper to get the resources out of the AAR. This tool creates res/values/empty.xml if there are no resources in the AAR. Also, some general cleaning of the code. RELNOTES: None PiperOrigin-RevId: 166768607
* Missing link in docs of proto_libraryGravatar Googler2017-08-29
| | | | | RELNOTES: none PiperOrigin-RevId: 166764640
* remove reference to native "ios_framework" rule, as it no longer exists.Gravatar cparsons2017-08-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 166756809
* Automated rollback of commit 363413110f3a63a11d900864be1852adbaed2899.Gravatar cpeyser2017-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks //src/test/shell/bazel:bazel_bootstrap_distfile_test: INFO: You can skip this first step by providing a path to the bazel binary as second argument: INFO: ./compile.sh compile /path/to/bazel 🍃 Building Bazel from scratch...... 🍃 Building Bazel with Bazel. .WARNING: /tmp/bazel_cHivhPBc/out/external/bazel_tools/WORKSPACE:1: Workspace name in /tmp/bazel_cHivhPBc/out/external/bazel_tools/WORKSPACE (@io_bazel) does not match the name given in the repository's definition (@bazel_tools); this will cause a build error in future versions. ERROR: in target '//external:cc_toolchain': error loading package '@local_config_cc//': Extension file not found. Unable to load file '@local_config_cc//:dummy_toolchain.bzl': file doesn't exist or isn't a file. INFO: Elapsed time: 3.343s ERROR: Could not build Bazel Found by git bisect. *** Original change description *** Add a new toolchain type for c++. In order to do this, PlatformConfiguration is made a legal configuration fragment for every rule class. Add a default "dummy" c++ toolchain to prevent resolution errors when legacy toolchain selection logic is used. Add toolchain mocks to java and shell tests. PiperOrigin-RevId: 166750885
* Clean up after rolling out --jplNonStrictDepsLikePl.Gravatar carmi2017-08-29
| | | | | RELNOTES: None PiperOrigin-RevId: 166745722
* Refactor collection of action cache statistics.Gravatar jmmv2017-08-29
| | | | | | | | | | | | | | | | | This change gets rid of the old CachesSavedEvent object (note, plural) which used to capture details about various caches. As this was now only used for a single cache, rename it to ActionCacheStatistics so that the data it contains is more cohesive. The reason for this change is to make room for the addition of other metrics for the action cache (like hits/misses), which will come later. As of now, this change is intended to be a no-op. While doing this, use AutoValue to avoid mutability of the generated objects and use better types for the contained data (e.g. Duration for timings). RELNOTES: None. PiperOrigin-RevId: 166742117
* Clean up after rolling out --correctRollupTransitiveProtoRuntimes.Gravatar carmi2017-08-29
| | | | | RELNOTES: None PiperOrigin-RevId: 166735889
* In the config_setting arguments section, the description of the "values" arg ↵Gravatar juliexxia2017-08-29
| | | | | | | states that "This and *values* cannot both be empty" with the word *values* hyperlinking to define_values. Assuming typo(?) and changing to "This and *define_values* cannot both be empty." RELNOTES: None. PiperOrigin-RevId: 166723373
* Use CustomCommandLine directly instead of via SpawnAction.Builder.Gravatar tomlu2017-08-29
| | | | | | | | | | | | | This change forces use of CustomCommandLine.Builder, which has a richer interface for constructing memory-efficient command lines. It will also permit surveying the code base for inefficient patterns using an IDE. This change was done by hand and split using Rosie to assist with rollbacks in case of bugs. Reviewers, please pay particular attention to: * Each all to addInputArgument/addOutputArgument should come with a corresponding matching pair to SpawnAction.Builder#addInput and CustomCommandLine.Builder#addExecPath (eg.). * The commandLine must be set on the SpawnAction using SpawnAction.Builder#setCommandLine. Note that most calls to addPrefixed("arg=", val) should be more idiomatically expressed as add("arg", val), but this involves changing tests and making sure that the command line tools can accept the format. PiperOrigin-RevId: 166723076
* Remove TODO from LegacyCompilationSupport.Gravatar tomlu2017-08-29
| | | | PiperOrigin-RevId: 166722992
* Visit subtrees of the AST in evaluation orderGravatar fzaiser2017-08-29
| | | | | | | | | | | For instance, it makes more sense to visit the RHS of an assignment first because this is evaluated first. This also fixes a bug in the validator, which allowed definitions like "a = a" RELNOTES: None PiperOrigin-RevId: 166709589
* Add a --output_directory_suffix command line option to facilitate the ↵Gravatar lberki2017-08-28
| | | | | | | removal of the C++ toolchain identifier from the output path. RELNOTES: None. PiperOrigin-RevId: 166705005
* Change Identifier#boundNames to #boundIdentifiers.Gravatar fzaiser2017-08-28
| | | | | RELNOTES: None PiperOrigin-RevId: 166704851
* Flip the --incompatible_descriptive_string_representations flag by defaultGravatar vladmos2017-08-28
| | | | | | | | RELNOTES[INC]: Objects in Skylark are converted to strings in a more descriptive and less harmful way (they don't leak information that shouldn't be accessed by Skylark code, e.g. nondeterministic memory addresses of objects). PiperOrigin-RevId: 166697907
* Implement CustomCommandLine support for Skylark.Gravatar tomlu2017-08-28
| | | | | RELNOTES: Support ctx.actions.args() for more efficient Skylark command line construction. PiperOrigin-RevId: 166694148
* Move Statement.exec methods to a separate class.Gravatar laurentlb2017-08-28
| | | | | RELNOTES: None. PiperOrigin-RevId: 166689144
* Add a new toolchain type for c++. In order to do this, ↵Gravatar cpeyser2017-08-28
| | | | | | | | PlatformConfiguration is made a legal configuration fragment for every rule class. Add a default "dummy" c++ toolchain to prevent resolution errors when legacy toolchain selection logic is used. Add toolchain mocks to java and shell tests. PiperOrigin-RevId: 166509298
* Ensure our "Another command is running" messages hold realistic PIDs.Gravatar jmmv2017-08-28
| | | | | | | | | | | | | | | | | | | | Instead of blocking indefinitely for the server lock to become available when other commands are running, busy-wait for the lock to be released. This allows us to detect changes in the PID of the client that is holding the lock, and thus lets us make our wait messages more accurate. There have been multiple bug reports over time (especially from macOS users) where they complain that Bazel is stuck waiting for a non-existent PID. The code doesn't look obviously bogus, so this might just be a case of confusion based on the printed PID. By improving the diagnostic messages we output, we'll either make this confusion go away or have a chance of gathering more data when/if this happens again. This change has the side-effect of homogenizing the wait messages printed by both the Blaze client and the Blaze server and also adds details to know which component is printing what. PiperOrigin-RevId: 166508406
* Add a visitor method for statement blocks to SyntaxTreeVisitorGravatar fzaiser2017-08-28
| | | | | | | | | This allows to do an action after every statement in a block (e.g. an else-block) without having to override all visit(...) methods related to statements. RELNOTES: None PiperOrigin-RevId: 166483743
* Make tests independent of the current state of the ↵Gravatar vladmos2017-08-28
| | | | | | incompatible_descriptive_string_representations flag PiperOrigin-RevId: 166475260
* Fix typo in docs: "beforethis"Gravatar Rodrigo Queiro2017-08-25
| | | | | | Closes #3544. PiperOrigin-RevId: 166464371
* Add a warning to the bind() docsGravatar Rodrigo Queiro2017-08-25
| | | | | | | | | | | | This will encourage new users to avoid it, and would have helped me. At the start, I cargo-culted other projects that use bind() heavily without knowing why. Related: #1952 Closes #3608. PiperOrigin-RevId: 166464352
* Add the JAVABASE and JAVA Make variables to java_runtime_alias artifically ↵Gravatar lberki2017-08-25
| | | | | | | if --javabase= is an absolute path and thus there is no java_runtime rule to forward them from. RELNOTES: None. PiperOrigin-RevId: 166459625
* Implement field declarations for declared providers.Gravatar dslomov2017-08-25
| | | | | RELNOTES: Skylark providers can specify allowed fields and their documentation. PiperOrigin-RevId: 166446104
* Automated rollback of commit 1af9b1e2238c3b43a2b66233495ecf7b6ef4dcab.Gravatar Googler2017-08-25
| | | | | | | | | | | | *** Reason for rollback *** Reason for previous rollback was identified as being a memory regression causing some cases to hit java heap limit. Proposal is to increase java heap limit to compensate and just go with the original change. *** Original change description *** Automated rollback of commit 6cfffdf37e11018c7e6e2cabc90440d6d29c819b. PiperOrigin-RevId: 166426608
* Adds -p to zipalign invocation to align stored (not compressed) .so files in ↵Gravatar ahumesky2017-08-25
| | | | | | | apks on memory page boundaries. RELNOTES: .so files in APKs will be memory-page aligned when android_binary.nocompress_extensions contains ".so" and --experimental_android_use_nocompress_extensions_on_apk is specified. PiperOrigin-RevId: 166399337
* Abort stream if BuildEventServiceTransport does not wait for all ACKs.Gravatar Googler2017-08-25
| | | | | | | This change handling for when BuildEventServiceTransport would timesout waiting for pendingAcks. RELNOTES: None. PiperOrigin-RevId: 166375844