aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* Rename data_path to strip_prefix, and directory to package_dir.Gravatar Yue Gan2016-06-22
| | | | | | | Fixes #1403 -- MOS_MIGRATED_REVID=125543227
* Rollback of commit 611e7cd47de47fd7cc7e08a260d6640803aafd9f.Gravatar Liam Miller-Cushon2016-06-22
| | | | | | | | | | | | | | | | | | *** Reason for rollback *** Introduced classpath ordering bug *** Original change description *** Fix analysis performance regression caused by header compilation When building --direct_dependency/--indirect_dependency args, use a set for the direct jars to avoid an O(n) contains check, and make the CustomMultiArgv class static to avoid a memory leak. Also avoid flattening the NestedSet of direct jars for as long as possible. -- MOS_MIGRATED_REVID=125541563
* Dedupe input artifacts when adding them to a filelist to be passed to ↵Gravatar Chris Parsons2016-06-22
| | | | | | | apple's clang -- MOS_MIGRATED_REVID=125520039
* Parallelize (some of) BinaryOperatorExpressionGravatar Mark Schaller2016-06-22
| | | | | | | | | | | | | | | | | | | | | | | | Adds evalConcurrently to QueryExpression so that expression implementations that support concurrent evaluation can do so using the supplied executor service. Implements concurrent evaluation for the PLUS/UNION cases of BinaryOperatorExpression. Because evalConcurrently requires its callback to be threadsafe, but the callback passed to evaluateQuery may only be called by one thread at a time, this change makes the BatchStreamedCallback constructed by SkyQueryEnvironment threadsafe, including its uniquifier. However, there is a thread-safety problem when the operands of BinaryOperatorExpression are LetExpressions, because their evaluation involves mutating state in the query environment. A future change will fix that. For now, concurrent evaluation is only attempted when the query expression is a BinaryOperatorExpression and all its operands are target literals. -- MOS_MIGRATED_REVID=125505247
* Don't create batching callback in SkyQueryEnvironment.getTargetsMatchingPatternGravatar Mark Schaller2016-06-22
| | | | | | | | | | | | | | For SkyQueryEnvironment, the labelFilter parameter was a predicate that always returned true, so the value of strictScope (read only when the predicate returned false) didn't matter. In addition to batching, the responsibility of the callback constructed in getTargetsMatchingPattern was to apply the filter. Because the filter always returned true, and because there's already a batching callback constructed in evaluateQuery, the getTargetsMatchingPattern callback wasn't doing any useful work. -- MOS_MIGRATED_REVID=125502498
* Create one TargetPatternResolver per SkyQueryEnvironment initializationGravatar Mark Schaller2016-06-22
| | | | | | | | | | | | | | | | | | Instead of creating one GraphBackedRecursivePackageProvider, thread pool, and RecursivePackageProviderBackedTargetPatternResolver per call to getTargetsMatchingPattern, create them once during field initialization and in the init method. Previously, Recursive[..]TargetPatternResolver expected to be given ownership of the executor, so it could shut it down. With this change, the resolver now employs a different technique for blocking on the completion of its asynchronous calls. The change also fixes an issue where the use of the resolver along with the EnvironmentBackedRecursivePackageProvider worked only because the provided executor was a direct executor. -- MOS_MIGRATED_REVID=125499330
* Roll forward of commit 2ba818ca7d2c77f517f1c0e6540c9af0501b7fb2: Ensure ↵Gravatar Andrew Pellegrini2016-06-22
| | | | | | | | | | | manifest merger places the application element as the last child of the manifest element. This is required for Android N. NEW: fixed index out of range exception RELNOTES: Merged manifests are guaranteed to have the application element as the last child of the manifest element as required by Android N. -- MOS_MIGRATED_REVID=125493743
* Skip preloading in SkyQueryEnvironmentGravatar Mark Schaller2016-06-22
| | | | | | | | | SkyQueryEnvironment almost always does no useful work in preloading target patterns. With this CL, preloading no longer happens, and we can delete code paths that depended on preloading. -- MOS_MIGRATED_REVID=125492408
* Make module maps generation conditional for native Swift rules.Gravatar Dmitry Shevchenko2016-06-22
| | | | | | | | | | | | * This fixes a crash when a target has both a bridging header and a * module map RELNOTES: Native Swift rules no longer pull in module maps unconditionally. Use --experimental_objc_enable_module_maps for that. -- MOS_MIGRATED_REVID=125491042
* Update ijar testGravatar Kristina Chodorow2016-06-22
| | | | | | | Another part of rolling forward #1262. -- MOS_MIGRATED_REVID=125481356
* Avoid nested BatchStreamedCallbacks in SkyQueryEnvironmentGravatar Mark Schaller2016-06-22
| | | | | | | | | | | | | | | | | | | | Previously each call to SkyQueryEnvironment.eval wrapped the provided callback in a new batched callback. Nesting batched callbacks results in unnecessary work. With this change, SkyQueryEnvironment will construct one batched callback in evaluateQuery (the top-level function called during query evaluation). Because batched callbacks need to be flushed using processLastPending(), it was convenient not to call through to the base class's implementation of evaluateQuery, but to inline it in SkyQueryEnvironment and add the processLastPending call at the appropriate place. This also clears the way for future customizations to SkyQueryEnvironment's implementation of evaluateQuery. -- MOS_MIGRATED_REVID=125477770
* Fix analysis performance regression caused by header compilationGravatar Liam Miller-Cushon2016-06-22
| | | | | | | | | | When building --direct_dependency/--indirect_dependency args, use a set for the direct jars to avoid an O(n) contains check, and make the CustomMultiArgv class static to avoid a memory leak. Also avoid flattening the NestedSet of direct jars for as long as possible. -- MOS_MIGRATED_REVID=125468789
* Take --output_tree_tracking out of experimental.Gravatar Eric Fellheimer2016-06-22
| | | | | -- MOS_MIGRATED_REVID=125467098
* Change Markdown in execution_requirements docs to HTML, fixes #706.Gravatar John Cater2016-06-22
| | | | | -- MOS_MIGRATED_REVID=125465251
* Roll forward commit 4ab4f05a8cbbaa4b7d938d1d305961fe95a5416c.Gravatar Googler2016-06-22
| | | | | | | Consider /src/ in the path when locating the java root directory. -- MOS_MIGRATED_REVID=125461909
* Add a query how-to doc pageGravatar Kristina Chodorow2016-06-22
| | | | | | | Fixes #1371. -- MOS_MIGRATED_REVID=125459925
* Remove the "glibc" selector from CppConfiguration.Gravatar Lukacs Berki2016-06-22
| | | | | | | It's not used and it causes difficulties, since it's a function of the CROSSTOOL file, which we want not to affect configurations (eventually). -- MOS_MIGRATED_REVID=125455664
* Refactor common code that determines whether a target is coveredGravatar Googler2016-06-22
| | | | | | | | | When --noinstrument_test_targets is set, shouldIncludeLocalSources (in InstrumentedFilesCollector) excludes test targets not excluded by --instrumentation_filter. Build actions enabling coverage instrumentation should know about that, so they don't do unnecessary work. Also pulled shouldIncludeLocalSources out of a static inner class. -- MOS_MIGRATED_REVID=125452712
* Show Skylark syntax exampleGravatar Laurent Le Brun2016-06-22
| | | | | -- MOS_MIGRATED_REVID=125452649
* Fix test runner on Windows without runfiles.Gravatar Dmitry Lomov2016-06-21
| | | | | | | -- Change-Id: I9187a50b8070e0615863d1e4f14373c902278489 Reviewed-on: https://bazel-review.googlesource.com/#/c/3851/ MOS_MIGRATED_REVID=125451055
* Replace #!/bin/bash -eu with #!/bin/bash and "set -eu". Otherwise, the "-eu" ↵Gravatar Philipp Wollermann2016-06-21
| | | | | | | | | is not picked up when you run the scripts manually using "bash script.sh". This is also in our shell style guide: "Executables must start with #!/bin/bash and a minimum number of flags. Use set to set shell options so that calling your script as bash <script_name> does not break its functionality." -- MOS_MIGRATED_REVID=125450962
* Pass a locale to a getLowerCase call in BlazeRuntime.Gravatar Ulf Adams2016-06-21
| | | | | | | | Behavior of getLowerCase/getUpperCase is locale-specific, and can be rather surprising. We should _always_ pass a locale explicitly. -- MOS_MIGRATED_REVID=125450790
* Make serve-doc script work with the version of jekyll that comes with apt-getGravatar Kristina Chodorow2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125449782
* Rename community section to "Contribute!".Gravatar Tobias Werth2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125449676
* Global cleanup change.Gravatar Googler2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125449526
* Fixed two Bazel java tests on Windows by using the right native file systemGravatar Yun Peng2016-06-21
| | | | | | | | | | | | | | Newly passing: //src/test/java/com/google/devtools/build/... lib/skyframe:SkyframeTests lib:actions_test Also refactored FileSystems.java -- Change-Id: I03ab9db5c1ab5e5be4ff1efbc5cf2d280084254a Reviewed-on: https://bazel-review.googlesource.com/#/c/3843 MOS_MIGRATED_REVID=125449456
* Add some docs on what rules and files areGravatar Kristina Chodorow2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125449364
* Minor updates in build-ref.htmlGravatar Laurent Le Brun2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125448446
* 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
* Adds AnchorJS in site footer to create linkable anchors on every heading.Gravatar John Cater2016-06-21
| | | | | | | Fixes #1423 -- MOS_MIGRATED_REVID=125445881
* 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
* Bring contribution page up to date.Gravatar Tobias Werth2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125441622
* 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
* Adds missing arguments. Fixes #1403.Gravatar Yue Gan2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125429700
* 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
* Slightly reformulate skylark paragraph on support page mentioning skylark'sGravatar Tobias Werth2016-06-21
| | | | | | | purpose. -- MOS_MIGRATED_REVID=125426709
* 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