aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
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
* Mention that redirection from HTTP to HTTPS doesn't workGravatar Kristina Chodorow2016-06-21
| | | | | | | Fixes #527. -- MOS_MIGRATED_REVID=125447030
* Skylark: ObjcProvider related errors now use the correct Skylark type ↵Gravatar Florian Weikert2016-06-21
| | | | | | | instead of Java's Class<?>. -- MOS_MIGRATED_REVID=125443529
* Allow any filename in the srcs attribute of the sh_* rules.Gravatar Julio Merino2016-06-21
| | | | | | | | | | | | There is no reason for shell scripts to end in .sh or .bash: shell scripts can, and often do, have no extension because they are intended to be directly runnable from the source tree. Therefore, change the sh_* rules to allow any filename in their srcs attribute. -- MOS_MIGRATED_REVID=125442088
* Rollback of commit b692917a73e73d05a65979992f87ad93445dee97.Gravatar Damien Martin-Guillerez2016-06-21
| | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Broke Bazel build on Ubuntu 15.10, e.g.: http://ci.bazel.io/view/Bazel%20bootstrap%20and%20maintenance/job/Bazel/JAVA_VERSION=1.8,PLATFORM_NAME=ubuntu_15.10-x86_64/611/console *** Original change description *** Make create_embedded_tools.sh an sh script This script is called directly (and not as an argument to the shell), hence the #!-line needs to be correct. As the script does not use any bash-specific feature, we can maintain it as a script for the POSIX shell, which has the advantage that the path is canonical. -- MOS_MIGRATED_REVID=125441679
* Rollback of commit 2ee0377d835af26a6488ad7b80291953860c4dce.Gravatar Philipp Wollermann2016-06-21
| | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks Bazel build on Ubuntu 15.10. Manually tested that rolling this back fixes the build. *** Original change description *** sandbox: Mount input files and directories actually read-only. Fixes #1364. RELNOTES[INC]: Bazel's sandbox mounts input files read-only in this release. If your build suddenly fails due to tools not being able to write to files, then this is probably working as intended (you should never modify input files in your build), but please feel free to provide feedback. -- MOS_MIGRATED_REVID=125439581
* 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
* sandbox: Remove debug flags from LinuxSandboxedStrategyTestCase as they were ↵Gravatar Philipp Wollermann2016-06-21
| | | | | | | causing LocalLinuxSandboxedStrategyTest to fail due to unexpected lines in the output. -- MOS_MIGRATED_REVID=125439352
* Update the startup option help texts.Gravatar Ulf Adams2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125436393
* We need to keep LD_LIBRARY_PATH in the environment for actions that use the ↵Gravatar Philipp Wollermann2016-06-21
| | | | | | | | | default shell environment. Fixes #1420, fixes #1358, fixes #1341, fixes #1152. -- MOS_MIGRATED_REVID=125429839
* Set output_to_bindir to 1 for libunix.dylibGravatar Damien Martin-Guillerez2016-06-21
| | | | | | | This is needed for generate_workspace to behave correctly on OS X, see https://bazel-review.googlesource.com/#/c/3460. -- MOS_MIGRATED_REVID=125428956
* Added more pointers to Aspect-related documentation.Gravatar Florian Weikert2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125428066
* Add an option for the number of actions shown in the experimental UIGravatar Klaus Aehlig2016-06-21
| | | | | | | | | | | | | | Currently, the experimental UI always shows the 3 oldest, still running actions. While this seems a reasonable default, some users requested to be able to change the number of actions shown. Hence replace the hard-coded value by a flag. While there, also fix an off-by-one error in deciding when to put the ellipsis symbol. -- Change-Id: I037d208360fa1d3f100c99ab1ab1f5fc140138ac Reviewed-on: https://bazel-review.googlesource.com/#/c/3811 MOS_MIGRATED_REVID=125427168
* Rollback of commit 1f1f207573c7b9c3e2d3ca1ffb0780a8fd592214.Gravatar Googler2016-06-21
| | | | | | | | | *** Reason for rollback *** Doesn't handle aapt that doesn't generate R.txt properly. -- MOS_MIGRATED_REVID=125405481
* Optimize an assertion which was showing up in profiles. (Even better might beGravatar Googler2016-06-21
| | | | | | | | to remove the call from RuleConfiguredTarget.getProvider() and instead check the types when the providers ImmutableMap is built.) -- MOS_MIGRATED_REVID=125389561
* Remove breakpad support from bazelGravatar Dmitry Shevchenko2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125385321
* Add action to write android_binary and lib R.classes directlyGravatar Googler2016-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For android_binary rules, we regenerate all of the R.java of the libraries to get the final resource IDs. Compiling all of them together can be slow with the normal JavaBuilder, so add a specialized class writer. Example build with many R.java classes: - R.java -> R.class via JavaBuilder: over 80s - ErrorProne takes about 40% of that. So turning off ErrorProne would be projected to be 48s. Some of ErrorProne slowness is from static field checks (e.g., on Flag classes), which may look up the same Type over and over. In comparison, if we write our own bytecode with ASM: - ~16s total - 4.7s to parse R.txt - 4.8s to write class files - 5.8s to copy and compress .jar TODO: clean up SymbolLoader patching (upstream) This only creates the action. We will need to separately wire this up in blaze. NOTE: This also makes the exising R.txt loading used by live code multi-threaded, since that is partly I/O-bound. Something to watch out for (for flakiness, etc.) once this is submitted. -- MOS_MIGRATED_REVID=125384467
* Updates BuildViewTestCase.invalidatePackages() to also invalidateGravatar Greg Estren2016-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | configurations. This is important for dynamic configurations. invalidatePackages() invalidates every file. This includes CROSSTOOL, which the CppConfiguration fragment depends on. For static configurations, this doesn't matter because all configurations and their fragments are pre-computed at the beginning of the build (or in the case of tests before the test case starts). For dynamic configurations, the configuration can get custom-created each configured target. When that happens after invalidatePackages, a new CppConfiguration instance gets created. This can impact code like CcLibraryHelper.addDeps(), which assumes equality (CppConfiguration has no .equals() method). Normally that's not a problem because the same CppConfiguration instance is used for every target in the post-invalidatePackages() graph. But host configurations break this: we keep a non-Skyframe host config cache in SkyframeBuildView.hostConfigurationCache. Without this change, it doesn't get cleared out, so it keeps old pre-invalidation references that under certain circumstances get applied to post-invalidation targets. -- MOS_MIGRATED_REVID=125379342
* Adds the label of the rule that produced the artifact to the apk manifest.Gravatar Alex Humesky2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125376859
* Batchify child node lookups in Skyframe cycle detection.Gravatar Eric Fellheimer2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125376554
* Simplify OutputGroupProviderTest.Gravatar Michael Staib2016-06-21
| | | | | | | | Avoids constructing and manipulating expected value sets for containsExactlyElementsIn when containsExactly will do. -- MOS_MIGRATED_REVID=125371446
* Simplify the logic of determining output groups.Gravatar Alex Humesky2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125368119
* Minor change to add QueryableGraphBackedSkyFunctionEnvironment.Gravatar Janak Ramakrishnan2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125362963
* Move Android and Java 7 javacopts into java_toolchainGravatar Liam Miller-Cushon2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125360308
* Minor improvement to cycle detection algorithm: Do not recurse into done ↵Gravatar Eric Fellheimer2016-06-21
| | | | | | | | | | | nodes, where there is no work to do anyway. This triggered some non-determinism that we explicitly workaround in the unit tests. Also add a comment about a potential but unrelated optimization. -- MOS_MIGRATED_REVID=125355303
* Remove --objc_generate_debug_symbols flagGravatar Dmitry Shevchenko2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125354844
* Add license types to the documentationGravatar Kristina Chodorow2016-06-21
| | | | | | | Fixes #642. -- MOS_MIGRATED_REVID=125351602
* Make skylark repository rules accept basic rule attributesGravatar Kristina Chodorow2016-06-21
| | | | | | | Fixes #1314. -- MOS_MIGRATED_REVID=125340361
* experimental UI: be less verbose about test summariesGravatar Klaus Aehlig2016-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | To keep the noise of messages in the scroll-back buffer low, limit which test summaries are shown there. - If a test fails to build, the error message about the build failure is already in the scroll-back buffer---and more useful to the user anyway. - If a test is not run (either because the user interrupted the build, or because of a build error), then either the user is aware of it anyway or the information about the build failure is present and more useful. Also, this is only detected at the end of the build, were a summary of the tests is shown; hence avoid duplication here. - If a test has status failed and there is precisely one failure log, then the summary does not provide any useful information compared to the individual FAIL message in the scrollback buffer. While there, also show the precise status of the summary. -- Change-Id: I13665db24f956c8d8b651dc38859649085b8bbcf Reviewed-on: https://bazel-review.googlesource.com/#/c/3830 MOS_MIGRATED_REVID=125339810
* Don't generate links for non-documented modules since this results in dead ↵Gravatar Florian Weikert2016-06-21
| | | | | | | links. -- MOS_MIGRATED_REVID=125336775
* Fix new_git_repository documentationGravatar Kristina Chodorow2016-06-21
| | | | | | | Fixes #1333. -- MOS_MIGRATED_REVID=125335174
* Move execroot tree creation to its own classGravatar Kristina Chodorow2016-06-21
| | | | | | | Part 1 of many for #1262, rolling forward. -- MOS_MIGRATED_REVID=125334954
* Fixed more Bazel tests on Windows by using the right line separatorGravatar Yun Peng2016-06-21
| | | | | | | | | | | | | | Newly passing: //src/test/java/com/google/devtools/build/... lib:syntax_test lib/skylark:SkylarkTests lib:analysis_actions_test lib:pkgcache_test -- Change-Id: Iefdcf9e90ad28e664126aa7269487db95da1000a Reviewed-on: https://bazel-review.googlesource.com/#/c/3840 MOS_MIGRATED_REVID=125324588
* sandbox: Mount input files and directories actually read-only.Gravatar Philipp Wollermann2016-06-21
| | | | | | | | | Fixes #1364. RELNOTES[INC]: Bazel's sandbox mounts input files read-only in this release. If your build suddenly fails due to tools not being able to write to files, then this is probably working as intended (you should never modify input files in your build), but please feel free to provide feedback. -- MOS_MIGRATED_REVID=125324318
* Avoid the main use of String.format() during loading and analysis. This isGravatar Googler2016-06-21
| | | | | | | | a noticeable hotspot in profiles. (It would be even better if we could avoid constructing this string until we actually need to produce an error message.) -- MOS_MIGRATED_REVID=125323226
* sandbox: So refactoring, much no-op change, wow.Gravatar Philipp Wollermann2016-06-21
| | | | | | | (But this will make it easier to try out the overlayfs-based sandbox later.) -- MOS_MIGRATED_REVID=125320914
* Optimize Environment.lookup() to avoid Throwable.fillInStackTrace();Gravatar Googler2016-06-21
| | | | | | | | | | this is a noticeable hotspot in profiles of the loading phase. (Every caller of lookup() or importSymbol() catches this and either converts it to a non-exceptional condition or throws a new exception which will have its own stack trace.) -- MOS_MIGRATED_REVID=125320351
* Remove the check for the existence of the server process in the signal ↵Gravatar Lukacs Berki2016-06-21
| | | | | | | | | handler in the client. This makes Ctrl-C work on Windows somewhat: in particular, in non-batch mode and while no actions are running. -- MOS_MIGRATED_REVID=125318172
* 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
* Restore comments documenting the NestedSet orderings (accidentallyGravatar Googler2016-06-20
| | | | | | | removed along with the per-order expander classes). -- MOS_MIGRATED_REVID=125215096
* Global cleanup change.Gravatar Googler2016-06-20
| | | | | -- MOS_MIGRATED_REVID=125188645
* 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
* In FileSystemValueChecker, only check TreeArtfacts that are in theGravatar Rumou Duan2016-06-20
| | | | | | | passed-in modified file sets. -- MOS_MIGRATED_REVID=125173579
* Trim configurations requested for a target in BuildViewTestCase.Gravatar Greg Estren2016-06-20
| | | | | -- MOS_MIGRATED_REVID=125171507
* Fix comment for GetServerPid().Gravatar Lukacs Berki2016-06-20
| | | | | -- MOS_MIGRATED_REVID=125171210
* 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
* experimental UI: delay updates after action completionGravatar Klaus Aehlig2016-06-20
| | | | | | | | | | | | | Very often, when an action completes, a new one is started directly afterwards. With this in mind, delay the refresh after the completion of an action as long as acceptable by the refresh rate limiting. If indeed an action starts within that time, we have replaced a double refresh of the progress bar by a single one, thus make it appear less flickering. -- Change-Id: I0e9143d6bba9929265ad2b6a3699486a1d5b3b2b Reviewed-on: https://bazel-review.googlesource.com/#/c/3823 MOS_MIGRATED_REVID=125165516
* experimental UI: also report the strategy of running actionsGravatar Klaus Aehlig2016-06-20
| | | | | | | | | | In the experimental UI, for the running actions also report their strategy. This will give a more complete picture of what Bazel is currently doing. -- Change-Id: I9553c952ed494e0db225b2a1ae5e8eba00f68617 Reviewed-on: https://bazel-review.googlesource.com/#/c/3820 MOS_MIGRATED_REVID=125162808