| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-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
|
|
|
|
|
|
|
| |
instead of Java's Class<?>.
--
MOS_MIGRATED_REVID=125443529
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125428066
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125385321
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125376859
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125360308
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125354844
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125187340
|
|
|
|
|
|
|
| |
cc_fake_binary
--
MOS_MIGRATED_REVID=125187200
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125166943
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125160288
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
describes the compilation, for use as is in another Java compilation.
--
MOS_MIGRATED_REVID=125128647
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** 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
|
|
|
|
|
|
|
| |
Previously we were interspersing these doubly, resulting in constructs like "-F -F -F FrameworkPath"
--
MOS_MIGRATED_REVID=125071017
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125013752
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124975604
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124968182
|
|
|
|
|
|
|
| |
use_objc_header_names attribute.
--
MOS_MIGRATED_REVID=124955824
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124951254
|
|
|
|
|
|
|
|
|
| |
-stdlib=libc++.
RELNOTES: When building ObjectiveC++, pass the flag -std=c++11 in addition to -stdlib=libc++.
--
MOS_MIGRATED_REVID=124867581
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124848977
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124843113
|
|
|
|
|
|
|
| |
crosstool now points at appropriate clang in its action_configs.
--
MOS_MIGRATED_REVID=124830389
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124815043
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124792198
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** 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
|
|
|
|
| |
MOS_MIGRATED_REVID=124763523
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
--android_crosstool_top due to a busted checkArgument condition
--
MOS_MIGRATED_REVID=124616411
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
tag's name attribute to the Instant Run application class.
--
MOS_MIGRATED_REVID=124606107
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124602618
|
|
|
|
|
|
|
| |
configurable or not.
--
MOS_MIGRATED_REVID=124565334
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
--
MOS_MIGRATED_REVID=124556360
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
--
MOS_MIGRATED_REVID=124553522
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
--
MOS_MIGRATED_REVID=124549894
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
--
MOS_MIGRATED_REVID=124548575
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124510100
|
|
|
|
|
|
|
| |
instead load it from //external.
--
MOS_MIGRATED_REVID=124480945
|