aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
Commit message (Collapse)AuthorAge
* Create injectable semantics for include validation, to allow it to be turnedGravatar Cal Peyser2016-09-01
| | | | | | | off in the objc case. -- MOS_MIGRATED_REVID=131943500
* First step towards allowing returning declared providers from rule ↵Gravatar Dmitry Lomov2016-09-01
| | | | | | | implementations. -- MOS_MIGRATED_REVID=131923497
* Adds support for ApkSignerTool and APK signature schema v2 behind ↵Gravatar Adam Michael2016-09-01
| | | | | | | | | --apk_signing_method flag. Default is legacy_v1 which is the already existing functionality. Promotes AndroidBinary.ApkActionBuilder to a toplevel abstract class ApkActionsBuilder with two implementations, one for default signing/zipaligning and one for ApkSignerTool based signing/zipaligning. In addition to build the action for constructing the APK, it now responsible for orchestrating the various tools to build, sign and zipalign the APK. -- MOS_MIGRATED_REVID=131889338
* xcode_configure repository rule for determining locally installed versions ↵Gravatar Chris Parsons2016-09-01
| | | | | | | | | | | of xcode to select between, relaxing the requirement that users specify --xcode_version and --ios_sdk_version even if they have only one version installed. RELNOTES: On mac devices, detect locally installed versions of xcode to: 1. Use a sensible default if xcode is required but --xcode_version is unspecified. 2. Use sensible default iOS SDK version for the targeted version of xcode if ios_sdk_version is unspecified. -- MOS_MIGRATED_REVID=131841587
* Spam lib/rules/android with @AutoValue. Mostly created byGravatar Googler2016-09-01
| | | | | -- MOS_MIGRATED_REVID=131832497
* experimental_objc_library can compile assembly.Gravatar Cal Peyser2016-09-01
| | | | | -- MOS_MIGRATED_REVID=131830446
* Add resource support to experimental_objc_library.Gravatar Cal Peyser2016-08-31
| | | | | -- MOS_MIGRATED_REVID=131827507
* Remove the "cc_*.includes attribute must refer to the third_party directory" ↵Gravatar Lukacs Berki2016-08-31
| | | | | | | | | | | warning from Bazel. This behavior doesn't really make sense except within Google. Fixes #1286. -- MOS_MIGRATED_REVID=131813322
* Migrate classes to @AutoValue. Mostly created byGravatar Googler2016-08-31
| | | | | -- MOS_MIGRATED_REVID=131787166
* Remove experimental_ios_test from allowed deps of objc_xcodeproj.Gravatar Cal Peyser2016-08-31
| | | | | -- MOS_MIGRATED_REVID=131754938
* Do not load the transitive closure of the Android SDK on every build.Gravatar Lukacs Berki2016-08-31
| | | | | | | This makes the sanity check dependent on the configuration fragments returning proper roots, but it's not that bad because it already depends on them returning the proper set of implicit labels and #getImplicitLabels() will go away soon anyway. -- MOS_MIGRATED_REVID=131705535
* Rollback of commit 8dc4257b9493bd2251636de1271a1972c17919ef.Gravatar Tobias Werth2016-08-30
| | | | | -- MOS_MIGRATED_REVID=131692718
* Hook up split-up resource processing tools for android_libraryGravatar Googler2016-08-30
| | | | | | | | | | Behind a flag. Flow is: parse -> merge -> validate \--> compile With fewer deps across the merge steps. -- MOS_MIGRATED_REVID=131634115
* Use correct platform for Swift stdlib actions.Gravatar Dmitry Shevchenko2016-08-30
| | | | | -- MOS_MIGRATED_REVID=131625616
* Add a resource validator action for android_libraryGravatar Googler2016-08-30
| | | | | | | | | | | | | | | | | | Part 3 of the 3 new proposed android_library res processing actions. Pulls a zip file from the merging action, unpacks it, and then validates the results with aapt. Get an R.txt and srcjar w/ javadocs from aapt. In order to the get the R.txt, I think you need to ask for the R.java sources anyway. Split the processResources() into a runAapt() function that can be reused. Hookup in bazel coming separately. -- MOS_MIGRATED_REVID=131618410
* apple_binary propagates appropriate dSYM information, and ↵Gravatar Chris Parsons2016-08-30
| | | | | | | apple_watch2_extension generates a dSYM bundle when --apple_generate_dsym is specified. -- MOS_MIGRATED_REVID=131617351
* Appropriately set platform environment variables in release bundle plists.Gravatar Chris Parsons2016-08-30
| | | | | | | Previously, iphonesimulator / iphoneos platform information was being set even for watchos extensions. -- MOS_MIGRATED_REVID=131607183
* Add a lightweight resource merge action.Gravatar Googler2016-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | Part 2 of the 3 new proposed android_library res processing actions. The primary and deps are all assumed to be parsed+summarized in a protobuf. Represent that with a new class (similar to DependencyAndroidData but w/out R.txt). Avoid having "manifest" artifacts as deps input, and instead use "label", since that is only used in a warning. DepAD still uses the manifest for #asSymbolFileProvider, so we keep it there. Move loading the primary out of the merge function so that we can share the merge function with this style of primary data, and the existing style of of primary data (UnvalidatedAndroidData). This produces an R class.jar and a zip file to pass along to a future validation action. Images are stubbed out since they are irrelevant to the validation action. -- MOS_MIGRATED_REVID=131604421
* Avoid building android R class ijar / header jarGravatar Googler2016-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | It is already ignored and the real jar used as the compileTime jar in AndroidCommon. It's only used by the ide-resolve output group. The real jar is pretty close to the header jar in terms of content (field inits deleted). Tradeoff: The real jar is ~33% bigger (w/ same compression level), vs save build time and space by skipping the hjar actions and artifacts. At android_binary level, the hjar action can take ~40 seconds in some cases. At the library level, the hjar time is pretty tiny. hjars are not compressed. We could compress the real jars to make up for the extra 30% size (and beat the hjar size), but that adds ~25% elapsed time to do the compression (e.g., 10s vs 7.5s). Compression can shrink the jar 2-3x (37MB vs 100MB). -- MOS_MIGRATED_REVID=131588283
* Remove the dependency from the C++ rules to Apple stuff.Gravatar Ulf Adams2016-08-29
| | | | | | | | | | | This makes the C++ rules standalone, and the CcCommonTest ensures that (at least) analysis of C++ targets works even if no Apple / Xcode rules are present. We can also compile them separately, in a future change. -- MOS_MIGRATED_REVID=131583691
* --Gravatar Googler2016-08-29
| | | | MOS_MIGRATED_REVID=131464027
* Exclude resources jars from android_library rules from the apk_manifestGravatar Alex Humesky2016-08-27
| | | | | | | because they contain useless stub ids. -- MOS_MIGRATED_REVID=131449999
* Don't provide AARs for deps that are neverlink or that of their transitiveGravatar Googler2016-08-27
| | | | | | | dependencies. -- MOS_MIGRATED_REVID=131434655
* Instead of using the smallest group as the inputs for the generation ↵Gravatar Sergio Campama2016-08-27
| | | | | | | actions, use instead the intersection of all the groups in which each proto appears. This further minimizes the average number of inputs per generation/compilation action. -- MOS_MIGRATED_REVID=131434027
* Add propagated headers to experimental_objc_library compile action to enableGravatar Cal Peyser2016-08-27
| | | | | | | dependence on objc_import targets. -- MOS_MIGRATED_REVID=131424927
* Add two implicit outputs to the AndroidBinary rule that are produced by ↵Gravatar Googler2016-08-26
| | | | | | | | | | ProGuard: - The list of dead code in the input class files (-printusage). - The list of classes and class members matched by the various '-keep' options (-printseeds). -- MOS_MIGRATED_REVID=131414162
* Make SpawnActions honor the client environmentGravatar Klaus Aehlig2016-08-26
| | | | | | | | | | | | | | | ...for the variables that supposed to be inherited from it. Note That with this patch, we take the correct variables, but do not yet track the dependency on changes to the client environment; this will happen in a follow up patches. Also add a test that demonstrates that the client environment rather than that at startup is taken. -- Change-Id: I4d33efa8eaf4f8b689c9b7f2130f71309f3343f0 Reviewed-on: https://bazel-review.googlesource.com/#/c/5392 MOS_MIGRATED_REVID=131406356
* Expose PlatformType and supporting methods to Skylark.Gravatar Dmitry Shevchenko2016-08-25
| | | | | -- MOS_MIGRATED_REVID=131311014
* Expose some values needed for Apple code signing to Skylark.Gravatar Googler2016-08-25
| | | | | -- MOS_MIGRATED_REVID=131302341
* Action#discoverInputs returns an Iterable<Artifact> instead of aGravatar Cal Peyser2016-08-25
| | | | | | | Collection<Artifact> -- MOS_MIGRATED_REVID=131285541
* Rollback of commit b5ac354867c4d8deb543285e87e636504078fb69.Gravatar Michael Staib2016-08-25
| | | | | | | | | *** Reason for rollback *** Roll forward with fixes. -- MOS_MIGRATED_REVID=131224077
* Invoke source jar action as a worker.Gravatar Googler2016-08-24
| | | | | | | | RELNOTES: Invoke source jar action as a worker. -- MOS_MIGRATED_REVID=131165353
* Extend Action interface by client variablesGravatar Klaus Aehlig2016-08-24
| | | | | | | | | | | | | | | | As per our design on [Specifying environment variables](http://bazel.io/designs/2016/06/21/environment.html), actions may depend, in a controlled way, on the environment in which the Bazel client is invoked. Those environment variables are considered essential for the action, in the sense that it was to be repeated if either of them changes their value (note that other variables in client environment may well change without invalidating actions). Therefore, make the variables that need to be taken from the client environment part of the meta data for actions. -- Change-Id: I2ff6cf40b4ce8e0fea5c7e464f5f3b3e693025ac Reviewed-on: https://bazel-review.googlesource.com/#/c/5390 MOS_MIGRATED_REVID=131150211
* Fix nocompile tests after commit b6fd4ed25b6201eaaabb14c389c02819184ad4a6. I ↵Gravatar Googler2016-08-24
| | | | | | | | | | | | | can't say that I fully know what I am doing, but this basically reinstantiates the old behavior. Before commit b6fd4ed25b6201eaaabb14c389c02819184ad4a6, transitive modules were added in getAdditionalInputs() (by adding both topLevelHeaderModules and impliedHeaderModules). I removed that, but we still need to create the corresponding symlinks, so adding transitiveModules outside of getAdditionalInputs now. -- MOS_MIGRATED_REVID=131139735
* Optional reuse of classpath from previous compile saved in memory, as itGravatar Googler2016-08-24
| | | | | | | | | | | | | appears in the jdeps file. These are the minimum inputs needed by the JavaCompileAction to obtain the correct result when classpath order and source files remain unchanged. Uses existing --java_classpath flag to toggle between 'javabuilder' (current released behavior) and new 'experimental_blaze' (minimum classpath and Spawn inputs). Handles failure of minimal action by falling back to existing compilation behavior when needed. The new Spawn does not use a parameter file, but puts all arguments directly on the command line. -- MOS_MIGRATED_REVID=131109163
* Rollback of commit 0545788b86c8ff58f22ac62e51d096e876e7feea.Gravatar Sergio Campama2016-08-23
| | | | | | | | | | | | | *** Reason for rollback *** Breaks tachyon because of the fact that it has duplicate symbol errors but they get discarded when compiled into the same archive, which is not the case anymore as we are being more clever with dependencies.... *** Original change description *** Instead of using the smallest group as the inputs for the generation actions, use instead the intersection of all the groups in which each proto appears. This further minimizes the average number of inputs per generation/compilation action. -- MOS_MIGRATED_REVID=131099657
* Removes the generation of modulemaps per proto group, and only adds one per ↵Gravatar Sergio Campama2016-08-23
| | | | | | | | | proto target. Removes module map generation for binary targets. Filter well known protos from ProtocolBuffers2 as there may be some proto_library targets including them. -- MOS_MIGRATED_REVID=131093115
* Use helper method for collecting transitive source jars.Gravatar Googler2016-08-23
| | | | | -- MOS_MIGRATED_REVID=131083264
* Adds a flag to generate LLVM coverage symbols.Gravatar Erik Abair2016-08-23
| | | | | | | | | This change adds a new --experimental_use_llvm_covmap flag which may be used in conjunction with the --collect_code_coverage flag to generate LLVM style coverage symbols instead of gcov. -- MOS_MIGRATED_REVID=131065609
* Prune .pcm files based on the results of include scanning.Gravatar Googler2016-08-23
| | | | | | | Basically, take the set of headers found by #include scanning and check what modules they are coming from. If a module provides at least one of the required headers, it is required as are all of its dependent modules (because of the way modules are implemented). Only use the actually required modules as compilation inputs and as flags handed in on the command line. Also move the logic to calculate top-level modules from the analysis phase into the execution phase. In the long run, we might be able to completely remove this logic now, but for now, we want to be able to quickly switch between the old and the new behavior. Thus, pruning of modules is now guarded on a feature prune_module_headers. -- MOS_MIGRATED_REVID=131058820
* Propagate defines through objc -> cc deps.Gravatar Cal Peyser2016-08-23
| | | | | -- MOS_MIGRATED_REVID=131055419
* Avoid setting CFBundleExecutable on objc_bundle_library plistsGravatar Chris Parsons2016-08-23
| | | | | -- MOS_MIGRATED_REVID=130971534
* Move $swiftstdlibtoolwrapper to ReleaseBundlingToolsRule, the accurate place ↵Gravatar Chris Parsons2016-08-23
| | | | | | | | | for rules to inherit from which require it. This fixes a apple_watch2_extension bug in which this swift tool is unavailable (because it is undefined). -- MOS_MIGRATED_REVID=130961298
* Expose single and multi-architecture platform retrieval methods ↵Gravatar Chris Parsons2016-08-23
| | | | | | | (AppleConfiguration) to skylark. -- MOS_MIGRATED_REVID=130960948
* Enables objc_proto_library to depend on other objc_proto_libraries. This ↵Gravatar Sergio Campama2016-08-23
| | | | | | | only works when using the new version of objc_proto_library by adding the portable_proto_filters attribute. -- MOS_MIGRATED_REVID=130952647
* Remove CppCompilationContext.equals/hashCode. Making them throw an exceptionGravatar Googler2016-08-23
| | | | | | | | | shows that they aren't actually used anymore. If they were, they wouldn't work as expected as the nested sets that are used in the comparison don't implement hashCode or equals. -- MOS_MIGRATED_REVID=130945911
* Add a switch to treat any objc_library like an experimental_objc_library. ThisGravatar Cal Peyser2016-08-23
| | | | | | | will be used to perform tests of the changeover. -- MOS_MIGRATED_REVID=130943982
* Remove support for thin archives.Gravatar Lukacs Berki2016-08-23
| | | | | -- MOS_MIGRATED_REVID=130938527
* Instead of filtering for dynamic libraries when creating solib symlinks, ↵Gravatar Lukacs Berki2016-08-22
| | | | | | | | | assert that solib symlinks always point to dynamic libraries. Note that this makes it possible to crash Bazel with a malicious CROSSTOOL file, but since we are migrating to cc_toolchain_suite which raises a user-friendly error earlier, this is okay. -- MOS_MIGRATED_REVID=130915262
* Make Bazel not crash when a cc_library is in the hdrs of another cc_library.Gravatar Lukacs Berki2016-08-22
| | | | | -- MOS_MIGRATED_REVID=130914217