aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Add worker support to single jar.Gravatar Googler2016-08-23
| | | | | | | | RELNOTES: Add worker support to single jar. -- MOS_MIGRATED_REVID=131043398
* Make Digest (renamed Md5Digest) a little more multi-purpose.Gravatar Shreya Bhattarai2016-08-23
| | | | | -- MOS_MIGRATED_REVID=130986194
* Adds data binding support to the Android resource processor.Gravatar Greg Estren2016-08-23
| | | | | | | | | | | | | | | | This is invoked via the new --dataBindingInfoOut flag. If specified and the rule has resources, data binding declarations in layout .xmls are stripped and fed into an aggregated .zip file under that name. The original (stripped) .xml is then fed into aapt for normal processing. If specified and the rule has no resources, an empty file is created. If not specified, everything works as before. -- MOS_MIGRATED_REVID=130973265
* 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
* Removing some of GUAVA dependencies from junit.runner.sharding.Gravatar Elena-Irina Iancu2016-08-23
| | | | | | | | | | | Bazel users that are using a different Guava version than the one in the junitrunner jar are getting an IncompatibleClassChangeError. Rewriting parts of junitrunner code so it won't depend on Guava anymore. Continuing progress on issue #1150. -- MOS_MIGRATED_REVID=130946174
* 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
* Rollback of commit bb5d5efb4b50710241b5b374eb67084f4bf08278.Gravatar Tobias Werth2016-08-23
| | | | | -- MOS_MIGRATED_REVID=130941264
* Remove support for thin archives.Gravatar Lukacs Berki2016-08-23
| | | | | -- MOS_MIGRATED_REVID=130938527
* Move SkylarkImport from LoadStatement to BuildFileASTGravatar Miguel Alcon Pinto2016-08-22
| | | | | | | This allow us to skip the import validation in non-build usages. -- MOS_MIGRATED_REVID=130936612
* Fixes ci breakage in sandbox for //src/tools/singlejar:stored_jarGravatar Yue Gan2016-08-22
| | | | | -- MOS_MIGRATED_REVID=130936320
* Use guava Uninterruptibles#joinUninterruptibly utility method instead of ↵Gravatar Janak Ramakrishnan2016-08-22
| | | | | | | rolling our own in Consumers. -- MOS_MIGRATED_REVID=130936036
* Use guava Uninterruptibles#joinUninterruptibly utility method instead of ↵Gravatar Janak Ramakrishnan2016-08-22
| | | | | | | rolling our own in ExperimentalEventHandler. -- MOS_MIGRATED_REVID=130935928
* Use ${link} references in common attribute documentation.Gravatar David Chen2016-08-22
| | | | | -- MOS_MIGRATED_REVID=130916210
* 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
* Instead of using the smallest group as the inputs for the generation ↵Gravatar Sergio Campama2016-08-22
| | | | | | | 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=130867114
* When building protos on a linking target, propagate the protos header search ↵Gravatar Sergio Campama2016-08-22
| | | | | | | paths so that ios_test targets can access them without the need to use non_propagate_deps for protos. -- MOS_MIGRATED_REVID=130796608
* Flip on @+id parsing by defaultGravatar Googler2016-08-22
| | | | | | | | | | | | | | | | | Avoid writing the non-values IdXmlResourceValues to the merged values.xml file. It's redundant since the merged resources will include the src layout / menu, etc. file. E.g., adds 25KB out of 250KB to some merged values.xml. It can also change the way R.fields are initialized (ids from values.xml are numbered before other sources), that would have changed the numbering in AndroidIntegratinoTest#testAndroidBinaryResourceShrinking and in AndroidResourceClassWriterAaptTest. -- MOS_MIGRATED_REVID=130789333
* The target pointed to by the 'singlejar' attribute of the java_toolchain ↵Gravatar Sasha Smundak2016-08-22
| | | | | | | rule is now handled as a native application, unless its path ends with '.jar' (in which case it is a Java application as before). -- MOS_MIGRATED_REVID=130783627
* Refactor ActionExecutionFunction to avoid unnecessary unwrapping of SkyKeys ↵Gravatar Janak Ramakrishnan2016-08-22
| | | | | | | to Artifacts. Also avoid overhead of creating a set when we only need an iterable, and avoid an unnecessary iteration over the iterable as a contains check. In future, we may not want to pay the cost of constructing a true map in SkyFunction.Environment implementations. Part of this is a preliminary refactor to allow that. -- MOS_MIGRATED_REVID=130765995
* Remove unmatched parenthesis from javadoc.Gravatar Adam Michael2016-08-22
| | | | | -- MOS_MIGRATED_REVID=130765742
* Disable broken tests.Gravatar Cal Peyser2016-08-22
| | | | | -- MOS_MIGRATED_REVID=130761732
* Enables support for compiling generated proto files (as in genrules).Gravatar Sergio Campama2016-08-22
| | | | | -- MOS_MIGRATED_REVID=130755375
* Implement timeouts on Windows.Gravatar Lukacs Berki2016-08-22
| | | | | | | Makes #1664 much less acute. -- MOS_MIGRATED_REVID=130750731
* --Gravatar Luis Fernando Pino Duque2016-08-19
| | | | MOS_MIGRATED_REVID=130747105
* fix ci breakage on MacGravatar Yue Gan2016-08-19
| | | | | -- MOS_MIGRATED_REVID=130745524
* Drop BlazeModule.getOptionCategories, it's never used.Gravatar Ulf Adams2016-08-19
| | | | | -- MOS_MIGRATED_REVID=130742362
* Number test directories from one separately from each basename so that we ↵Gravatar Lukacs Berki2016-08-19
| | | | | | | don't litter test directories in the output base. -- MOS_MIGRATED_REVID=130730383
* The value of the --resources flag is <PATH>:<NAME>, not <NAME>:<PATH>Gravatar Sasha Smundak2016-08-19
| | | | | -- MOS_MIGRATED_REVID=130725849
* Make test "args" attribute configurable.Gravatar Greg Estren2016-08-19
| | | | | | | | A valid argument has been made for opening it up, and it's not clear it's helping anyone by locking it down. -- MOS_MIGRATED_REVID=130686109
* Fixes noneable annotation not being enforced in SkylarkCallable.Gravatar Pedro Liberal Fernandez2016-08-19
| | | | | -- MOS_MIGRATED_REVID=130665520
* Make BuildViewTest#testErrorBelowCycle properly deterministic so that it can ↵Gravatar Janak Ramakrishnan2016-08-19
| | | | | | | test what it's supposed to test, as pointed out by gregce. -- MOS_MIGRATED_REVID=130661645
* Allow CompileOneDependencyTransformer#transformCompileOneDependency to throw ↵Gravatar Janak Ramakrishnan2016-08-19
| | | | | | | InterruptedException instead of wrapping as a TargetParsingException. -- MOS_MIGRATED_REVID=130660310
* Refactor GlobFunction to avoid random-access lookup of the returned map of a ↵Gravatar Janak Ramakrishnan2016-08-18
| | | | | | | SkyFunction.Environment#getValues call. In future, we may not want to pay the cost of constructing a true map in SkyFunction.Environment implementations. This is a preliminary refactor to allow that. -- MOS_MIGRATED_REVID=130649663
* Implement the first stage of Bazel's "Sandbox 2.0" for Linux.Gravatar Philipp Wollermann2016-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has the following improvements upon the older one: - Uses PID namespaces, PR_SET_PDEATHSIG and a number of other tricks for further process isolation and 100% reliable killing of child processes. - Uses clone() instead of unshare() to work around a Linux kernel bug that made creating a sandbox unreliable. - Instead of mounting a hardcoded list of paths + whatever you add with --sandbox_add_path, this sandbox instead mounts all of /, except for what you make inaccessible via --sandbox_block_path. This should solve the majority of "Sandboxing breaks my build, because my compiler is installed in /opt or /usr/local" issues that users have seen. - Instead of doing magic with bind mounts, we create a separate execroot for each process containing symlinks to the input files. This is simpler and gives more predictable performance. - Actually makes everything except the working directory read-only (fixes #1364). This means that a running process can no longer accidentally modify your source code (yay!). - Prevents a number of additional "attacks" or leaks, like accidentally inheriting file handles from the parent. - Simpler command-line interface. - We can provide the same semantics in a Mac OS X sandbox, which will come in a separate code review from yueg@. It has the following caveats / known issues: - The "fallback to /bin/bash on error" feature is gone, but now that the sandbox mounts everything by default, the main use-case for this is no longer needed. The following improvements are planned: - Use a FUSE filesystem if possible for the new execroot, instead of creating symlinks. - Mount a base image instead of "/". FAQ: Q: Why is mounting all of "/" okay, doesn't this make the whole sandbox useless? A: This is still a reasonable behavior, because the sandbox never tried to isolate your build from the operating system it runs in. Instead it is supposed to protect your data from a test running "rm -rf $HOME" and to make it difficult / impossible for actions to use input files that are not declared dependencies. For even more isolation the sandbox will support mounting a base image as its root in a future version (similar to Docker images). Q: Let's say my process-specific execroot contains a symlink to an input file "good.h", can't the process just resolve the symlink, strip off the file name and then look around in the workspace? A: Yes. Unfortunately we could not find any way on Linux to make a file appear in a different directory with *all* of the semantics we would like. The options investigated were: 1) Copying input files, which is much too slow. 2) Hard linking input files, which is fast, but doesn't work cross- filesystems and it's also not possible to make them read-only. 3) Bind mounts, which don't scale once you're up in the thousands of input files (across all actions) - it seems like the kernel has some non-linear performance behavior when the mount table grows too much, resulting in the mount syscall taking more time the more mounts you have. 4) FUSE filesystem, good in theory, but wasn't ready for the first iteration. RELNOTES: New sandboxing implementation for Linux in which all actions run in a separate execroot that contains input files as symlinks back to the originals in the workspace. The running action now has read-write access to its execroot and /tmp only and can no longer write in arbitrary other places in the file system. -- Change-Id: Ic91386fc92f8eef727ed6d22e6bd0f357d145063 Reviewed-on: https://bazel-review.googlesource.com/#/c/4053 MOS_MIGRATED_REVID=130638204
* Fix tmpdir with standalone test strategyGravatar Kristina Chodorow2016-08-18
| | | | | | | | | | | | | | | | | If the tmpdir wasn't below the execroot, Bazel would crash and print a stack trace. Also, the test was incorrect because the EOF wasn't quoted, so it was actually just executing "echo TEST_TMPDIR=/path/to/tmpdir" which (surprise surprise) matched TEST_TMPDIR=/path/to/tmpdir. Finally, the test was _also_ incorrect because it was using the cached test result for the second case, since changing the tmpdir doesn't invalidate the test result. So it not only was comparing a constant string to a constant string, but it wasn't even re-evaluating the constant string. -- MOS_MIGRATED_REVID=130637221
* Fixes order of keyword arguments in the error message printed when a JavaGravatar Pedro Liberal Fernandez2016-08-18
| | | | | | | | | method cannot be found when called from Skylark. PAIR=laurentlb -- MOS_MIGRATED_REVID=130636387
* Add a test for sandboxing when nobody's UID is differentGravatar Brian Silverman2016-08-18
| | | | | | | | | | | | | | | | Please don't merge before I8b8c3596fd2a4c125071406eefd407ca402099dd. The test will fail then. I've seen two issues with this functionality breaking: #481 and #1637. Seems like it's time to add a test which catches the issue on the Debian/Ubuntu machines people commonly test on. The test fails on my Debian system before I8b8c3596fd2a4c125071406eefd407ca402099dd, and passes with that change applied. -- Change-Id: Ib785c874cdb9192920f9935b696bfd6c9c0e5f4f Reviewed-on: https://bazel-review.git.corp.google.com/#/c/5451/ MOS_MIGRATED_REVID=130635565
* call SetupDirectories after uids are mapped in the user namespaceGravatar Jason Lunz2016-08-18
| | | | | | | | | fixes #1637 (https://github.com/bazelbuild/bazel/issues/1637) -- Change-Id: I8b8c3596fd2a4c125071406eefd407ca402099dd Reviewed-on: https://bazel-review.git.corp.google.com/#/c/5410/2 MOS_MIGRATED_REVID=130633667
* Stop catching InterruptedException in remote execution.Gravatar Janak Ramakrishnan2016-08-18
| | | | | | | | | | | | If the user interrupts the build, they probably don't want local fallback to happen. Also clean up an unused method and parameter. -- Change-Id: I6bf80fa110bbba911b0743f24c25240c208c98d1 Reviewed-on: https://bazel-review.googlesource.com/5470 MOS_MIGRATED_REVID=130612791
* Log gRPC interrupt events.Gravatar Lukacs Berki2016-08-18
| | | | | -- MOS_MIGRATED_REVID=130609319
* Use array comparison and not reference comparison between digests.Gravatar Shreya Bhattarai2016-08-18
| | | | | -- MOS_MIGRATED_REVID=130576075
* Fix NPE when aspect propagates over an alias.Gravatar Googler2016-08-18
| | | | | -- MOS_MIGRATED_REVID=130553300
* Implement the fully link action in the OSX crosstool.Gravatar Cal Peyser2016-08-18
| | | | | -- MOS_MIGRATED_REVID=130547971
* Restore objc -> cc_inc_library deps, add regression test.Gravatar Cal Peyser2016-08-18
| | | | | -- MOS_MIGRATED_REVID=130546999
* java_(lite_)?proto_library to get Java proto runtimes from //external: ↵Gravatar Carmi Grushko2016-08-18
| | | | | | | instead of hard-coded values. -- MOS_MIGRATED_REVID=130543727