aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
Commit message (Collapse)AuthorAge
* In keep-going mode, don't fail-fast on the evaluation of an individual ↵Gravatar Janak Ramakrishnan2016-07-12
| | | | | | | SkyFunction if it throws an exception but still has missing deps. Instead, pretend it didn't throw, and restart it when its known deps are all done, presumably to throw the same exception. This removes a basic source of non-determinism. -- MOS_MIGRATED_REVID=127129202
* Fix internal documentationGravatar Dmitry Lomov2016-07-12
| | | | | -- MOS_MIGRATED_REVID=127126897
* --Gravatar Carmi Grushko2016-07-12
| | | | MOS_MIGRATED_REVID=127108931
* Rephrase Fingerprint in terms of guava HashFunction.Gravatar Eric Fellheimer2016-07-12
| | | | | | | This minimizes API divergence and allows us to make use of performance enhancements in guava, such as https://github.com/google/guava/issues/1197. -- MOS_MIGRATED_REVID=127108107
* RELNOTES: Improve Android split transition handling.Gravatar Googler2016-07-12
| | | | | -- MOS_MIGRATED_REVID=127099896
* --Gravatar Googler2016-07-12
| | | | MOS_MIGRATED_REVID=127091947
* Global cleanup change.Gravatar Googler2016-07-12
| | | | | -- MOS_MIGRATED_REVID=127084529
* Fix default for temporary directories to honor TMPDIRGravatar Klaus Aehlig2016-07-11
| | | | | | | | | | ...and only use the hard-coded "/tmp" as default for the default. Note that is unchanged that blaze.rpcserver.tmpdir still overrides. -- Change-Id: I2ad6b9904b7cde3917968090e85cf2d6c8ad88ab Reviewed-on: https://bazel-review.googlesource.com/#/c/3962 MOS_MIGRATED_REVID=127076270
* Expose ios_simulator_device/version to Skylark.Gravatar Googler2016-07-11
| | | | | | | | These are needed to add `blaze run` support to skylark_ios_application so that they can be passed in as parameters to the ios_runner script. -- MOS_MIGRATED_REVID=126955658
* Use fast-path compiler for android_binary R.classesGravatar Googler2016-07-11
| | | | | | | | | | | | | Hook up the RClassGeneratorAction to blaze code. This is currently only used for android_binary targets to build the final R classes of the binary + all of its libraries. Behind a flag and off by default (flip on later). -- MOS_MIGRATED_REVID=126935165
* Replace QueryableGraph#getBatch with #getBatchWithFieldHints. This allows ↵Gravatar Janak Ramakrishnan2016-07-11
| | | | | | | alternate graph implementations to optimize how they construct node entries. -- MOS_MIGRATED_REVID=126932020
* Refactor QueryableGraph and ThinNodeQueryableGraph to be independent ↵Gravatar Janak Ramakrishnan2016-07-11
| | | | | | | interfaces, in preparation for further changes. -- MOS_MIGRATED_REVID=126924789
* Remove hard-coded android and java7-compatible javacoptsGravatar Liam Miller-Cushon2016-07-11
| | | | | -- MOS_MIGRATED_REVID=126923745
* Fix capturing stdin/stdout on Windows.Gravatar Dmitry Lomov2016-07-11
| | | | | | | | | | | 1. Return EOF for streams representing Windows process pipes. 2. Fix the timing of process.close() 3. Un-synchronized reading of stderr and stdout. -- Change-Id: Iec98f45db9984be2c2b066962801cbd3ca60da3f Reviewed-on: https://bazel-review.googlesource.com/#/c/4000/ MOS_MIGRATED_REVID=126910063
* Add a final event on the event busGravatar Klaus Aehlig2016-07-11
| | | | | | | | | | | | | Add an event to the event bus that is guaranteed to come after the completion of the command. Listeners can use this event to clean up any resources that still need to be cleaned up. As first customer, add the ExperimentalEventHandler so that it is guaranteed not to leak the update thread. -- Change-Id: Ia20bae8a00541aa1338e49f74a7320ac098ab71d Reviewed-on: https://bazel-review.googlesource.com/#/c/4011 MOS_MIGRATED_REVID=126909844
* ExperimentalEventHandler: remove deadlock in update threadGravatar Klaus Aehlig2016-07-08
| | | | | | | | | | | | | | | | | When the progress bar has to be updated, but we cannot do so immediately, e.g., due to rate limiting, we start a thread to do this eventually (the "update thread"). That thread gets stopped if either we realize during an update of the progress bar that it is no longer needed, or if we get informed about the completion of the build. Now, since the update thread does updates of the progress bar (that is its whole purpose) it can get the duty to stop itself. To avoid the deadlock when the thread there blockingly waits for itself to terminate, just skip that termination and let the update thread run till the end of the build. -- Change-Id: Iba08806f5e416f1fa1825969eceaf6cf54c24e6c Reviewed-on: https://bazel-review.googlesource.com/#/c/4010 MOS_MIGRATED_REVID=126906395
* Move the verification of the JVM earlier in the client so that less time ↵Gravatar Lukacs Berki2016-07-08
| | | | | | | | | | | passes between the Ping() and Run() calls and make Ping() and Cancel() calls restart the server timeout interval. This "fixes" a race condition where the client would call Ping(), the server would time out and then the Run() call would fail. Of course, this is not an principled fix because in theory, the timeout can still happen between the two calls, but now there are only simple file system operations and a tiny bit of CPU use between the two so it should be vanishingly unlikely. We use ->Ping() to verify server liveness after we start it up, so in theory, the timeout could strike between those two calls, too... TESTED=By running "bazel --max_timeout_secs=2 info install_base" 100 times in a test and running the test 200 times. This procedure triggered the bug pretty reliably. -- MOS_MIGRATED_REVID=126902519
* Open-source ProtoSupportDataProvider.Gravatar Carmi Grushko2016-07-08
| | | | | -- MOS_MIGRATED_REVID=126850134
* More pieces of RClassGeneratorActionGravatar Googler2016-07-08
| | | | | | | | | | | | Add the rclass_generator.sh, and fill in the boiler-plate for mock tools, etc. Mostly cargo- culting references to resources_processor.sh. Rename earlier pieces to use RClassGenerator prefix instead of AndroidResourceCompilation. -- MOS_MIGRATED_REVID=126831848
* Use serverInit or globalInit where possible.Gravatar Ulf Adams2016-07-08
| | | | | -- MOS_MIGRATED_REVID=126813515
* Rollback of commit 1e37a5375f918376c132fa537e25695f673f41b8.Gravatar Dmitry Lomov2016-07-07
| | | | | | | | | | | | | *** Reason for rollback *** Apparently we now try to open output files for the process twice: once when we are constructing the output streams, and the second time when we tell the process to redirect its outputs. This causes the outputs to be empty on Windows *** Original change description *** Do redirection of stdout / stderr in Java instead of reimplementing it in every process wrapper again. -- MOS_MIGRATED_REVID=126801016
* Add a ServerBuilder, and use that in the module API.Gravatar Ulf Adams2016-07-07
| | | | | | | This change is similar to a previous change that introduced WorkspaceBuilder. -- MOS_MIGRATED_REVID=126799657
* Remove the forced-legacy mode of the JvmConfigurationLoader.Gravatar Ulf Adams2016-07-07
| | | | | -- MOS_MIGRATED_REVID=126797730
* Propagate the system root to every process created in WindowsSubprocessFactory.Gravatar Lukacs Berki2016-07-07
| | | | | | | | | | | This is apparently required by some versions MSVCRT.DLL including the one used in the CL.EXE we happen to be using for testing. This was learned by reading the source code of OpenJDK. Fixes #1480. -- MOS_MIGRATED_REVID=126786461
* Various fixes for gRPC mode:Gravatar Lukacs Berki2016-07-07
| | | | | | | | - Use the abrupt exit protocol to return the correct exit code when the server dies unexpectedly in gRPC mode - Report the command waiting time correctly even if the waiting is done within the server -- MOS_MIGRATED_REVID=126780186
* Refactor BuildingState to save memory.Gravatar Janak Ramakrishnan2016-07-07
| | | | | | | | | Collapse the "evaluating" boolean into the "signaledDeps" int field, since signaledDeps is always 0 if evaluating is false, so we can use the sentinel value -1 to indicate that evaluation has not yet started. This leads to a slightly less tolerant node entry: it must "start evaluating" before you can do things like set its value. Places that wasn't being done have been fixed, at least as far as we have test coverage for. Also, factor the "dirty" parts of BuildingState out into a subclass. It would probably be cleaner to use composition here, but I don't want to pay the price of another object. -- MOS_MIGRATED_REVID=126729331
* Add cc transitive headers to ide-resolve output groupGravatar Googler2016-07-07
| | | | | | | | | | Both source and generated hdrs are included in the output group. Might be cleaner to only include generated headers -- perhaps by adding a new field to CppCompilationContext. This solution seems lighter-weight, however. -- MOS_MIGRATED_REVID=126725901
* --Gravatar Carmi Grushko2016-07-07
| | | | MOS_MIGRATED_REVID=126723341
* Re-use the InMemoryNodeEntry#directDeps field for temporary direct deps.Gravatar Janak Ramakrishnan2016-07-07
| | | | | | | The biggest savings here is that we were not eagerly discarding the InMemoryNodeEntry#directDeps field after an entry was marked dirty, even though we would never read its value again. But rather than just fix that, by getting rid of the field in BuildingState, we can potentially save memory with smaller BuildingState objects as well. -- MOS_MIGRATED_REVID=126709632
* When building ObjectiveC++, pass the flag -std=gnu++11.Gravatar Googler2016-07-07
| | | | | | | | | | | | | | This is a rollback of a rollback, with the change that gnu++11 is used instead of c++11. A [] with this change was run, and the resulting handful of compile errors were addressed. Modified: blaze objc target handling, osx CROSSTOOL and mock osx CROSSTOOL. RELNOTES: When building ObjectiveC++, pass the flag -std=gnu++11. -- MOS_MIGRATED_REVID=126700947
* For Skylark attribute creation, non_empty is deprecated; introduce allow_emptyGravatar Laurent Le Brun2016-07-07
| | | | | | | #1433 -- MOS_MIGRATED_REVID=126693120
* Attr doc: fix typo, add linkGravatar Laurent Le Brun2016-07-07
| | | | | -- MOS_MIGRATED_REVID=126691559
* Make the timeout thread shut the server down in an orderly way.Gravatar Lukacs Berki2016-07-07
| | | | | -- MOS_MIGRATED_REVID=126685659
* Micro-optimizations to Digest.fromMetadata():Gravatar Googler2016-07-07
| | | | | | | | | | | | Don't encode paths as UTF-8 to md5sum them (the map keys are Strings derived from Paths, for which Fingerprint.addPath() takes the same shortcut). Remove defensive copy from the constructor (which did not need to be public). Remove redundant call to Fingerprint.reset(). -- MOS_MIGRATED_REVID=126682477
* Experimental UI: make stopUpdateThread() more insistingGravatar Klaus Aehlig2016-07-06
| | | | | | | | | | | | | | | | | The stopUpdateThread() method tries to stop the update thread by calling the interrupt() and join() methods on that thread. When getting interrupted while waiting for the thread to join, do not ignore the exception, instead try again to make sure we don't leave that method before the other thread is actually stopped. While there, also clean up the synchronized blocks for the thread handling: all blocks that handle multiple global variables like buildComplete, updateThread, etc, are synchronized while the actual thread-manipulating operations are outside those blocks. -- MOS_MIGRATED_REVID=126679343
* Split up BazelRuleClassProvider, and make the builder API more flexible.Gravatar Ulf Adams2016-07-06
| | | | | | | | | This is in preparation for splitting up the rules into per-language modules. We'll also add test coverage to make sure each module is individually useful, so that it's possible to build a Bazel binary with a reduced set of rules. -- MOS_MIGRATED_REVID=126672702
* Post BlazeDirectories as part of CommandStartedEvent.Gravatar Ulf Adams2016-07-06
| | | | | | | | We have some modules that assume 1:1 correspondence between servers and workspaces, which I'd like to fix. -- MOS_MIGRATED_REVID=126628292
* Make Windows process management nicer.Gravatar Lukacs Berki2016-07-06
| | | | | | | | | Subprocesses now get killed if the Bazel server itself is killed and so do their subprocesses. Also implemented Subprocess#close() so that we get a little more control over when the native structures are cleaned up. -- MOS_MIGRATED_REVID=126628000
* Add allow_single_file in attr.label, deprecate single_file.Gravatar Laurent Le Brun2016-07-05
| | | | | -- MOS_MIGRATED_REVID=126620866
* Display all allowed types for SkylarkSignature Params that allow multipleGravatar David Chen2016-07-05
| | | | | | | | | | | | | | | | | | | types. Fixes #921 Certain parameters, such as the `executable` and `command` parameters of ctx.action, allow multiple types. However, the allowed types are not enumerated in the SkylarkSignature annotation, causing the generated Skylark Library document to not display any type information for those params. This change adds a new field, `allowedTypes`, to `SkylarkSignature` that is a list of `ParamType` objects. If the param can accept multiple types, then `type` is set to `Object.class`, and `allowedTypes` is set to the list of types that can be accepted. -- MOS_MIGRATED_REVID=126617047
* Rewrite workspace creation to use a builder class.Gravatar Ulf Adams2016-07-05
| | | | | | | | | An instance of the builder is passed to all modules, which can each add / set things on the builder. This reduces the BlazeModule API surface, while also being more flexible for future changes. -- MOS_MIGRATED_REVID=126613981
* Fixed java_stub_template.txt so that java binary can run independentlyGravatar Yun Peng2016-07-05
| | | | | | | | | | The solution is setting RUNFILES_MANIFEST_ONLY=1 in template file if only runfile manifest feature is enabled. -- Change-Id: I6c96cc1212818bd57adcdfb59fa0de66d2d38037 Reviewed-on: https://bazel-review.googlesource.com/#/c/3960 MOS_MIGRATED_REVID=126577520
* Rollback of commit 588a6a04c748a02f583d552660434d74190bb3ba.Gravatar Florian Weikert2016-07-04
| | | | | | | | | *** Reason for rollback *** Broke some targets -- MOS_MIGRATED_REVID=126574275
* Deprecate DATA_CFG and HOST_CFG, use string 'data' and 'host' instead.Gravatar Laurent Le Brun2016-07-04
| | | | | -- MOS_MIGRATED_REVID=126572660
* Use the subprocess factory that uses the Win32 API on Windows.Gravatar Lukacs Berki2016-07-04
| | | | | | | We should really do something about the mess that is loading our JNI libraries -- io.bazel.EnableJNI is mentioned eight times in the code in various diverse contexts. This change is not the right place to do it, though. -- MOS_MIGRATED_REVID=126570481
* Fixed java_stub_template.txt so that we can run java binary with Windows ↵Gravatar Yun Peng2016-07-04
| | | | | | | | | style path -- Change-Id: I219bce744a73333ff3a79bedc78ee78c415629e8 Reviewed-on: https://bazel-review.googlesource.com/#/c/3961 MOS_MIGRATED_REVID=126569740
* Remove Fingerprint.toString() to avoid relying on MessageDigest.clone().Gravatar Googler2016-07-04
| | | | | -- MOS_MIGRATED_REVID=126566280
* Filter out already-removed deps when removing a node from the rdeps of its ↵Gravatar Janak Ramakrishnan2016-07-04
| | | | | | | last build's deps. This is only an issue with cycles, since there we try to maintain the invariant that a parent is not done before its children by removing its deps on its children before we construct its cycle value. -- MOS_MIGRATED_REVID=126494009
* No longer allow QueryExpressionMapper#map to throw a QueryException. This ↵Gravatar Nathan Harmata2016-07-04
| | | | | | | was unnecessary. -- MOS_MIGRATED_REVID=126457804
* Skylark: Removed support for attribute map parameters in callback functions.Gravatar Florian Weikert2016-07-04
| | | | | | | | | | | | | | | | | Such functions have to list their required attributes as parameters. def _callback_func(attr_map): do_something(attr_map.my_attr) becomes def _callback_func(my_attr): do_something(my_attr) RELNOTES[INC]:Skylark rules: if you set "outputs" or an attribute to a function, this function must now list its required attributes as parameters (instead of an attribute map). -- MOS_MIGRATED_REVID=126445849