aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* Refactor ProjectFileSupport to work without a CommandEnvironmentGravatar ulfjack2017-06-26
| | | | | | | | | | | | Reading project files happens very early in the command initialization, and my plan is to change it so CommandEnvironment is created after we did that; the reason for that is that it makes the options final upon CommandEnvironment creation, which in turn allows simplifying the BlazeModule API. Since we no longer need a CommandEnvironment, or a BlazeWorkspace, or a BlazeRuntime, make the ProjectFileSupportTest a unit test. PiperOrigin-RevId: 159830404
* Expose the correct JavaSkylarkApiProvider from JavaProtoAspect.Gravatar tomlu2017-06-26
| | | | | | To unblock, regression tests for the breakage will come in a follow-up CL. PiperOrigin-RevId: 159829368
* Do not use link_dynamic_library.sh when toolchain doesn't support interface ↵Gravatar hlopko2017-06-26
| | | | | | | | | | | | | | | libraries Before, Bazel would always use link_dynamic_library.sh, even though the toolchain doesn't support interface libraries and therefore its arguments would always be "no ignored ignored ignored". And since link_dynamic_library.sh is a shell script, it unnecessarily complicates the Windows toolchain. This cl also removes the script as a dependency of the toolchain (so it won't be set as an input of c++ actions). RELNOTES: None. PiperOrigin-RevId: 159827038
* Include all directories in ij.bazelproject.Gravatar Philipp Wollermann2017-06-22
| | | | | | | | Without this change you can't work on any code that's not in src/{main,test} in IntelliJ, e.g. tools like the remote_worker. Closes #3224. PiperOrigin-RevId: 159812248
* Make FakeCppCompileAction.LOG lowercaseGravatar hlopko2017-06-22
| | | | | RELNOTES: None. PiperOrigin-RevId: 159811352
* Make Metadata fields privateGravatar ulfjack2017-06-22
| | | | | | | | | | | | | Adjust the interface of Metadata to match the interface of FileArtifactValue. These classes are almost the same, but not quite, so we currently have to create and return new objects whenever the MetadataHandler is called; by making the interfaces identical, we can just return a FileArtifactValue instead (in a future change). This is in preparation for merging the ActionInputFileCache and MetadataHandler interfaces. PiperOrigin-RevId: 159802834
* Refactor cc_configure.bzlGravatar Yun Peng2017-06-22
| | | | | | | | | | | | Split original cc_configure.bzl into 4 different files: lib_cc_configure.bzl: base library for C++ toolchain configuration unix_cc_configure.bzl: For Unix platforms osx_cc_configure.bzl: For macOS windows_cc_configure.bzl: For Windows Change-Id: I76fa44294c6ca4304f0a94f3a1c57d6e76141667 PiperOrigin-RevId: 159801973
* Fix LIPO to ThinLTO mapping to work with AutoFDO.Gravatar Googler2017-06-22
| | | | | | | | LIPO to ThinLTO mapping was added in https://github.com/bazelbuild/bazel/commit/c61f86f56b86e442369725ad79299ccc5519b000. This fixes a bug to ignore lipo context when compiler is LLVM. RELNOTES:None PiperOrigin-RevId: 159776286
* Use targets' labels' package identifier for query output=packageGravatar mschaller2017-06-22
| | | | | | | | | | Subinclude targets' packages are the package containing the load statement. Subinclude targets' labels are the bzl files they refer to. The latter has the appropriate package to display for --output=package. Fixes #3122. PiperOrigin-RevId: 159750840
* Fix source jars no longer being exposed to Skylark from java_library.Gravatar tomlu2017-06-22
| | | | | | | | | | Regression test added for java_library. Unfortunately, due to the nature of the skylark provider, similar regression tests should probably be added to every Java providing rule. In the long term, the better solution is to expose JavaProvider directly and remove JavaSkylarkApiProvider. Fixes #3238 PiperOrigin-RevId: 159748655
* In the Blaze Query implementation, use Set and Map implementations backed by ↵Gravatar nharmata2017-06-22
| | | | | | | the same KeyExtractor used that the Uniquifier implementation uses. This fixes a hypothetical issue where we were previously relying on Target#equals/hashCode. RELNOTES: None PiperOrigin-RevId: 159741545
* Add back --sysroot argument for objc compile actions when grte_top is specified.Gravatar rduan2017-06-22
| | | | | RELNOTES: None. PiperOrigin-RevId: 159740106
* Automated rollback of commit 7dec00574aa91327693f6ba7e90bff5bc834253e.Gravatar ajmichael2017-06-22
| | | | | | | | | *** Reason for rollback *** Tickled a hidden bug in Blaze query. RELNOTES: None PiperOrigin-RevId: 159718294
* Delete the 'upcoming' changes section.Gravatar laurentlb2017-06-22
| | | | | | | It's partially redundant with the 'Backward-incompatible changes' section. RELNOTES: None. PiperOrigin-RevId: 159705909
* Update testSpecialMandatoryProviderMissing to cover more casesGravatar vladmos2017-06-22
| | | | | | | | | The test didn't check for rules from the //external virtual package, that caused Bazel to be broken at some point: https://stackoverflow.com/questions/44398080/cc-grpc-library-for-bazel-0-5-1-fails-due-to-mandatory-files-to-run-provider-m/44671719 The original problem has been fixed in https://github.com/bazelbuild/bazel/commit/211a3ba2303c1df97383c810e17a031106c7271b. PiperOrigin-RevId: 159703445
* Set correct execroot for infoGravatar kchodorow2017-06-22
| | | | | | | | Fixes #3055. RELNOTES: `bazel info execution_root` returns the corrrect directory name for the execution root. PiperOrigin-RevId: 159701171
* Refactor our RemoteWorker for easier maintenance in the future.Gravatar Philipp Wollermann2017-06-22
| | | | | | | | | | This contains no real functional changes apart from slightly tweaked log messages. RELNOTES: None. Change-Id: I84fb5cf7b1e31a5ec693bbf39e22573e1750ff04 PiperOrigin-RevId: 159700159
* Only create a single per-build instance of the remote cache / executorGravatar ulfjack2017-06-22
| | | | | | | Fixes #3189. Fixes #2823. PiperOrigin-RevId: 159699146
* Make source code of singlejar and ijar available from @bazel_tools. ,Gravatar Xin Gao2017-06-22
| | | | | | | | | | Please refer to patch set 9 and its CI run for usage and test results. In practice, users should create their own java_toolchain rule in their project's BUILD file, and set the two attributes like above instead of modifying //tools/jdk/BUILD. Change-Id: Ic880f243086b00a58d453a8139ba4c957fe54bc7 PiperOrigin-RevId: 159694649
* Change CAS URI to use the "bytestream" scheme instead of being scheme-lessGravatar ulfjack2017-06-22
| | | | | | This makes the URIs absolute, which makes them easier to process server-side. PiperOrigin-RevId: 159694335
* Allow "[", "]", "{", and "}" in globs in BUILD files. (#3048)Gravatar Jonathan Bluett-Duncan2017-06-22
| | | | | | | | | | | | PR #2679 allowed parentheses ("(" and ")") in globs, but other bracket style characters were not allowed at the time. It was decided in issues #2583 and #3048 that other bracket characters should be allowed as well, since there is no apparent historical reason for disallowing them in the first place. Closes #3166. PiperOrigin-RevId: 159691498
* Use getopt to parse process-wrapper's command-line.Gravatar philwo2017-06-22
| | | | | | | | This will allow us to add new and optional flags like selecting a strategy used to spawn / wait for the child process. No one except Bazel should be calling "process-wrapper" and I couldn't find any references, so this breaking change should be fine. PiperOrigin-RevId: 159685867
* Fix comment in ExperimentalEventHandlerGravatar aehlig2017-06-22
| | | | | | | | The "is is line with" should read "is in line with". While there, also fix the formating of that comment. RELNOTES: None. PiperOrigin-RevId: 159683437
* Syncing the proto with the latest googleapis version. Removing the no longer ↵Gravatar Ola Rozenfeld2017-06-21
| | | | | | used wait_for_completion field. Change-Id: I83a16d22f49c44989ec7030b5d2c9c9b1387e6e0
* Use tool from action_config for link-executable and link-dynamic-lib actionsGravatar hlopko2017-06-21
| | | | | | | | | | This cl finishes the last bit of c++ linking actions migration to crosstool's action_configs. From now on, the action_config { tool_path: ... } will be used, instead of top level tool { path: ... }. RELNOTES: Bazel now uses tools from action_configs in Crosstool by default (as oposed to using top level tools). PiperOrigin-RevId: 159677525
* Introduce --incompatible_depset_is_not_iterableGravatar laurentlb2017-06-21
| | | | | | | RELNOTES: Iterating on a `depset` object is deprecated. If you need an iterable, call the `.to_list()` method first. PiperOrigin-RevId: 159672887
* ActionMetadataHandler: proper metadata even for the volatile workspace statusGravatar ulfjack2017-06-21
| | | | | | | | | | | | | | This is part of cleaning up the ActionInputFileCache / MetadataHandler split. Both classes generally store and return identical information, except the MetadataHandler lies about constant metadata artifacts. Instead of lying here, update the ActionCacheChecker, which is the only place where we actually want constant metadata. Additionally, remove getMetadataMaybe; again, the only caller that needs special casing is the ActionCacheChecker, so we move the special casing there instead of having it in the MetadataHandler. PiperOrigin-RevId: 159665345
* Fix Android data binding for rules with no direct resources.Gravatar gregce2017-06-21
| | | | | | | | | | | | | | This essentially works by activating the annotation processor over such rules, even though technically that's unnecessary (since there are no new resources to process). But running the annotation processor guarantees we still process deps' resources, which guarantees the Java compiler references any Java classes mentioned in those resources. This prevents JavaBuilder's ---reduce_classpath from pruning these files out of the compilation classpath because "they were never used". PiperOrigin-RevId: 159597671
* Re-add host_platform and target_platform, and set them as defaults.Gravatar jcater2017-06-21
| | | | | | Part of #2219. PiperOrigin-RevId: 159596011
* Automated rollback of commit ce7c4deda60a307bba5f0c9421738e2a375cf44e.Gravatar cushon2017-06-20
| | | | | | | | | | | | *** Reason for rollback *** See bazelbuild/bazel#3172 *** Original change description *** Add an experimental flag to Turbine to indicate to annotation processors that they are running in hjar compilation PiperOrigin-RevId: 159585343
* Remove duplicate unused test AndroidManifest.xml.Gravatar ajmichael2017-06-20
| | | | | RELNOTES: None PiperOrigin-RevId: 159580867
* Update install documentation with latest Bazel version numberGravatar steren2017-06-20
| | | | | | | | | Also remove warning about macOS bug in 0.5.0 and instructions about JDK7 Fixes https://github.com/bazelbuild/bazel/issues/3222 RELNOTES: None PiperOrigin-RevId: 159569520
* Use wrapped_ar on darwin in cc_configure.bzlGravatar hlopko2017-06-20
| | | | | | | | Tool.AR is used by go rules, and the inconsistency fixed in this cl was causing a bug. Fixes #3184. RELNOTES: None. PiperOrigin-RevId: 159562216
* Move WrappingProviderHelper into static class in WrappingProvider.Gravatar Googler2017-06-20
| | | | | | Cuts down on file count and makes it easier to find these methods. PiperOrigin-RevId: 159560422
* Document JavaSkylarkApiProvider static factory methods and remove one ↵Gravatar Googler2017-06-20
| | | | | | constructor. PiperOrigin-RevId: 159557168
* Use ProtoJavaApiInfoAspectProvider.merge instead of ad-hoc method.Gravatar carmi2017-06-20
| | | | | RELNOTES: None PiperOrigin-RevId: 159553343
* Cleanup: Remove code related to glob prefetchingGravatar laurentlb2017-06-20
| | | | | RELNOTES: None. PiperOrigin-RevId: 159551331
* Introduce is_cc_test build variable so we can migrate away from ↵Gravatar hlopko2017-06-20
| | | | | | | | | | | | | is_not_cc_test_link_action If only hlopko@ used brain when he introduced is_not_cc_test_link_action he would realize that the current values make it impossible to migrate away from them. This cl introduces new build variable with boolean value. Then I can update internal crosstools to use expand_if_true/false, and then I can remove is_not_cc_test_link_action. RELNOTES: None. PiperOrigin-RevId: 159549814
* Automated rollback of commit 317e0de2113f0361c9dbf98653ceda4efea3f3e2.Gravatar Googler2017-06-20
| | | | | | | | | | | | | | | | | | | | | *** Original change description *** Access interface constants to explicitly trigger the execution of interface initializers. The problem is that when we desugar default methods, the static intializer of interface will not be executed. The JVM spec says that if an interface has default methods, then when it is loaded, it will also be initialized. After we desugar such an interface, its default methods are removed, and when we load the interface, the <clinit> will not be executed. This CL checks whether an interface has default me... *** ROLLBACK_OF=159496992 NO_SQ=PURE_ROLLBACK RELNOTES: None PiperOrigin-RevId: 159545752
* TestAttempt: remove unused constructorsGravatar aehlig2017-06-20
| | | | | RELNOTES: None. PiperOrigin-RevId: 159537816
* Extract ImmutableSharedKeysMap class from TransitiveInfoProviderMap.Gravatar Googler2017-06-20
| | | | PiperOrigin-RevId: 159498323
* Access interface constants to explicitly trigger the execution of interfaceGravatar cnsun2017-06-20
| | | | | | | | | | | | | | | | | | | | | initializers. The problem is that when we desugar default methods, the static intializer of interface will not be executed. The JVM spec says that if an interface has default methods, then when it is loaded, it will also be initialized. After we desugar such an interface, its default methods are removed, and when we load the interface, the <clinit> will not be executed. This CL checks whether an interface has default methods and fields. If yes (needs to be initialized when the interface is loaded), it injects field access code to access the interface fields in the <clinit> of the companion class. We also create a constant $$CONSTANT$$ in the companion class. Then for all the classes that implement the interface, we inject GETSTATIC in the class <clinit> to the $$CONSTANT$$ of the companion class of the interface. This indirection is to avoid the IllegalAccessError when the interface is package private. Note that accessing an arbitrary interface field does not guarantee the interface will be initialized. We need to access the field that is initialized in the interface static initializer. RELNOTES: None PiperOrigin-RevId: 159496992
* apple_binary "dylibs" attribute depends on AppleDynamicFrameworkProviderGravatar cparsons2017-06-20
| | | | | RELNOTES: None. PiperOrigin-RevId: 159496805
* Roll back ↵Gravatar cushon2017-06-20
| | | | | | | | | | | | https://github.com/bazelbuild/bazel/commit/4929ad79865f8c13ef3b33c827040f4a037e4afe And use params files for turbine actions with transitive classpaths For actions where direct deps cannot be used, turbine spawns should always use params files. The transitive classpath may exceed the command line length limit. PiperOrigin-RevId: 159473987
* Adding support for SHA256 for remote execution. Switch remote execution to useGravatar olaola2017-06-20
| | | | | | | | | the currently defined hash function for blobs. Some refactoring. Adding an option to set the hash function in the remote worker, defaulting to the current behavior (unfortunately it is a build option, have not found a clean way to specify it at runtime). BUG=62622420 TESTED=remote worker RELNOTES: none PiperOrigin-RevId: 159473116
* Create a general WrappingProvider concept and use for java_proto_library and ↵Gravatar Googler2017-06-20
| | | | | | | | | | | | friends. The wrapping provider contains its own provider map containing any providers that may conflict. This can be used generally for any aspect that wants to override its base providers (during migration), and due to the generality we should be able to cut down on code size and complexity. Once we have this, we can more easily and uniformly bind aspects to Skylark for aspect-on-aspect functionality. The Skylark providers can be instantiated with a wrapping provider if one is present, or fall through to the base target if they aren't. We will also likely save a bit of memory from cutting down on wrapping classes. PiperOrigin-RevId: 159461325
* Pass the unsigned apk and the keystore to ApkProvider.Gravatar Googler2017-06-20
| | | | | RELNOTES: None PiperOrigin-RevId: 159460633
* All java_xxx_proto_library to provide JavaProvider ("java_common").Gravatar carmi2017-06-20
| | | | | RELNOTES: None PiperOrigin-RevId: 159438707
* Disable glob prefetching.Gravatar laurentlb2017-06-20
| | | | | RELNOTES: None. PiperOrigin-RevId: 159438506
* Rule functions should return None instead of internal Rule objectsGravatar vladmos2017-06-20
| | | | PiperOrigin-RevId: 159438112