aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
Commit message (Collapse)AuthorAge
* Allow Skyframe graph lookups and value retrievals to throw InterruptedException.Gravatar Janak Ramakrishnan2016-08-16
| | | | | | | The only place we now don't handle InterruptedException is in the action graph created after analysis, since I'm not sure that will be around for that much longer. -- MOS_MIGRATED_REVID=130327770
* Issue deprecation warnings for deprecated code paths.Gravatar Googler2016-08-16
| | | | | -- MOS_MIGRATED_REVID=130326607
* Fix grammar in documentationGravatar Michajlo Matijkiw2016-08-16
| | | | | | | I must have been between "similar to" and "same as" and chose both. -- MOS_MIGRATED_REVID=130281024
* Clarify comments and function names in AggregatingAttributeMapperGravatar Mark Schaller2016-08-16
| | | | | | | | A small cleanup and refactoring in advance of heavier work to be done for Skylark computed defaults. -- MOS_MIGRATED_REVID=130140706
* Support xcode project generation in experimental_objc_library.Gravatar Cal Peyser2016-08-16
| | | | | -- MOS_MIGRATED_REVID=130123926
* Be more lenient with slow-to-react servers.Gravatar Michajlo Matijkiw2016-08-16
| | | | | | | | | | | | | | | | Increase the ping timeout on connect from five to ten seconds. This gives servers which may be suffering from gc pressure or other ailments extra time to respond. On the other end, wait for orphaned servers to really die before proceeding. This prevents race conditions around the delivery of SIGKILL and the starting of the new server. This may make us fail slower when the server is having hard times, however it should give us better determinism, and these conditions should be rare. -- MOS_MIGRATED_REVID=130118918
* Add copts and objccopts to experimental_objc_library.Gravatar Cal Peyser2016-08-16
| | | | | -- MOS_MIGRATED_REVID=130114142
* Support setting the build id via the client environmentGravatar Klaus Aehlig2016-08-16
| | | | | | | | | | | | | | | | Normally, Bazel generates a new UUID for every build invocation. In some use cases, however, the invocation of Bazel is part of a larger build process or otherwise controlled by a different tool. In this case, it is useful to tell Bazel the identifier of the build to make it fit with other identifiers generated by the controlling process. To achieve this, the variable BAZEL_INTERNAL_INVOCATION_ID from the client environment is inspected and if it is set and its value is a syntactically correct UUID, this UUID will be used as the identifier for the build. It is in the responsibility of the caller to ensure the id is sufficiently unique if that environment variable is set. -- MOS_MIGRATED_REVID=130079446
* Use processed instead of merged manifest in android deploy infoGravatar Googler2016-08-12
| | | | | | | | | | The processed manifest has applicationId subbing while the merged one is before substitution (if the developer hasn't migrated to the new gradle- style manifest merger). -- MOS_MIGRATED_REVID=130046777
* Have AQV propagate the most severe error encountered by any of its tasks. ↵Gravatar Nathan Harmata2016-08-12
| | | | | | | | | Make sure that ParallelEvaluator treats SchedulerExceptions as less severe than other RuntimeExceptions (it already did, but add a comment emphasizing this). The combination of the above means that we don't ignore hypothetical crashes in ParallelEvaluator worker threads _after_ a SchedulerException (e.g. due to an error in nokeep_going evaluation). -- MOS_MIGRATED_REVID=130044230
* Changes DependencyResolver <Attribute, Dep> map from a ListMultimap to new classGravatar Greg Estren2016-08-12
| | | | | | | | | | | | | | | | | | | | | | OrderedSetMultimap. This maintains insertion order while eliminating duplicates. Certain rules, in particular, otherwise break this invariant: https://github.com/bazelbuild/bazel/blo[]e3e28274cca5b87f48abe33884edb84016dd3/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java#L403 There's no reason (to my knowledge) to need multiple instances of the same <Attribute, Dependency> pair. More context from Google code review: (Michael Staib): > There are many things which pass around a dependentNodeMap or help construct one or modify one. We want an interface which has the right guarantees. > ListMultimap is not the right interface because it has no guarantee of unique elements, which we want - we don't want the problem that this CL ran into, and there's no reason (that we know of, to be confirmed) that anyone would want multiple identical Dependencies. > SetMultimap is not the right interface because it has no guarantee of deterministic iteration order or efficient iteration, which we want - dependency order sometimes matters (e.g., Java classpath or C++ link order). > We agreed that the best way to get what we want is to define our own interface with its own simultaneous uniqueness and iterability guarantees. Unspoken in the discussion was why we wouldn't just use LinkedHashMultimap as the thing we pass around. IMO the reason for that is that we don't care that it be a LinkedHashMultimap specifically; if tomorrow Guava comes out with a faster cooler map that has deterministic and efficient iteration and guarantees element uniqueness, we want it. > In this case we're going to make the "interface" be a (final?) class: OrderedSetMultimap, an extension of ForwardingSetMultimap which delegates to LinkedHashMultimap, an implementation which does support both of those guarantees. > I had mentioned in the conversation that none of the Multimap implementations make guarantees about key iteration order, but this is not true - LinkedHashMultimap preserves key insertion order. We should perhaps declare this as part of the OrderedSetMultimap contract as well. -- MOS_MIGRATED_REVID=130037643
* Rollback of commit f107debac45ddf5859b1eb963379769b5815b18f. Also includes ↵Gravatar Janak Ramakrishnan2016-08-12
| | | | | | | | | the logical rollback of commit 67ad82a319ff8959e69e774e7c15d3af904ec23d. RELNOTES[INC]: Bazel supports Unix domain sockets for communication between its client and server again, temporarily, while we diagnose a memory leak. -- MOS_MIGRATED_REVID=130027009
* Implement objc archiving in the crosstool. This involves a few steps:Gravatar Cal Peyser2016-08-12
| | | | | | | | | | | 1) In ExperimentalObjcLibrary, if static linking is required, signal CcLibraryHelper to create a static link action and pass in the necessary variables/link action input. 2) Add a new link type (Link.LinkTargetType.OBJC_STATIC_LIBRARY). This involves changes to Link and LinkCommandLine. 3) For this new link type, implement static linking the OSX CROSSTOOL. Also add tools in the crosstool package that point at libtool, which performs the archiving. -- MOS_MIGRATED_REVID=130022410
* Add android_test#data to android deploy info.Gravatar Googler2016-08-12
| | | | | -- MOS_MIGRATED_REVID=130016248
* Stream the right-hand side of subtractive query expressions. This means only ↵Gravatar Eric Fellheimer2016-08-12
| | | | | | | | | the left-hand side needs to be pinned fully into memory. Intersection is not associative, so we can't do the same thing there. For example, "abc" ^ "abc" = "abc", but "abc" ^ "a" ^ "b" ^ "c" = <null>. -- MOS_MIGRATED_REVID=130015098
* Roll forward fix of global var shadow detectionGravatar Jon Brandvein2016-08-12
| | | | | | | RELNOTES[INC]: Skylark: It is an error to shadow a global variable with a local variable after the global has already been accessed in the function. -- MOS_MIGRATED_REVID=130014492
* Prefer IP agnostic terms/operations in favor of those that work only with ipv4.Gravatar Shreya Bhattarai2016-08-12
| | | | | -- MOS_MIGRATED_REVID=129997924
* Adds propagation of protobuf's headers and search paths through ↵Gravatar Sergio Campama2016-08-12
| | | | | | | ObjcProtoProvider and ObjcProtoAspect. -- MOS_MIGRATED_REVID=129997369
* Allow local spawns to add custom execution info.Gravatar Eric Fellheimer2016-08-12
| | | | | -- MOS_MIGRATED_REVID=129994187
* Record the category of the artifact to be linked in LinkerInput.Gravatar Lukacs Berki2016-08-12
| | | | | | | | | It's currently only used for sanity checks, but the idea is that we'll use this field to decide what to do with a given linker input instead of inferring things from its file name. Also make artifact name creation a bit simpler by using the same set of variables for compiler and linker outputs. -- MOS_MIGRATED_REVID=129990944
* Add the repository name as a parameter to the output path functionsGravatar Kristina Chodorow2016-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't do anything yet, it's in preparation for the execroot rearranging change. The execroot will have one bazel-out per repo, so it'll look like: execroot/ repo1/ bazel-out/ local-fastbuild/ bin/ repo2/ bazel-out/ local-fastbuild/ bin/ genfiles/ repo3/ bazel-out/ local-fastbuild/ testlogs/ and so on. Thus, any output path (getBinDirectory() & friends) needs to know what the repo name is. This changes so many places in the code I thought it would be good to do separately, then just flip the functionality in the execroot-rearranging commit. While I was poking around, I changed all of the refs I could from getPackageRelativeArtifact() to getBin/GenfilesArtifact(), so that 1) rule implementation don't have to know as much about roots and 2) they'll be more isolated from other output dir changes. `bazel info` and similar just return roots for the main repository. The only "change" is passing around a target label in the Java rules. Continues work on #1262. -- MOS_MIGRATED_REVID=129985336
* Replace calls to <class>.newInstance with <class>.getConstructor().newInstance.Gravatar Ulf Adams2016-08-12
| | | | | | | This is safer; newInstance on class objects bypasses exception checking. -- MOS_MIGRATED_REVID=129976805
* cpp: remove unused WaitForServerDeath() functionGravatar Thiago Farina2016-08-12
| | | | | | | | | | It is unused since commit f107debac45ddf5859b1eb963379769b5815b18f: (" Remove the AF_UNIX client/server communication"). -- Change-Id: Ia4051eb518ab7e97fb0523b0b3cdb4c0f19e704c Reviewed-on: https://bazel-review.googlesource.com/#/c/4290 MOS_MIGRATED_REVID=129971957
* Add ide-compile output group to IDE aspect.Gravatar Googler2016-08-11
| | | | | | | | | | | | This output group will contain all artifacts that are needed to compile the project (and get compilation errors), but aren't needed during the resolve step. Initially ide-compile is the object file output from any cc_* rule, so we can get compile errors. -- MOS_MIGRATED_REVID=129937436
* The Android transition requires a valid CPU value. If we don't have one, ↵Gravatar Googler2016-08-11
| | | | | | | | | don't do the split. RELNOTES: Disable the Android split transition if --android_cpu and fat_apk_cpu are both empty. -- MOS_MIGRATED_REVID=129931354
* Rollback of commit fbaa700337bf0cf9083f083e6cd0d2f82faf1506.Gravatar Googler2016-08-11
| | | | | | | | | | | | | | | | *** Reason for rollback *** I want to do this in a way that exposes the data attribute only for android_test and android_binary, so I'll add it to the deploy manifest instead. *** Original change description *** Expose test "data" attribute to IDE. This is needed to deploy android_tests to the device for testing. For symmetry we expose it for all tests rules. -- MOS_MIGRATED_REVID=129926351
* Sets SONAME on shared objects in Android binaries.Gravatar Adam Michael2016-08-11
| | | | | | | | | | | | | | | Adds a linker flag to set the internal DT_SONAME. This fixes #1578 for SDK 24 and removes the warnings for previous SDKs. There is no need to set the linker flag for android_librarys that depend on native code, because the linker flag will be set by the android_binarys that depend on that android_library. Testing is done via `readelf` executable that is shipped with the NDK. -- Change-Id: I16fdfe6522c8694ce51554289122bf035a61d9ec Reviewed-on: https://bazel-review.googlesource.com/#/c/4302/ MOS_MIGRATED_REVID=129920256
* Fix bug in ParallelEvaluator when an error dep was not newly requested in a ↵Gravatar Janak Ramakrishnan2016-08-11
| | | | | | | | | nokeep_going build because it finished building in between the time it was first requested and when we checked it for done-ness after the SkyFunction evaluation. This results in an IllegalStateException that gets ignored (and, importantly, not propagated) by AbstractQueueVisitor because AbstractQueueVisitor only records and propagates the first Throwable encountered. For nokeep_going evaluations, this will be the SchedulerException that we use for control flow. The IllegalStateException in question is benign in this case because it's merely from a Preconditions failure and doesn't leave anything in a bad state. It's possible, though, that we have other bugs that are being masked in this way. -- MOS_MIGRATED_REVID=129919336
* Minimize ArrayList resizing in MutableList constructionGravatar Michajlo Matijkiw2016-08-11
| | | | | | | | | Specialize the creation of internal contents if we have a collection and can properly presize the ArrayList (this is almost always the case), and provide a special case constructor for concat. -- MOS_MIGRATED_REVID=129919134
* Fix typo in X86CrosstoolsGravatar sergey2016-08-11
| | | | | | | | | | Because of this the combination of `--fat_apk_cpu=x86 --android_compiler=clang3.8 --compilation_mode=dbg` was broken. Closes #1588. -- Reviewed-on: https://github.com/bazelbuild/bazel/pull/1588 MOS_MIGRATED_REVID=129918785
* Expose test "data" attribute to IDE.Gravatar Googler2016-08-11
| | | | | | | | This is needed to deploy android_tests to the device for testing. For symmetry we expose it for all tests rules. -- MOS_MIGRATED_REVID=129918247
* Properly size compact hash map in order to mitigate GC churn.Gravatar Eric Fellheimer2016-08-11
| | | | | -- MOS_MIGRATED_REVID=129912633
* Rollback of commit 6aa2f64045d390f4da77d396cd3fcbe1c44a98c1.Gravatar Chris Parsons2016-08-11
| | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks release. *** *** Original change description *** Fix Environment.Continuation's tracking of global variables RELNOTES[INC]: Skylark: It is an error to shadow a global variable with a local variable after the global has already been accessed in the function. -- MOS_MIGRATED_REVID=129910501
* Delete unused classesGravatar Michajlo Matijkiw2016-08-11
| | | | | -- MOS_MIGRATED_REVID=129910435
* Refactors out ProtocolBuffers2 related code into it's own class. This is the ↵Gravatar Sergio Campama2016-08-11
| | | | | | | | | first step into integrating the grouping behavior for proto targets using the new library. There's no change in functionality, only restructuring of code. -- MOS_MIGRATED_REVID=129903574
* Roll forward commit 94c86135d05a1844263c59f3ce6b1c1917e0f4c8Gravatar Liam Miller-Cushon2016-08-11
| | | | | | | And don't provide a default value for :java_launcher -- MOS_MIGRATED_REVID=129900898
* Get rid of InvalidatableGraph. This explicit concept is no longer needed.Gravatar Nathan Harmata2016-08-11
| | | | | -- MOS_MIGRATED_REVID=129895423
* Add 'provider()' function.Gravatar Dmitry Lomov2016-08-11
| | | | | -- MOS_MIGRATED_REVID=129889793
* Turn on output tree tracking.Gravatar Eric Fellheimer2016-08-11
| | | | | -- MOS_MIGRATED_REVID=129887102
* Put runfiles tree under 'runfiles' directory to avoid conflictGravatar Yun Peng2016-08-11
| | | | | | | | | | | | | Currently, in python executable zip file, the default workspace name "__main__" conflicts with __main__.py file. This change fixes it. Also refactored the bazel_windows_example_test -- Change-Id: I8b9d64d72335148dba41032ce93643d34670a771 Reviewed-on: https://bazel-review.googlesource.com/#/c/5351 MOS_MIGRATED_REVID=129879570
* Store non-code inputs to link actions separately.Gravatar Lukacs Berki2016-08-11
| | | | | | | | | | | | This is a re-submission of commit 99de0d07574f808fee36826289cb1f5c83e3b3e0 (rolled back in commit eff8b365c172b7e904ac6f7bba0c893fed7c91a8) and a few tweaks: - The fix for the bug that caused the rollback (see line 888 in CppModel.java -- we now use addNonCodeInputs() instead of addObjectFiles() to pass in the processed header tokens) - A few extra assertions - A test case - The re-submission of the parts of commit 603b540bbcd7414cd3e2c0b92c1c8985b035e41b that were also rolled back as collateral damage. The bug report didn't contain a precise reproduction, but the bug is trivial enough that I'm comfortable with things this way. -- MOS_MIGRATED_REVID=129872117
* Get rid of python exectuable zip file headerGravatar Yun Peng2016-08-11
| | | | | | | | | | | | | We don't have to add the stub_template.txt as the python zip file header except a simple '#!/usr/bin/env python' shebang, because it's equivalent to 'python <file>'. Apparently, python checks the file type firstly, if it's a zip file, it will find and run __main__.py instead of running the header script. -- Change-Id: Icbd3bacacc3857dc3b857d3a7cb770fd94362b9d Reviewed-on: https://bazel-review.googlesource.com/#/c/5350 MOS_MIGRATED_REVID=129870674
* Substituted NoSuchVariableException with manual checks for performance purposesGravatar Vladimir Moskva2016-08-11
| | | | | -- MOS_MIGRATED_REVID=129869968
* Remove the experimental hardlink / junction code from UnixFileSystem.Gravatar Ulf Adams2016-08-11
| | | | | -- MOS_MIGRATED_REVID=129863453
* Don't follow symlink when looking for python module space, since it breaks ↵Gravatar Yue Gan2016-08-10
| | | | | | | | | sandbox on Mac and is also not necessary. Fixes #1625. -- MOS_MIGRATED_REVID=129860300
* Remove the outputPath parameter from BlazeModule.getFileSystem.Gravatar Ulf Adams2016-08-10
| | | | | | | | It's never used, and it's tricky to run with multiple different file systems in the same process -> remove it to simplify. -- MOS_MIGRATED_REVID=129858142
* Dedupe code: parse startup options in newRuntime, instead of calling it twice.Gravatar Ulf Adams2016-08-10
| | | | | -- MOS_MIGRATED_REVID=129856323
* Pass in the command options to BlazeModule.getCoverageReportFactory.Gravatar Ulf Adams2016-08-10
| | | | | | | This allows us to make the coverage module stateless if it depends on options. -- MOS_MIGRATED_REVID=129852270
* Added support for null terminated queries.Gravatar Andreas Bergmeier2016-08-10
| | | | | | | | Closes #1496. -- Reviewed-on: https://github.com/bazelbuild/bazel/pull/1496 MOS_MIGRATED_REVID=129846158
* Cleanup BlazeRuntime and ServerBuilder slightly.Gravatar Ulf Adams2016-08-10
| | | | | -- MOS_MIGRATED_REVID=129843837