aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Fix binary attribute documentation for apple1 and apple2 extension rules.Gravatar Chris Parsons2016-08-16
| | | | | -- MOS_MIGRATED_REVID=130330900
* 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
* Gracefully handle non existing test descriptionsGravatar Googler2016-08-16
| | | | | | | | | This change is necessary due to recent move away from Guava immutable collections (which returns null in case of non-existing item) to Java native ones (some of which throws exceptions). One such use case where it was breaking the code was tests that uses junitparam, which might be an indication of another problem. -- MOS_MIGRATED_REVID=130321230
* Removes unused imports from ApkBuilderMainGravatar Adam Michael2016-08-16
| | | | | -- MOS_MIGRATED_REVID=130294440
* 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
* Reference IntelliJ plugin in Bazel docs.Gravatar Googler2016-08-16
| | | | | -- MOS_MIGRATED_REVID=130240987
* Implement --normalize option. Refactor file writing code in OutputJar. ↵Gravatar Sasha Smundak2016-08-16
| | | | | | | Refactor test file preparation code in OutputJarSimpleTest. -- MOS_MIGRATED_REVID=130148073
* 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
* Add export ZERO_AR_DATE=1 to libtool.sh to make the output hermetic, and ↵Gravatar Chris Parsons2016-08-16
| | | | | | | touch the output of libtool to avoid hitting a bug in ld. -- MOS_MIGRATED_REVID=130093791
* Add CreateTextFile to test_util.Gravatar Sasha Smundak2016-08-16
| | | | | -- MOS_MIGRATED_REVID=130084544
* Implement --include_prefixes.Gravatar Sasha Smundak2016-08-16
| | | | | -- MOS_MIGRATED_REVID=130083166
* 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
* Include the location of the current swiftmodule for LLDB.Gravatar Dmitry Shevchenko2016-08-12
| | | | | | | * LLDB spawns an instance of Swift compiler under the hood, which is configured via command line flags recorded in DWARF at the time of compilation. In order for LLDB to properly import the module for the target being built, that command line has to provide a path to that module. -- MOS_MIGRATED_REVID=130045157
* 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
* Continuing removing GUAVA dependencies from junitrunner (junit.runner.shardingGravatar Elena-Irina Iancu2016-08-12
| | | | | | | | | | | | | | | | | | | & util). 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. Removing most of Guava dependencies from junit.runner.sharding. A more significant change regards rewriting Guava method assertThat().containsExactlyElementsIn(). Also removing previous trailing spaces. -- MOS_MIGRATED_REVID=129992951
* 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
* Remove MergeeManifestsConverter used for the transition of --mergeeManifests ↵Gravatar Andrew Pellegrini2016-08-12
| | | | | | | from a list of paths to a dictionary of paths and manifest names. -- MOS_MIGRATED_REVID=129987988
* 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
* DOC: Fix typo (unclosed string)Gravatar Gustav Larsson2016-08-12
| | | | | | | | | | Small typo fix in documentations. Closes #1629. -- Reviewed-on: https://github.com/bazelbuild/bazel/pull/1629 MOS_MIGRATED_REVID=129985238
* 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
* Continuing removing GUAVA dependencies from junitrunner (junit.runner.model).Gravatar Elena-Irina Iancu2016-08-11
| | | | | | | | | | | | | | | | | | Bazel users that are using a different Guava version than the one in the junitrunner jar are getting an IncompatibleClassChangeError. This CL rewrites parts of junitrunner code so it won't depend on Guava anymore. Continuing progress on issue #1150. Removing most of Guava dependencies from junit.runner.model, more significant changes include converting ImmutableMap/List to Map/List and converting Optional<> objects to nullable objects, removing all nullable checks regarding them. CL also removes previous trailing spaces and replaces LinkedList<> with ArrayList<>. -- MOS_MIGRATED_REVID=129960401
* 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
* Dynamic config test improvements:Gravatar Greg Estren2016-08-11
| | | | | | | | - Adds a helper routine to get all configured targets with a given label - Enhances latebound split test to check that deps actually take expected configurations -- MOS_MIGRATED_REVID=129906477
* 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