aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/util
Commit message (Collapse)AuthorAge
* Support multiple mirror URLs for external reposGravatar Justine Tunney2016-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change improves upon 4c67807964e37cfd55bbcda4c6374fcc480bcecc. - A urls attribute has been added to the native workspace rules, with the exception of maven_jar and git_repository. The Skylark repository API also supports multiple URLs now. - The earlier mirrors in the list are preferred. Failover will happen automatically in parallel. - The first 32kB of data is checked before choosing a mirror in order to evade captive portals. - If one's Internet goes down or a download times out, then the download will resume automatically where it left off, provided the server supports RFC7233 for that particular file. Please note that GitHub does not support this for archive snapshots. Files should always be mirrored to a CDN, e.g. GCS, because they support this. - A semaphore is now used on downloads so only 8 can happen at once. Fixes #1814 Fixes #2131 Fixes #2008 Fixes #1968 Fixes #1717 Fixes #943 Wont fix #1194 Fixes tensorflow/tensorflow#5933 Fixes tensorflow/tensorflow#5924 Fixes tensorflow/tensorflow#5924 Fixes tensorflow/tensorflow#5432 See #1607 See #821 See tensorflow/tensorflow#5080 See tensorflow/tensorflow#5029 See tensorflow/tensorflow#4583 See tensorflow/tensorflow#4058 RELNOTES: A urls attribute has been added to repository rules to support multiple mirror URLs for reliably downloading files. -- MOS_MIGRATED_REVID=140495736
* Make TargetPattern evaluation during query evaluation more parallel-friendly ↵Gravatar Nathan Harmata2016-11-15
| | | | | | | by introducing TargetPattern#parEval, which allows TargetPatterns' evaluations to explicitly have parallel implementations (no need to secretly use a FJP). -- MOS_MIGRATED_REVID=139101922
* Stop consulting the environment for "originating user" information.Gravatar Googler2016-11-03
| | | | | -- MOS_MIGRATED_REVID=138039276
* Add logging to TimestampGranularityMonitor.Gravatar Julio Merino2016-11-02
| | | | | | | | These new log statements help in understanding what files trigger the TimestampGranularityMonitor's wait logic and when the wait is performed. -- MOS_MIGRATED_REVID=137868235
* If a group of deps has only one unique element, store it bare.Gravatar Janak Ramakrishnan2016-10-25
| | | | | | | | | | Not storing it bare both breaks equality comparison for GroupedList and uses more space. -- Change-Id: Iaf4f88908ecf4293cfc31dbd896f46e1da3b4184 Reviewed-on: https://bazel-review.googlesource.com/#/c/6850/ MOS_MIGRATED_REVID=137099785
* Stop storing a set in GroupedListHelper to deduplicate SkyKey dep requests. ↵Gravatar Janak Ramakrishnan2016-10-14
| | | | | | | Instead, deduplicate when the helper is actually added to a GroupedList. -- MOS_MIGRATED_REVID=136145321
* Adding support for Linux s390xGravatar namrata-ibm2016-10-11
| | | | | | | | | | | We have added support for Linux s390x platform in Bazel. Closes #1891. -- Reviewed-on: https://github.com/bazelbuild/bazel/pull/1891 MOS_MIGRATED_REVID=135777047
* Rollback of commit 0e9a1b2d51f9e03f4493e52d23cb3efc568be59f.Gravatar Googler2016-10-07
| | | | | | | | | | | | | | *** Reason for rollback *** [] hasn't released unknown commit yet. We need to keep the old behavior until then. *** Original change description *** Stop consulting the environment for "originating user" information. -- MOS_MIGRATED_REVID=135441115
* Stop consulting the environment for "originating user" information.Gravatar Googler2016-10-07
| | | | | -- MOS_MIGRATED_REVID=135422529
* Do not write terminal output in the experimental UI character-by-character ↵Gravatar Lukacs Berki2016-09-30
| | | | | | | | | (which results in single-character gRPC messages). Fixes #1861. -- MOS_MIGRATED_REVID=134775680
* Prevent interleaved slow interrupt stack tracesGravatar Michajlo Matijkiw2016-09-28
| | | | | | | | It's possible that there are multiple outstanding interrupts. When this happens avoid interleaving their stack traces. -- MOS_MIGRATED_REVID=134477540
* Check OS X version to decide if sandbox is supported.Gravatar Yue Gan2016-09-09
| | | | | -- MOS_MIGRATED_REVID=132570504
* Fix operator precedence error in LongArrayList.growCapacityGravatar Googler2016-08-31
| | | | | | | + binds tighter than shift operators so this code was essentially doing (i+i)/2 when it was really trying to do i + (i/2). -- MOS_MIGRATED_REVID=131709276
* Fix slow hostname lookupGravatar Marcel Hlopko2016-08-17
| | | | | | | | | | | InetAddress.getLocalHost().getHostName() can take seconds to complete as it performs reverse DNS lookup. Prior to this cl hostname lookup was performed on every build, noticeably slowing down null builds especially. This cl caches computed hostname so null builds are faster for the lifetime of the server. -- Reviewed-on: https://bazel-review.googlesource.com/#/c/5432/ MOS_MIGRATED_REVID=130441617
* 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
* Call precomputed() on static CharMatcher instances.Gravatar Googler2016-07-26
| | | | | | | Removes a noticeable hotspot from LabelValidator.validateTargetName(). -- MOS_MIGRATED_REVID=128359980
* Be less naive with CcLibraryHelper precompiled library collision detection.Gravatar Michael Staib2016-07-25
| | | | | | | | | | The naive algorithm was O(n*m) where n = number of precompiled libraries and m = number of libraries linked during this rule. Ugly! This one provides hopefully much more reasonable performance. -- MOS_MIGRATED_REVID=128206057
* 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
* 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
* Remove Fingerprint.toString() to avoid relying on MessageDigest.clone().Gravatar Googler2016-07-04
| | | | | -- MOS_MIGRATED_REVID=126566280
* Rename the property io.bazel.UnixFileSystem to io.bazel.EnableJni because ↵Gravatar Lukacs Berki2016-07-01
| | | | | | | | | that's what it does. In particular, it affects Windows. -- MOS_MIGRATED_REVID=126293339
* Do redirection of stdout / stderr in Java instead of reimplementing it in ↵Gravatar Philipp Wollermann2016-06-30
| | | | | | | every process wrapper again. -- MOS_MIGRATED_REVID=126279021
* Make Windows bootstrapping work again by temporarily disabling JNI.Gravatar Lukacs Berki2016-06-29
| | | | | -- MOS_MIGRATED_REVID=126177747
* Rename FileOutErr.get{Output,Error}File to get{Output,Error}Path, because ↵Gravatar Philipp Wollermann2016-06-29
| | | | | | | they actually return a Path and not a File. -- MOS_MIGRATED_REVID=126102820
* Make "bazel info server_pid" work on Windows.Gravatar Lukacs Berki2016-06-29
| | | | | | | | | This is the first actual use of Windows JNI! Also a cleanup of ProcessUtils. Injecting a mock implementation was never used. -- MOS_MIGRATED_REVID=126068832
* Polish the command-line reference.Gravatar Ulf Adams2016-06-27
| | | | | | | | | | | - change options to print --foo=value - allow option to specify what "value" should be - update the documentation for the startup options - add some indentation to the descriptions - add some spacing between flag texts -- MOS_MIGRATED_REVID=125960618
* Move LoggingTerminalWriter out of testGravatar Klaus Aehlig2016-06-27
| | | | | | | | | ...so that it can be used by the main code base. -- Change-Id: Ibf59d74ab1b0cca9bd9406bb76ee6e71189653bf Reviewed-on: https://bazel-review.googlesource.com/#/c/3903 MOS_MIGRATED_REVID=125950656
* Remove BuildConfiguration.addRoots() and the pregrepped includes directory.Gravatar Lukacs Berki2016-06-17
| | | | | | | This is to simplify the contract of BuildConfiguration.Fragment, thus making it simpler to create BuildConfigurations without unnecessary fragments and eventually create configuration fragments from Skylark. -- MOS_MIGRATED_REVID=125137625
* Make persistent action cache work on WindowsGravatar Yun Peng2016-06-15
| | | | | | | | | CompactPersistentActionCache didn't work because it trys to rename a file to an existing file which JavaIoFileSystem doesn't support. Solution is deleting the file before renaming. -- Change-Id: I8d476cd2835c8cddbeed8f556361e0e35d1a2bd4 Reviewed-on: https://bazel-review.googlesource.com/#/c/3802 MOS_MIGRATED_REVID=124828957
* Optimize hotspot in DependencySet.process().Gravatar Googler2016-06-14
| | | | | -- MOS_MIGRATED_REVID=124744073
* Make a 'did you mean' suggestion when referencing a non-existent label.Gravatar Laurent Le Brun2016-06-06
| | | | | | | It works for both labels on the command-line and labels in BUILD files. -- MOS_MIGRATED_REVID=123967347
* Add a SpellChecker class with edit distance function.Gravatar Laurent Le Brun2016-06-01
| | | | | | | This will be used later to detect typos and provide suggestions. -- MOS_MIGRATED_REVID=123761611
* Replace the occurrences of Constants.PRODUCT_NAME for a call toGravatar Luis Fernando Pino Duque2016-05-23
| | | | | | | | | BlazeRuntime#getProductName() or a reference to TestConstants.PRODUCT_NAME for tests. This CL prepares the codebase in order to delete the constant. -- MOS_MIGRATED_REVID=122993568
* Simplify DependencySet.Gravatar Ulf Adams2016-05-19
| | | | | | | | | | - mark the addDependencies method as @VisibleForTesting, and don't round-trip through PathFragment - use Path.getRelative(String) instead of Path.getRelative(PathFragment), which may do additional optimizations -- MOS_MIGRATED_REVID=122720947
* Stop converting temporary direct deps to a set. In almost all cases, this ↵Gravatar Janak Ramakrishnan2016-05-16
| | | | | | | conversion is unnecessary and wasteful. In the remaining cases, the set conversion can be explicit. -- MOS_MIGRATED_REVID=122294939
* Rollback of commit 7f339de7feb071d790ecbca1c346244f5794a7e3.Gravatar Greg Estren2016-05-13
| | | | | | | | | | | | | | | | | *** Reason for rollback *** This is breaking ~1,000 tests in the latest Blaze nightly: [] Per sheriff policy, we need to either roll back or provide a quick fix tonight. *** Original change description *** Optimize hotspot in DependencySet.process(). -- MOS_MIGRATED_REVID=122220429
* Optimize hotspot in DependencySet.process().Gravatar Googler2016-05-12
| | | | | -- MOS_MIGRATED_REVID=122050015
* Support case-insensitive comparision in Path.java with WindowsFileSystemGravatar Yun Peng2016-05-09
| | | | | | | | Since file path is case-insensitive on Windows, we need to support this. Also fixed .d file inclusions check in CppCompileAction.java on Windows -- MOS_MIGRATED_REVID=121823250
* Add random-access indexing into GroupedList. Intended to be a no-op, ↵Gravatar Janak Ramakrishnan2016-04-28
| | | | | | | allowing for future work that may want to access a particular group in the GroupedList without advancing the iterator. -- MOS_MIGRATED_REVID=120933039
* Add nullable variants to Fingerprint.Gravatar Ulf Adams2016-04-20
| | | | | -- MOS_MIGRATED_REVID=120325869
* Review a number of action subclasses and update them according to the spec.Gravatar Ulf Adams2016-04-19
| | | | | | | | Consists of adding @Immutable annotations, adding final modifiers, and changing the types of fields to immutable types. -- MOS_MIGRATED_REVID=120221067
* Make LineWrappingAnsiTerminalWriter more efficientGravatar Klaus Aehlig2016-04-15
| | | | | | | | | | ...by only starting the new line, if needed and not already if the last usable character of the line is written. -- Change-Id: I86519389fe64fe74ba9045be07483ce5f55d5e9a Reviewed-on: https://bazel-review.googlesource.com/#/c/3384 MOS_MIGRATED_REVID=119949042
* Add a position-aware wrapper around AnsiTerminalWriterGravatar Klaus Aehlig2016-04-15
| | | | | | | | | | | | | When generating output targeted for a specific terminal width, it is important to know the current position in order to appropriately shorten the message still to be added to the current line. So make it possible to add this functionality to the terminal writer itself, to avoid too many lengthy position computations at call site. -- Change-Id: I03400b9544c32567fc6ea7ab35e742c4ccd7b610 Reviewed-on: https://bazel-review.googlesource.com/#/c/3373 MOS_MIGRATED_REVID=119946982
* Log whenever a periodic flush of the action cache is slow.Gravatar Nathan Harmata2016-04-14
| | | | | -- MOS_MIGRATED_REVID=119813568
* Description redacted.Gravatar Googler2016-04-07
| | | | | -- MOS_MIGRATED_REVID=119053259
* Revamp the client/server communication protocol so that it is portable to ↵Gravatar Lukacs Berki2016-03-22
| | | | | | | | | Windows. Progress towards #930. -- MOS_MIGRATED_REVID=117799006
* Refer to CharMatcher.javaLetterOrDigit() in a comment.Gravatar Michael Zhou2016-03-15
| | | | | | | | | | | This was a leftover from the global cleanup change to replace the usages of static final fields on Guava's CharMatcher with their equivalent static factory methods. -- Change-Id: I9ee765a2545eabdd01b00e4ea924801b7a88898a Reviewed-on: https://bazel-review.googlesource.com/#/c/3060 MOS_MIGRATED_REVID=117160725
* Global cleanup change.Gravatar Googler2016-03-08
| | | | | -- MOS_MIGRATED_REVID=116569594
* Use a list instead of a set for the current group in GroupedListHelper to ↵Gravatar Janak Ramakrishnan2016-03-08
| | | | | | | save memory. This is a partial rollback of f745e99db7632cfb2145b6926f961e85f9084bc5, but that part of the change was unnecessary -- we are already ensuring that an element isn't added twice in GroupedListHelper#add by adding it to elements. -- MOS_MIGRATED_REVID=116560479
* Make LineWrappingAnsiTerminalWriter a public classGravatar Klaus Aehlig2016-03-01
| | | | | | | | | ...so that it can be used by other event handlers as well. -- Change-Id: Ic7b37f9041aab63611d05bdb5f18e72bb0c8f1d9 Reviewed-on: https://bazel-review.googlesource.com/#/c/3040 MOS_MIGRATED_REVID=116012068