aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
Commit message (Collapse)AuthorAge
* Automated rollback of commit 10b0d8aa6b73a024cc007c5e075cb329add878ef.Gravatar lberki2017-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks Google-internal targets, sadly. *** Original change description *** Ban middlemen from runfiles artifacts. Previous changes have removed all middlemen from runfiles artifacts. This CL locks it down and removes various now-redundant *WithoutMiddlemen() methods from Runfiles. I put a check for middlemen in ConflictChecker.put, which should be a chokepoint for runfiles artifacts. It's unfortunate we can't detect middlemen earlier than execution, but I can't see a way to efficiently check every runfiles artifact earlier. Cha... *** RELNOTES: None. PiperOrigin-RevId: 175650018
* BuildToolLogs: clean up interfaceGravatar aehlig2017-11-14
| | | | | | | | For build log files that are inlined, we eventually have to report ByteStrings, so avoid the detour through strings, potentially causing encoding issues. PiperOrigin-RevId: 175647576
* RELNOTES: NoneGravatar dannark2017-11-13
| | | | PiperOrigin-RevId: 175630707
* Open source ZipFilterBuilder for android_instrumentation_testGravatar jingwen2017-11-13
| | | | | | | GITHUB: #903 RELNOTES: None. PiperOrigin-RevId: 175600267
* objc_bundle_library uses the single-arch platform type instead of ↵Gravatar cparsons2017-11-13
| | | | | | | incorrectly using multi-arch iOS RELNOTES: None. PiperOrigin-RevId: 175579695
* Default to not allowing android_resourcesGravatar Googler2017-11-13
| | | | | RELNOTES: none PiperOrigin-RevId: 175576296
* Migrate CppConfiguration#getGnuSystemName to CcToolchainProvider.Gravatar cpeyser2017-11-13
| | | | PiperOrigin-RevId: 175558546
* Remove extra spaceGravatar Googler2017-11-13
| | | | PiperOrigin-RevId: 175535010
* toolchain_type can export make variables from the toolchain instead of theGravatar cpeyser2017-11-13
| | | | | | configuration. PiperOrigin-RevId: 175532550
* Allow an action_config to be activated by default.Gravatar cpeyser2017-11-13
| | | | PiperOrigin-RevId: 175531318
* Allow 'runs_per_test' to be overridden.Gravatar Googler2017-11-13
| | | | | | | | | | runs_per_test allows multiple argument instances, because there's an option of using a per-label regex format. Unlike most such flags, earlier instances of the flag were dominating later ones. PiperOrigin-RevId: 175530675
* RELNOTES: --keep_incrementality_data flag allows Bazel servers to be run in ↵Gravatar janakr2017-11-12
| | | | | | | | | | | | | | memory-saving non-incremental mode independent of --batch and --discard_analysis_cache. A command run with --nokeep_incrementality_data will discard data that would be needed for incremental builds. Subsequent commands can be sent to the same server, but they will not get the benefit of incrementality from this command. However, if --keep_incrementality_data is specified on a subsequent command, the commands after that will get the benefits of incrementality. There are two benefits to not being dependent on --batch. First, this allows Bazel servers to be run in extreme memory-saving mode without the startup penalties (JVM startup, JITting) that --batch execution imposes. Second, this allows Bazel developers to inspect the state of a Bazel server after an extreme memory-saving build. In order to avoid discarding data unnecessarily (for instance, on a "bazel info used-heap-size-after-gc" or "bazel dump --skyframe=summary") the actual resetting of the graph is done lazily, right before its use in SequencedSkyframeExecutor#sync. This is morally a partial rollback of https://github.com/bazelbuild/bazel/commit/98cd82cbdcac7c48164a611c5a9aa8fc2f1720ef. For now, our tests specify all of the flags. After this change sticks, I plan to get rid of the --batch flag from these tests, which should allow for some clean-ups. Eventually --batch and --discard_analysis_cache may not imply that we don't keep incremental state: we can require that it be specified explicitly. PiperOrigin-RevId: 175335075
* Remove bazel's --experimental_skip_static_outputs option.Gravatar Googler2017-11-10
| | | | | | | | | | | It was added long ago, for reasons which are no longer relevant or useful. Also remove the build variable it controlled ("skip_mostly_static") from CROSSTOOL files. RELNOTES: None. PiperOrigin-RevId: 175325225
* Fix a bug in which --experimental_post_build_query crashes if asked to run ↵Gravatar janakr2017-11-10
| | | | | | on a graph without edges. Now we fail gracefully. PiperOrigin-RevId: 175294923
* Add option-specified warning.Gravatar ccalvarin2017-11-10
| | | | | | | Accept warnings specified by flag. This flag will cause a warning to be printed like a standard Option deprecation warning or any other warning from options parsing. This can be used to deprecate definitions of config expansion or bazelrc files. This should not be used to deprecate internal option specifications. RELNOTES: None. PiperOrigin-RevId: 175231963
* Add getAttributeLocation to AttributeMap and related classes.Gravatar jcater2017-11-10
| | | | PiperOrigin-RevId: 175230893
* Allow JavaBuilder to be an arbitrary executable.Gravatar cushon2017-11-10
| | | | | | instead of assuming it is a deploy jar. PiperOrigin-RevId: 175229774
* Adjust blaze to allow for integration of one-version checking inside Google. ↵Gravatar Googler2017-11-10
| | | | | | | This feature is not yet available for Bazel users. RELNOTES: n/a PiperOrigin-RevId: 175226288
* Fix TopLevelConstraintSemantics to ignore targets that explicitly ignore ↵Gravatar John Cater2017-11-10
| | | | | | | | | constraint checking. Fixes #4042. Change-Id: I9461c004ab1aab8ca7a0ad515e8a9f24c8a489a5 PiperOrigin-RevId: 175219823
* Update documentation on sdk_frameworks for objc_library.Gravatar kaipi2017-11-10
| | | | PiperOrigin-RevId: 175218074
* Make the config expansion behavior modular.Gravatar ccalvarin2017-11-10
| | | | | | | | | | | Reorganize the BlazeOptionHandler to make it easy to exchange out how the config options are expanded using the definitions in the blazerc. Also change the getOptionsMap call to actually structure the rc options in the order that we parse them: we expand them in command order (for the test command, first add all "common" options, then "build," then "test") and then within each command, we expand the options in the rc order. This somewhat simplifies the rc expansion code, and avoids the two-phase regrouping that used to happen. This change should not change the semantics of rc option ordering. A followup change will add an alternative implementation for --config's expansion. RELNOTES: None. PiperOrigin-RevId: 175208971
* Ban middlemen from runfiles artifacts.Gravatar Benjamin Peterson2017-11-10
| | | | | | | | | | | | | | Previous changes have removed all middlemen from runfiles artifacts. This CL locks it down and removes various now-redundant *WithoutMiddlemen() methods from Runfiles. I put a check for middlemen in ConflictChecker.put, which should be a chokepoint for runfiles artifacts. It's unfortunate we can't detect middlemen earlier than execution, but I can't see a way to efficiently check every runfiles artifact earlier. Change-Id: I57fcb51b02e40adf3ebc4591c26bf5492c89352f PiperOrigin-RevId: 175206157
* Fix documentation for (new_)http_archive_rule.Gravatar tomlu2017-11-10
| | | | PiperOrigin-RevId: 175206100
* BEP: add commandline for reported actionsGravatar Klaus Aehlig2017-11-10
| | | | | | | | | | The build event protocol reports certain actions that are particularly important to the user, in particular failed ones. Also report the precise command line of those actions, if available. This is useful for IDEs wanting to report errors in a more precise way. Change-Id: I04224185ea46c608ad0dfcdb2e772071ca0736b3 PiperOrigin-RevId: 175203502
* Config feature flags for apple_binary and apple_static_libraryGravatar cparsons2017-11-10
| | | | | | | This feature is experimental, and thus left mostly undocumented. RELNOTES: None. PiperOrigin-RevId: 175187791
* Update be-nav.vmGravatar dmaclach2017-11-10
| | | | | | | | Add Apple Rules to index. Closes #3992. PiperOrigin-RevId: 175175081
* Remove android_instrumentation rule.Gravatar ajmichael2017-11-09
| | | | | | | It's not needed by the new plan for android_instrumentation_test. RELNOTES: None PiperOrigin-RevId: 175166913
* Delete unused preconditions library.Gravatar tomlu2017-11-09
| | | | PiperOrigin-RevId: 175092923
* Remove :foundation from the export list of :packages.Gravatar tomlu2017-11-09
| | | | | | Exports makes it hard to reason statically about which targets actually depend on any given target. It also tends to turn targets into buckets with everything, creating unnecessary edges. PiperOrigin-RevId: 175080282
* GitHub repository archive downloadGravatar Akira Baruah2017-11-09
| | | | | | | | | | | | Addresses #3661 and fixes #3770 bug Changes: - Properly escape the download URL. `GitCloner` used to incorrectly escape `/` delimiters as `%2F`. This change was originally introduced in #3770 but [rolled back](https://github.com/akira-baruah/bazel/commit/58c003cf98b81d433603eeeb3874c7dbba33e1f0) due to a bug that is now fixed below. - Omit an initial "v" from a version tag (e.g. `v1.2.3`) in the archive prefix. GitHub seems to do this. Closes #4002. PiperOrigin-RevId: 175047685
* BEP: also report the mnemonic of reported actionsGravatar Klaus Aehlig2017-11-09
| | | | | | | | | Knowing the kind of action that was reported (and hence likely failed) helps users quickly understand what possibly went wrong. So report this information. Change-Id: Ie4869234df895f404ac5d2ff6f05026e4e82ef7e PiperOrigin-RevId: 175043006
* Rollback "Switch ExtraActionFactory and GenRuleBase to the Expander API" due ↵Gravatar cparsons2017-11-09
| | | | | | | to breaking some existing genrules. RELNOTES: None. PiperOrigin-RevId: 175034625
* Replace all usages of Blaze's Preconditions class with guava.Gravatar tomlu2017-11-09
| | | | | | | | Blaze had its own class to avoid GC from varargs array creation for the precondition happy path. Guava now (mostly) implements these, making it unnecessary to maintain our own. This change was almost entirely automated by search-and-replace. A few BUILD files needed fixing up since I removed an export of preconditions from lib:util, which was all done by add_deps. There was one incorrect usage of Preconditions that was caught by error prone (which checks Guava's version of Preconditions) that I had to change manually. PiperOrigin-RevId: 175033526
* Finish making --auto_cpu_environment_group non-experimental.Gravatar jcater2017-11-09
| | | | PiperOrigin-RevId: 175027144
* Remove least important argument to 5+ arg Preconditions#checkState/checkNotNull.Gravatar tomlu2017-11-08
| | | | | | This change prepares a move to Guava's preconditions. Guava only has vararg-avoiding overloads up to 4 args. PiperOrigin-RevId: 175015502
* Fix name of DexArchiveAspect in AspectCollection javadoc.Gravatar ajmichael2017-11-07
| | | | | RELNOTES: None PiperOrigin-RevId: 174874118
* RELNOTES: Document interaction between test_suite and target exclusionsGravatar Googler2017-11-07
| | | | | | Now with more accuracy. PiperOrigin-RevId: 174873635
* Prefix all --bes_keywords with "user_keyword=<keyword>" before publishing to ↵Gravatar Googler2017-11-07
| | | | | | | | | | BES. - Add a prefix to user provided keywords, so it can be distinguished from keywords provided directly by Bazel. - Keywords are also stored in a Set to avoid duplicates. PiperOrigin-RevId: 174872442
* Remove an unused JavaClasspathModeGravatar cushon2017-11-07
| | | | PiperOrigin-RevId: 174818556
* Prefer catastrophic action execution exceptions to non-catastrophic ones. ↵Gravatar janakr2017-11-07
| | | | | | | | This is both probably what the user most cares about, and also restores a Skyframe invariant, that as a catastrophic exception bubbles up, it stays catastrophic. There is actually no hard Skyframe requirement for that, so we could consider relaxing it, but I'm willing to keep it for now. PiperOrigin-RevId: 174759976
* Introduce cc_toolchain_type, which exports c++ make variables. UseGravatar cpeyser2017-11-07
| | | | | | //tools/cpp:toolchain_type as the canonical c++ toolchain. PiperOrigin-RevId: 174759558
* Add more assertions about test suite expansion behaviorGravatar Googler2017-11-07
| | | | | | | | | | | Characterizing this correctly this time: Target patterns are evaluated with two different sets of semantics. For determining which targets to build, only test suites in exclusion target patterns are expanded. For determining which tests to run (or determining which targets to build if --build_tests_only is set), test suites in all target patterns are expanded. In each case, test suites are expanded for each target pattern individually, not for the whole set of targets after the list of target patterns is processed. Also update a related code comment. The newer implementation for this logic already has equivalent tests for this behavior, in particular testFilterNegativeTestFromTestSuite and testNegativeTestSuiteExpanded in LoadingPhaseRunnerTest. RELNOTES: None PiperOrigin-RevId: 174756583
* Some minor quality of life improvements related to the fact that the default ↵Gravatar nharmata2017-11-07
| | | | | | | | | | value of --max_idle_secs is 15s when the TEST_TMPDIR environment variable is set. (i) Add a log line to blaze.INFO when the server shuts itself down due to idleness. (ii) Mention the --max_idle_secs default in the existing stderr spam when TEST_TMPDIR is set. RELNOTES: None PiperOrigin-RevId: 174745511
* Break dependency on vfs from the interface of syntax and cmdline.Gravatar tomlu2017-11-06
| | | | | | | | These libs are exposed externally, implying that the vfs is also exposed externally. We break out PathFragment from vfs to still use this in their interface. This class is a much smaller dependency than the entire vfs. PiperOrigin-RevId: 174729373
* Close HTML tag typosGravatar Googler2017-11-06
| | | | | RELNOTES: None PiperOrigin-RevId: 174719828
* Default experimental flags to trueGravatar Googler2017-11-06
| | | | | | | RELNOTES: AAR manifest files will come from the processed resource APK if it exists. RELNOTES: None for Blaze users. PiperOrigin-RevId: 174622961
* Add optional user execution time and system execution time fields to ↵Gravatar ruperts2017-11-06
| | | | | | | TerminationStatus, and also add a TerminationStatus.Builder and tests. RELNOTES: None. PiperOrigin-RevId: 174557303
* Use Durations to store wall, user and system execution time in SpawnResults, ↵Gravatar ruperts2017-11-06
| | | | | | | and make cumulative execution times available in ActionResults. RELNOTES: None PiperOrigin-RevId: 174553272
* Automated rollback of commit 0dffc49f528c4c6e641221060e41aa6896310bdf.Gravatar Googler2017-11-06
| | | | | | | | | | | *** Reason for rollback *** This doesn't seem to be correct. I was confused by an example where a target is excluded from being run, but still built. *** Original change description *** RELNOTES: Document interaction between test_suite and target exclusions PiperOrigin-RevId: 174536378
* Expose late-bound-attributes to Skylark.Gravatar cparsons2017-11-06
| | | | | RELNOTES: Late-bound attributes are exposed to skylark. This is a new API (`configuration_field()`) to depend on certain configuration-defined targets from skylark rules. PiperOrigin-RevId: 174534104