aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
Commit message (Collapse)AuthorAge
* When running Java-based tools, use -XX:+TieredCompilation ↵Gravatar Philipp Wollermann2016-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -XX:TieredStopAtLevel=1 instead of -client, as the latter is ignored on 64-bit JVMs since at least JDK 6. The new flags have been shown to cut down CPU time by 50% due to reduced time spent in JIT and improving overall run time for short running actions, some times also cutting them in half. Here's a benchmark of Bazel building itself, giving a nice 2-4x speedup: ./output/bazel clean && ./output/bazel build //src:bazel Bazel before this change: INFO: Elapsed time: 197.783s, Critical Path: 194.10s INFO: Elapsed time: 198.928s, Critical Path: 195.65s INFO: Elapsed time: 194.913s, Critical Path: 191.56s Bazel before this change with --strategy=Javac=worker: INFO: Elapsed time: 130.436s, Critical Path: 124.27s INFO: Elapsed time: 116.114s, Critical Path: 112.30s INFO: Elapsed time: 116.852s, Critical Path: 84.45s Bazel with this change: INFO: Elapsed time: 121.625s, Critical Path: 119.08s INFO: Elapsed time: 119.401s, Critical Path: 115.80s INFO: Elapsed time: 121.198s, Critical Path: 119.03s Bazel with this change and --strategy=Javac=worker: INFO: Elapsed time: 54.456s, Critical Path: 51.28s INFO: Elapsed time: 53.272s, Critical Path: 51.09s INFO: Elapsed time: 52.966s, Critical Path: 49.86s Bazel with this change and --strategy=Javac=worker and stripping -XX:TieredStopAtLevel=1 from JVM flags when using workers: INFO: Elapsed time: 61.599s, Critical Path: 58.93s INFO: Elapsed time: 48.695s, Critical Path: 45.02s INFO: Elapsed time: 46.874s, Critical Path: 43.91s INFO: Elapsed time: 46.174s, Critical Path: 43.32s (The latter is a possible optimization for workers and it's also nice to know that the limited tiered compilation does not hurt their performance.) -- MOS_MIGRATED_REVID=125448089
* Skylark: ObjcProvider related errors now use the correct Skylark type ↵Gravatar Florian Weikert2016-06-21
| | | | | | | instead of Java's Class<?>. -- MOS_MIGRATED_REVID=125443529
* Disable runfiles on Windows.Gravatar Dmitry Lomov2016-06-21
| | | | | | | | | | | | This adds a new configuration option that allows disabling the creation of symlink forest for runfiles. On Windows, symlink forest is disabled by default; only the runfiles manifest is created. For shell tests, a function 'rlocation' is provided that converts from runfiles location to a real location. Work towards #1212. -- MOS_MIGRATED_REVID=125439553
* Added more pointers to Aspect-related documentation.Gravatar Florian Weikert2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125428066
* Remove breakpad support from bazelGravatar Dmitry Shevchenko2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125385321
* Adds the label of the rule that produced the artifact to the apk manifest.Gravatar Alex Humesky2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125376859
* Move Android and Java 7 javacopts into java_toolchainGravatar Liam Miller-Cushon2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125360308
* Remove --objc_generate_debug_symbols flagGravatar Dmitry Shevchenko2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125354844
* Allow importing of late loaded dynamic frameworksGravatar Googler2016-06-20
| | | | | | | | | Adds a runtime_deps attribute to compilation rules (including objc_binary) that imports a dynamic framework (generated either via the objc_framework or ios_framework rules) into an app bundle without linking against it at build time. RELNOTES: objc_binary now supports late-loaded dynamic frameworks. -- MOS_MIGRATED_REVID=125261347
* ExperimentalObjcLibrary uses xcrunwrapper to template SDKROOT and DEVELOPER_DIR.Gravatar Cal Peyser2016-06-20
| | | | | -- MOS_MIGRATED_REVID=125187340
* Fixed the bug in commit fa878df99618bfc59a5ff733871e266e9e3f3fd1 which broke ↵Gravatar Yun Peng2016-06-20
| | | | | | | cc_fake_binary -- MOS_MIGRATED_REVID=125187200
* Wrap inputs to ObjcLink (via clang) invocations in an objlist, and pass the ↵Gravatar Chris Parsons2016-06-20
| | | | | | | | | | | args as a -filelist arg. This prevents certain many-arg actions from making clang unhappy. Also ensures that no -force_load artifacts are present in the filelist. Clang seems to not dedupe artifacts present in both a filelist and -force_load, causing duplicate symbol errors. -- MOS_MIGRATED_REVID=125170226
* Correctly escape backslashes in proto messarges.Gravatar Googler2016-06-20
| | | | | -- MOS_MIGRATED_REVID=125166943
* Rollback of commit bdfd58a8ca2ed5735d6aaa5b238fb0f689515724.Gravatar Laurent Le Brun2016-06-20
| | | | | -- MOS_MIGRATED_REVID=125160288
* Remove BuildConfiguration.addRoots() and the pregrepped includes directory.Gravatar Lukacs Berki2016-06-17
| | | | | | | This is to simplify the contract of BuildConfiguration.Fragment, thus making it simpler to create BuildConfigurations without unnecessary fragments and eventually create configuration fragments from Skylark. -- MOS_MIGRATED_REVID=125137625
* JavaLibraryHelper can return a JavaCompilationArgsProvider which fully ↵Gravatar Carmi Grushko2016-06-17
| | | | | | | describes the compilation, for use as is in another Java compilation. -- MOS_MIGRATED_REVID=125128647
* Make the execution root match the runfiles tree structure for external ↵Gravatar Kristina Chodorow2016-06-17
| | | | | | | | | | | | | | | | | | | | | repositories One interesting side effect of how this is implemented is that for external repositories, bin/ and genfiles/ are combined. External repo output is under bazel-out/local-fastbuild/repo_name for each repo. Fixes #1262. RELNOTES[INC]: Previously, an external repository would be symlinked into the execution root at execroot/local_repo/external/remote_repo. This changes it to be at execroot/remote_repo. This may break genrules/Skylark actions that hardcode execution root paths. If this causes breakages for you, ensure that genrules are using $(location :target) to access files and Skylark rules are using http://bazel.io/docs/skylark/lib/File.html's path, dirname, etc. functions. -- MOS_MIGRATED_REVID=125095799
* Rollback of commit 021dc4e1d25827f0e68a9b6a09ff5f79aa18f8a4.Gravatar Googler2016-06-17
| | | | | | | | | | | | | | | *** Reason for rollback *** Breaks some builds, e.g. googlemac/iPhone/Applecrisp/Shared/DocosLib:DocosLib *** Original change description *** When building ObjectiveC++, pass the flag -std=c++11 in addition to -stdlib=libc++. RELNOTES: When building ObjectiveC++, pass the flag -std=c++11 in addition to -stdlib=libc++. -- MOS_MIGRATED_REVID=125095396
* Remove one instance of -F interspersing with framework linking.Gravatar Chris Parsons2016-06-17
| | | | | | | Previously we were interspersing these doubly, resulting in constructs like "-F -F -F FrameworkPath" -- MOS_MIGRATED_REVID=125071017
* Create mark file for local repositories, tooGravatar Kristina Chodorow2016-06-17
| | | | | | | | | | | | | Local repositories were not marked, so if a WS file switched from remote->local->remote, on the first run the remote rule would create a mark file, on the second run the local rule would ignore it, and then on the third run the remote rule would look at the mark file and see, "I'm already up-to-date," leaving the repository as a local repo. Fixes #977. -- MOS_MIGRATED_REVID=125060180
* Spawn executionInfo from Cpp{Compile,Link}ActionGravatar George Gensure2016-06-16
| | | | | | | | | | | | Pass the executionInfo available from a action argument to Spawn{Gcc,Link}Strategy execution methods. This change makes execution_requirements specified in CROSSTOOL effective at tool execution time for compilations and links. -- Change-Id: I92a6a9c6b19224756f0adb31673cddca94cfe658 Reviewed-on: https://bazel-review.googlesource.com/3760 MOS_MIGRATED_REVID=125041898
* Description redacted.Gravatar Googler2016-06-16
| | | | | -- MOS_MIGRATED_REVID=125013752
* Support for platform_type="watchos" on apple_binary.Gravatar Chris Parsons2016-06-16
| | | | | | | | | This builds all dependencies linked against watch SDKs instead of iOS SDKs, and builds for the architectures specified in --watchos_multi_cpus RELNOTES: apple_binary supports a new platform_type attribute, which, if set to "watchos", will build dependencies for Apple's watchOS2. -- MOS_MIGRATED_REVID=124980029
* Pass toolchain build variables to C++ link actions.Gravatar Chris Parsons2016-06-16
| | | | | | | Also add platform sdk versions to the build variables defined by AppleCcToolchain, so that these values may be referenced in crosstool config. -- MOS_MIGRATED_REVID=124976362
* Expose Apple platform name to Skylark.Gravatar Googler2016-06-16
| | | | | -- MOS_MIGRATED_REVID=124975604
* Updates android_binary.multidex docs.Gravatar Alex Humesky2016-06-16
| | | | | -- MOS_MIGRATED_REVID=124968182
* Adds a warning to users of objc_proto_library to enable the ↵Gravatar Sergio Campama2016-06-16
| | | | | | | use_objc_header_names attribute. -- MOS_MIGRATED_REVID=124955824
* Fix entitlements substitution documentation.Gravatar Peter Schmitt2016-06-16
| | | | | -- MOS_MIGRATED_REVID=124951254
* When building ObjectiveC++, pass the flag -std=c++11 in addition to ↵Gravatar Googler2016-06-15
| | | | | | | | | -stdlib=libc++. RELNOTES: When building ObjectiveC++, pass the flag -std=c++11 in addition to -stdlib=libc++. -- MOS_MIGRATED_REVID=124867581
* Improves flag handling.Gravatar Sergio Campama2016-06-15
| | | | | -- MOS_MIGRATED_REVID=124848977
* Adds deprecation warning for users of output_cpp attribute.Gravatar Sergio Campama2016-06-15
| | | | | -- MOS_MIGRATED_REVID=124843113
* CppCompileAction learns its tool from an action_config, if present. OSX ↵Gravatar Cal Peyser2016-06-15
| | | | | | | crosstool now points at appropriate clang in its action_configs. -- MOS_MIGRATED_REVID=124830389
* Use only one list of parameters for SkylarkSignatureGravatar Damien Martin-Guillerez2016-06-14
| | | | | | | | | | | | | Optional and named parameters are now specified using `defaultValue` and `named` (and `positional`). The new structure allow for parameters that are both named and positional (which was forbidden before). This new structure will be used to give the @SkylarkCallable annotation the possibility to provide named and default arguments. It should be a functional no-op for Bazel users. -- MOS_MIGRATED_REVID=124821455
* Minor refactoring of C++ compilation.Gravatar Lukacs Berki2016-06-14
| | | | | -- MOS_MIGRATED_REVID=124815043
* Allow a config_setting() to match against the default grte_top.Gravatar Googler2016-06-14
| | | | | -- MOS_MIGRATED_REVID=124792198
* Rollback of commit bbab724f9c3600952a65a90febf50e1118568a96.Gravatar Peter Schmitt2016-06-14
| | | | | | | | | | | | | | *** Reason for rollback *** Breaks linking for all objc targets. *** Original change description *** Wrap inputs to ObjcLink (via clang) invocations in an objlist, and pass the args as a -filelist arg. This prevents certain many-arg actions from making clang unhappy. -- MOS_MIGRATED_REVID=124781451
* --Gravatar Carmi Grushko2016-06-14
| | | | MOS_MIGRATED_REVID=124763523
* Add --[no]instrument_test_targets option to BlazeGravatar Googler2016-06-14
| | | | | | | | | | | | | | | When true (the default), test rules included by --instrumentation_filter are instrumented. When false, test rules are excluded from instrumentation (whether or not their names would be matched by --instrumentation_filter). This option provides a superior way to exclude test rules from instrumentation, compared to setting --instrumentation_filter exclusions based on test rule naming conventions. Naming conventions vary from language to language and are not always followed. Blaze already has enforced semantics for test targets (test rule build function names _must_ end in "_test", see TargetUtils.isTestRule). In general, when either option is available, it's better to rely on enforced semantics than unenforced conventions. Note that this default preserves present behavior. In the future, I think it would make sense to: * Change the default value of --instrument_test_targets to false. * Change the default value of --instrumentation_filter to an empty string (match everything). RELNOTES: Add --instrument_test_targets option. -- MOS_MIGRATED_REVID=124732226
* fix crash that can happen when using incremental dexing *and* ↵Gravatar Googler2016-06-13
| | | | | | | --android_crosstool_top due to a busted checkArgument condition -- MOS_MIGRATED_REVID=124616411
* Always use android_compiler if android_crosstool_top is set.Gravatar Googler2016-06-13
| | | | | | | | | | | Previously, android_compiler would only be used if fat_apk_cpu and android_crosstool_top were both set. This led to confusing errors about invalid toolchains. If --android_crosstool_top is set but --fat_apk_cpu is not, then --cpu will become --android_cpu during the transition. (android_cpu defaults to armeabi if it is not set.) RELNOTES: If --android_crosstool_top is set, native code compiled for android will always use --android_compiler and not --compiler in choosing the crosstool toolchain, and will use --android_cpu if --fat_apk_cpu is not set. -- MOS_MIGRATED_REVID=124611770
* Adds a step before creating the resource apk (ap_) to swap out the applicationGravatar Alex Humesky2016-06-13
| | | | | | | tag's name attribute to the Instant Run application class. -- MOS_MIGRATED_REVID=124606107
* Add addMainDexListActionArguments to AndroidSemantics.Gravatar Googler2016-06-13
| | | | | -- MOS_MIGRATED_REVID=124602618
* Have SkylarkAttr expose whether a skylark rule class attribute type is ↵Gravatar Nathan Harmata2016-06-10
| | | | | | | configurable or not. -- MOS_MIGRATED_REVID=124565334
* Rollback of commit b19d632b5ad832ec829980a8bf71b18bbf277143.Gravatar Yun Peng2016-06-10
| | | | | | | *** Reason for rollback *** -- MOS_MIGRATED_REVID=124556360
* Use the cc_toolchain rule instead of an event bus-based hack to signal an ↵Gravatar Lukacs Berki2016-06-10
| | | | | | | | | error when the LIPO context is not a cc_binary. RELNOTES[NEW]: LIPO context (--lipo_context) can now also be a cc_test (in addition to cc_binary) -- MOS_MIGRATED_REVID=124555465
* Rollback of commit 0150e7fa5963fa569d9795c02fd3afe3c52ff30c.Gravatar Yun Peng2016-06-10
| | | | | | | *** Reason for rollback *** -- MOS_MIGRATED_REVID=124553522
* Rollback of commit 828a9e2f167db8c4debca6e00ee37dd030849c2f.Gravatar Yun Peng2016-06-10
| | | | | | | *** Reason for rollback *** -- MOS_MIGRATED_REVID=124549894
* Rollback of commit cc993c26047f8d459711ed211338570ce7c1576c.Gravatar Yun Peng2016-06-10
| | | | | | | *** Reason for rollback *** -- MOS_MIGRATED_REVID=124548575
* Adds the path to the debug keystore to the apk_manifest.Gravatar Alex Humesky2016-06-10
| | | | | -- MOS_MIGRATED_REVID=124510100
* Reverts the protobuf lib dependency being loaded from tools/objc, and ↵Gravatar Sergio Campama2016-06-10
| | | | | | | instead load it from //external. -- MOS_MIGRATED_REVID=124480945