aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Fix resource filtering bug in interaction between densities and API versionGravatar Googler2017-06-16
| | | | | | | | | | | | | | | | | | | | ResourceFilter, following Aapt's behavior, ignored the 'version' qualifier. However, ResourceFilter also filters by densities, which is not supposed to ignore the version qualifier. Change ResourceFilter to only ignore the version qualifier when filtering by resource_configuration_filters, not densities. Without this change, when filtering by density, ResourceFilter would treat, for example, res-hdpi-v4/foo.png and res-hdpi-v11/foo.png as identical, even though they have different versions, and only use one of them when building the newly filtered list of resources. Instead, they should both be included. Also include a unit test that covers this behavior. Rather than add this in AndroidBinaryTest, create a new ResourceFilterTest class. To support that, move ResourceFilter from using the test-unfriendly RuleContext class to the easy-to-fake RuleErrorConsumer whenever possible. RELNOTES: none PiperOrigin-RevId: 159122507
* Add more methods to ExternalPackageUtil to load all rules of a specificGravatar John Cater2017-06-16
| | | | | | | rule class. Change-Id: Iaa830658a62de661f16e100d24b2d1a3e66af638 PiperOrigin-RevId: 159104714
* Clarify a remark on upcoming changesGravatar brandjon2017-06-16
| | | | | RELNOTES: None PiperOrigin-RevId: 159098919
* Mitigate GC churn in module map file writes: No need to pin entire contents ↵Gravatar felly2017-06-16
| | | | | | in memory. Instead, write to the output stream incrementally. PiperOrigin-RevId: 159046844
* Remove reference to Python-preprocessing in the documentationGravatar laurentlb2017-06-16
| | | | | RELNOTES: None. PiperOrigin-RevId: 159044239
* Automated g4 rollback of commit 5c2dc673a3ad2aa52f25c6f7d767671ba3e9b02c.Gravatar corysmith2017-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Appears that the generated R classes are not correct, causing test failures. *** Original change description *** Automated g4 rollback of commit 1be84ee92a825694b0c0026ac77134f8a084bd9c. *** Reason for rollback *** Rolling forward with the generated resources directory being created for tests without resources. *** Original change description *** Automated g4 rollback of commit d028d7854d3e95d97143945a1ec32944e5e4594b. *** Reason for rollback *** Breaks 1000+ targets in the depot: [] *** Original change description *** Generate pre-reconciled ids R classes for dependen... *** RELNOTES: None PiperOrigin-RevId: 159032530
* Fix couple of code blocks, doc paths in docgen templates.Gravatar dzc2017-06-16
| | | | | | | | | * Replace ```shell with ```sh to fix jekyll build errors * Fix paths in docgen templates for new docs site directory structure. * Add jekyll build output directories to gitignore. RELNOTES: None PiperOrigin-RevId: 159020213
* Remove useless comments.Gravatar nharmata2017-06-16
| | | | | | | (2) was on the wrong line anyway. RELNOTES: None PiperOrigin-RevId: 159010312
* Simplify data binding documentation.Gravatar gregce2017-06-16
| | | | PiperOrigin-RevId: 158999549
* Cleanup: addressing comments from commit ↵Gravatar olaola2017-06-16
| | | | | | | 9eea05d068a06ab642dd9d86d46ee5fa2e36b02e. RELNOTES: n/a PiperOrigin-RevId: 158988688
* Add support for the '0o' octal prefix for integers.Gravatar laurentlb2017-06-16
| | | | | | RELNOTES: Octal prefix '0' is deprecated in favor of '0o' (use 0o777 instead of 0777). PiperOrigin-RevId: 158982649
* ctx.empty_action now allows depset as inputsGravatar laurentlb2017-06-16
| | | | | RELNOTES: None. PiperOrigin-RevId: 158977418
* Remove unused interface PreprocessorGravatar Klaus Aehlig2017-06-16
| | | | | Change-Id: I008c16d747c5d06f433af14cd0793536cff2723e PiperOrigin-RevId: 158975286
* Revamp JavaToolchain:Gravatar lberki2017-06-16
| | | | | | | | | | | | - Rely on existing infrastructure to verify that attributes only contain a single artifact and that mandatory attributes are specified - Add single artifact modifiers to attributes that need them - Remove "final" modifiers from method variables (we don't use them in Blaze) - Replace deprecated #add() with #addProvider() Since this relies on existing infrastructure, I thought adding tests is redundant. I did test it manually, though, to be extra safe by testing what happens if these attributes contain an empty filegroup or a filegroup with multiple artifacts in it. RELNOTES: None. PiperOrigin-RevId: 158975017
* Switching to Watcher API instead of wait_for_completion, in preparation forGravatar olaola2017-06-14
| | | | | | | | | deprecating the wait_for_completion field. Note on errors: in the RemoteWorker, I currently handle all errors as onError of the watch call. Other options are: pass them as the operation error field, and pass some of them as the onError of the execute call. For now, I'm just using the simplest option; the Bazel client is ready to handle all possible options. RELNOTES: none PiperOrigin-RevId: 158974207
* ctx.action now allows depset as inputsGravatar laurentlb2017-06-14
| | | | | RELNOTES: None. PiperOrigin-RevId: 158973112
* Windows, bootstrapping: fix bootstrap_testGravatar Laszlo Csomor2017-06-14
| | | | | | | | | | | | | | | Compute the --host_jvm_args for the bazel.windows_unix_root JVM flag on Windows. After commit 9c54e2a764f0ddd2d3787aade1c530c5f43bd26c it's the Bazel client's job to compute this JVM flag and pass to the server, but during bootstrapping we run Bazel in a client-less mode. Fixes https://github.com/bazelbuild/bazel/issues/3186 Change-Id: I2facfdef7d301d8a96213b488728e3ae6aec1c33 PiperOrigin-RevId: 158972256
* Introduce --incompatible_load_argument_is_label (1st argument of load must ↵Gravatar laurentlb2017-06-14
| | | | | | | | | be a label). RELNOTES: First argument of 'load' should be a label. Path syntax is deprecated (label should start with '//' or ':'). PiperOrigin-RevId: 158971314
* In the default bazelrc use experimental UI and target pattern evaluatorGravatar Klaus Aehlig2017-06-14
| | | | | | | | | | | | | | | In the bazelrc we ship with our packages and recommend other package maintainers to use, enable the experimental_skyframe_target_evaluator and experimental_ui by default. Also set show_progress_rate_limit to a value that fits with the experimental UI. We plan to switch to those values as default (Issue #3187), and by setting apropriate defaults in the rc-file, we encourage users to test those settings while giving the possibility to easily roll back, should any problems arise. Change-Id: I456a5a34158541151a0bff61f3039b3d7e2d61b0 PiperOrigin-RevId: 158970147
* Propagate postable events further upGravatar Klaus Aehlig2017-06-14
| | | | | | | | | | | | With the introduction of the ExtendedEventHandler, SkyFunctions were given the possibility to post additional Postable events in addition to the standard events. As SkyFunctions have to be restartable, events are collected first and only posted after the function is finished. Make sure that this also applies to postable events and they are not dropped. Change-Id: Ie1c3a0134935c75ea984fa2cc924e7327a9da81f PiperOrigin-RevId: 158964337
* BES: Consolidate BuildEventServiceModule and BuildEventStreamerModule.Gravatar buchgr2017-06-14
| | | | | | | | | | | | | | After having open sourced the Build Event Service code, there is no more need to have two separate bazel modules that both create a BuildEventStreamer. This change merges the BuildEventStreamerModule logic into the BuildEventServiceModule. DELTA=677 (330 added, 316 deleted, 31 changed) DELTA_BY_EXTENSION=java=293,oss=32 RELNOTES: None. PiperOrigin-RevId: 158960687
* Fix local execution to not throw an exceptionGravatar ulfjack2017-06-14
| | | | | | | | The SpawnInputExpander returns null for empty files, but the ActionInputPrefetcher does not expect null values, and implementations may throw NPE. PiperOrigin-RevId: 158960425
* Use EventHandler even before we have a Reporter instanceGravatar ulfjack2017-06-14
| | | | | | | ...instead of relying on all the methods to call printErrLn with exactly the right format string. PiperOrigin-RevId: 158951236
* Add a FileProvider (which all ConfiguredTargets should have) to ↵Gravatar lberki2017-06-14
| | | | | | | | | PackageGroupConfiguredTarget. This fixes a crash when a package_group was referenced in an attribute that requires specific file types. RELNOTES: None. PiperOrigin-RevId: 158950996
* Move external package rule loading into a shared utility class.Gravatar John Cater2017-06-14
| | | | | Change-Id: I3f6664768791a63bf2f9e254b290d07623336ef6 PiperOrigin-RevId: 158902487
* Introduce --incompatible_comprehension_variables_do_not_leakGravatar laurentlb2017-06-14
| | | | | | | | | | | | | When the flag is activated, variables in list comprehensions do not leak anymore. Even if a variable was defined before the loop, it's not accessible after the loop. This change allows us to detect any breakage and ensures that no user is accessing loop variables after the loop. This will make possible for us to change the behavior and follow Python 3 semantics in the future. RELNOTES: None. PiperOrigin-RevId: 158895514
* Change link_static to linkstatic.Gravatar Googler2017-06-14
| | | | | | The attribute is linkstatic not link_static. PiperOrigin-RevId: 158883927
* Map LIPO to ThinLTO when LLVM compiler is used.Gravatar Googler2017-06-14
| | | | | | | | | | | | This change maps LIPO to ThinLTO when a LLVM compiler is used for building, with a warning. This change is necessary for the following reason. The compiler team is planning to flip the default compiler from GCC to LLVM and this change will migrate all LIPO users of GCC to LLVM with ThinLTO + FDO (LIPO equivalent) without any changes to build scripts. RELNOTES[NEW]: LIPO maps to ThinLTO for LLVM builds. PiperOrigin-RevId: 158875330
* BlazeModule.workspaceInit: also pass the BlazeRuntime to the callGravatar ulfjack2017-06-14
| | | | | | | | In order for BlazeModule.workspaceInit to be self-contained, also pass in the BlazeRuntime; we have use cases where this context is relevant, and there's currently no other way to get a reference to the BlazeRuntime. PiperOrigin-RevId: 158861142
* Make packages able to handle Postables as wellGravatar Klaus Aehlig2017-06-14
| | | | | | | | Packages can remember events associated with reading the package; also make them aware of additional Postable events. Change-Id: Id7933de7e364b142d0c95fd774585d3271204b2b PiperOrigin-RevId: 158853675
* Add support for zipped LLVM profile files.Gravatar Googler2017-06-14
| | | | | | | | | | | | | | | | | | | This change is a follow-up to a recent change which allowed LLVM raw profile files to be directly used with blaze. This change allows zipped LLVM raw profile files. This uses //tools/zip:zipper to extract the zipped file contents. This also adds a new option to //tools/zip:zipper, 'j', to junk directories while unzipping. Tested: blaze test //devtools/blaze/integration:fdo_test blaze test //third_party/ijar/test:zip_test RELNOTES[NEW]: Zipped LLVM profiles are now supported. PiperOrigin-RevId: 158849516
* Bump the blaze max jobs and warning threshold to keep up with the times.Gravatar felly2017-06-14
| | | | PiperOrigin-RevId: 158847561
* Simplify BlazeModule.beforeCommandGravatar ulfjack2017-06-14
| | | | | | | | | | | Don't pass the Command annotation explicitly, but add it to CommandEnvironment instead; most modules don't need it in the first place, so it was a lot of boilerplate for not much. Also change it so that the command is passed to the constructor. Add some documentation to the beforeCommand method. PiperOrigin-RevId: 158847128
* Base rc_options_test more on standard constructsGravatar aehlig2017-06-13
| | | | | | | In particular, do not hard-code the product name bazel. RELNOTES: None PiperOrigin-RevId: 158843168
* Also filter stderr when parse_showincludes feature is enabledGravatar Yun Peng2017-06-13
| | | | | | | | | | On Windows, cl.exe generates include information to stdout. But when using the cuda compiler(nvcc.exe) to invoke cl.exe, it's redirected to stderr. So we need to parse the output of stderr as well. Change-Id: I9a763a6eefa531932bf1077ef4155f6bda934240 PiperOrigin-RevId: 158842448
* Make cc_configure on Windows simpler and more robustGravatar Yun Peng2017-06-13
| | | | | | | | | | | | | The previous registry value we are querying only exists when Visual Studio is installed. If user only has VC build tools installed and doesn't set env vars like BAZEL_VS, VS140COMNTOOLS, VC won't be detected. HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7 exists in both situations and works for all VS versions. Change-Id: I07b5593e882e23fa9e0079e082e6d357b905736d PiperOrigin-RevId: 158841618
* Windows, Bazel client: pass Unix root as JVM flagGravatar Laszlo Csomor2017-06-13
| | | | | | | | | | | | | The Bazel client will pass the --host_jvm_args=-Dbazel.windows_unix_root=<path> flag to the server (computed from $BAZEL_SH), and the server will no longer shell out to cygpath to compute this value. Fixes https://github.com/bazelbuild/bazel/issues/2983 Change-Id: Iacc2e2eb70eacafdf7bbcad68d375ba9eadc6ee1 PiperOrigin-RevId: 158830675
* Extract the MacOS/XCode env rewrite logic into lib.exec.appleGravatar ulfjack2017-06-13
| | | | | | | | | | | | | | | | | | | Also add an interface to allow injecting that logic into LocalSpawnRunner; this is in preparation for rewriting StandaloneSpawnStrategy to use LocalSpawnRunner. At the same time, this reduces the dependencies from exec / standalone to rules.apple, which is a prerequisite for micro-Bazel. There's a small semantic change hidden here - we now only set the new XCodeLocalEnvProvider if we're actually running on Darwin, so we no longer fail execution on non-Darwin platforms if XCODE_VERSION_OVERRIDE or APPLE_SDK_VERSION_OVERRIDE is set. As a result, I moved the corresponding test from StandaloneSpawnStrategyTest to the new XCodeLocalEnvProviderTest. While I'm at it, also open source DottedVersionTest and CacheManagerTest. PiperOrigin-RevId: 158829077
* Update BUILD filesGravatar Ulf Adams2017-06-13
| | | | | | | | | | | We're currently maintaining two sets of BUILD files; one at Google, and one in the Git repository. We'd like to not do that. This change makes some of the Bazel BUILD files more closely match their counterparts, in preparation for removing the internal ones. Closes #3094. PiperOrigin-RevId: 158820490
* Fix bug in URI computation in RemoteModuleGravatar ulfjack2017-06-13
| | | | | | | | | | | Also add tests for the CAS path converter. I've also changed the code to explicitly inject the RemoteOptions into the CasPathConverter - note that the class is now static, so it no longer has access to the fields in the RemoteModule class. This change will need to be cherry-picked into 0.5.2. PiperOrigin-RevId: 158816408
* Refactor AST APIsGravatar brandjon2017-06-13
| | | | | | | Added public visibility to some constructors/accessors, and made child LValue nodes explicitly constructed by the caller rather than hidden inside constructors. This makes it easier to treat nodes as uniform dumb values. Also added some helpers. RELNOTES: None PiperOrigin-RevId: 158761415
* Automated g4 rollback of commit 1be84ee92a825694b0c0026ac77134f8a084bd9c.Gravatar corysmith2017-06-13
| | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Rolling forward with the generated resources directory being created for tests without resources. *** Original change description *** Automated g4 rollback of commit d028d7854d3e95d97143945a1ec32944e5e4594b. *** Reason for rollback *** Breaks 1000+ targets in the depot: [] *** Original change description *** Generate pre-reconciled ids R classes for dependency libraries with resources in the transitive closure of robolectric tests. RELNOTES: None PiperOrigin-RevId: 158756991
* docs: fix outputBase pathGravatar Thiago Farina2017-06-13
| | | | | | | | The path was missing the user's name, that in this example, is just 'user' for the sake of simplicity. Change-Id: I7558c066c28f8a605bd4b4e336b41c09585dfa57 PiperOrigin-RevId: 158749926
* Fix the converter type for several build configuration options which take listsGravatar jcater2017-06-13
| | | | | | | | of labels. Also fix an indent error in BuildTool. PiperOrigin-RevId: 158747039
* Fix: remote results not downloaded on failed actions, such as interrupted tests.Gravatar olaola2017-06-13
| | | | | | RELNOTES: none TESTED=presubmit PiperOrigin-RevId: 158734467
* Automated g4 rollback of commit 29ec1b89989db411d2038e2df8657b6435f80403.Gravatar fwe2017-06-13
| | | | | | | | | | | | | | *** Reason for rollback *** Breaks the classroom_ios TAP project [1] in the presence of --experimental_objc_crosstool=all, which was added to the global .blazerc last week. [1] [] *** Original change description *** Change ProtobufSupport to use CrosstoolCompilationSupport if experimental_objc_crosstool=all PiperOrigin-RevId: 158727100
* Don't call function names keyword in the query reference because they are not.Gravatar lberki2017-06-13
| | | | | RELNOTES: None. PiperOrigin-RevId: 158721043
* Init absent action configs for CppCompile actionsGravatar hlopko2017-06-12
| | | | | | | | | | So far only link actions were initialized in CppLinkActionConfigs. This cl changes this class to also initialize CppCompile actions. This is needed for our ongoing work removing hard-coded flags from Bazel and moving them into Crosstool. RELNOTES: None. PiperOrigin-RevId: 158715986
* Cleanup in ValidationEnvironment, provide static methods, reduce visibility.Gravatar laurentlb2017-06-12
| | | | | | | | | Call sites were creating a ValidationEnvironment object with no other purpose than calling validateAst(). Simplify the code so that callers don't have to worry about it. RELNOTES: None. PiperOrigin-RevId: 158705853
* Introduce CompileCommandLineBuilder and CompileCommandLineTestGravatar hlopko2017-06-12
| | | | | RELNOTES: NONE. PiperOrigin-RevId: 158703123