aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
Commit message (Collapse)AuthorAge
* Add @AutoCodec to FileType and FileTypeSet.Gravatar mjhalupka2018-02-28
| | | | | | More strictly type the arguments for creating FileTypes. PiperOrigin-RevId: 187391336
* Prevent aspects with the same attributes but different names from outputting ↵Gravatar juliexxia2018-02-28
| | | | | | duplicates of those attributes in query's proto output format. PiperOrigin-RevId: 187387578
* Add logging message when a PublishBuildToolEventStream() RPCs start.Gravatar Googler2018-02-28
| | | | | | | Logs whenever BuildEvenServiceTransport starts a PublishBuildToolEventStream streaming RPC. PiperOrigin-RevId: 187374228
* Introduce an Extrema aggregator.Gravatar nharmata2018-02-28
| | | | | RELNOTES: None PiperOrigin-RevId: 187370833
* Refactor the AbstractAction computeKey method to be easier to add invariantsGravatar jcater2018-02-28
| | | | | | for every type of action. PiperOrigin-RevId: 187368369
* Add --proto:output_rule_attrs flag to blaze query to enable filtering of ↵Gravatar Googler2018-02-28
| | | | | | | | output to given attributes. RELNOTES[NEW]: blaze query: use --proto:output_rule_attrs to filter for given attributes PiperOrigin-RevId: 187364996
* Deprecate and remove several uses of the 'values' map in NativeInfo subclasses.Gravatar cparsons2018-02-28
| | | | | | | | | | These subclasses should be using @SkylarkCallable(structField = true) instead This is a bit of a memory win, as there is now no need to store field information twice. There are still a couple of stragglers that are more difficult, namely ToolchainInfo and DefaultInfo. Their APIs will likely need some more extensive revamping before proceeding. RELNOTES: None. PiperOrigin-RevId: 187364392
* Remove unused fields from a few Cc* rule implementations.Gravatar cparsons2018-02-28
| | | | | RELNOTES: None. PiperOrigin-RevId: 187356329
* Tag RuleClassNamePredicate with @AutoCodec by switching to lazyGravatar mjhalupka2018-02-28
| | | | | | | initialization of the Predicates, and storing the set of strings the predicates are based on. PiperOrigin-RevId: 187351700
* Create a runtime codec for HashCode.Gravatar mjhalupka2018-02-28
| | | | | | Remove the HashCode marshaller. PiperOrigin-RevId: 187350917
* Add functionality to MemoryProfiler to do multiple garbage collections at ↵Gravatar janakr2018-02-28
| | | | | | the end of the build in an effort to get an accurate measurement of used memory. PiperOrigin-RevId: 187337487
* Deletes AutoCodec.Strategy.SINGLETON now that we have @AutoCodec field tags.Gravatar shahan2018-02-28
| | | | | | This also gets rid of some static initialization cycles which we should try very hard to avoid in the future. PiperOrigin-RevId: 187334087
* Update ToolchainUtil to properly load and use the available executionGravatar John Cater2018-02-28
| | | | | | | | | platforms, and correctly merge together the results from TRF. Part of #4442. Change-Id: I31d83fa73a93d39a0e18d05a43a1c8666ac5a2d2 PiperOrigin-RevId: 187324257
* Improve "blaze run --direct_run".Gravatar lberki2018-02-28
| | | | | | | | | | | | | | | | | In particular: - Make it support --script_path - Make it add command line arguments specified on the command line to tests - Remove a stale comment This introduces the following differences in behavior wrt. --nodirect_run: - Tests are run through the test setup script and get the environment variables specific to tests - --test_arg arguments will be on the command line of test targets - The script written by --script_path overwrites the environment of the binary with the client environment at the time of "blaze run" (for binaries) or the proper test environment (for tests) RELNOTES: None. PiperOrigin-RevId: 187309437
* Fix additional direct use of the Bazel serverGravatar Klaus Aehlig2018-02-28
| | | | | | | | | ...by adding the new internal startup option --output_user_root. Fixes #4730. Change-Id: I7f976f4f99555f8068211aa138bab5de0330c06a PiperOrigin-RevId: 187302221
* Replace PackageDeserializationException with SerializationExceptionGravatar michajlo2018-02-27
| | | | PiperOrigin-RevId: 187273881
* @AutoCodec TreeArtifactValue and FileArtifactValue.Gravatar janakr2018-02-27
| | | | PiperOrigin-RevId: 187243942
* Optimize GC churn of funcall evaluation for the common-case where there are noGravatar nharmata2018-02-27
| | | | | | | duplicate named arguments. RELNOTES: None PiperOrigin-RevId: 187236124
* Add @AutoCodec to AndroidSplitTransition.Gravatar mjhalupka2018-02-27
| | | | PiperOrigin-RevId: 187230977
* Add @AutoCodec to some PatchTransitions.Gravatar mjhalupka2018-02-27
| | | | PiperOrigin-RevId: 187230702
* Removes the need to map SkyFunctionName to codec in SkyKeySerializerGravatar shahan2018-02-27
| | | | | | | | | | | * FILE_SYMLINK* codecs need ImmutableList so this adds an ImmutableList runtime codec. * Adds SkyFunction names where codecs exist for their SkyKeys. * Adds a few @AutoCodec singleton codecs. We cannot yet disable the ImmutableList marshaller because currently the runtime ImmutableList codec requires runtime codecs for the contained elements, which doesn't hold everywhere (particularly for protos). PiperOrigin-RevId: 187224736
* Add @AutoCodec to AppleCrossToolTransition.Gravatar mjhalupka2018-02-27
| | | | PiperOrigin-RevId: 187222454
* @AutoCodec WriteBuildInfoHeaderAction.Gravatar janakr2018-02-27
| | | | PiperOrigin-RevId: 187218309
* @AutoCodec ProtoJavaApiInfoProvider.Gravatar janakr2018-02-27
| | | | PiperOrigin-RevId: 187218260
* @AutoCodec CppLinkAction.Gravatar cpeyser2018-02-27
| | | | PiperOrigin-RevId: 187212799
* Pass constants along when recreating Builder in ObjectCodecRegistry.Gravatar janakr2018-02-27
| | | | PiperOrigin-RevId: 187212436
* Tags mapped singletons in SkyValueEncoderGravatar shahan2018-02-27
| | | | PiperOrigin-RevId: 187209783
* Make Location#printLocation privateGravatar michajlo2018-02-27
| | | | | | | | | This is only used by the static method of the same name, which is only used by RuleFactory. This method is showing up in profiles as creating more garbage than I'm happy with, but not enough to make me drop everything and fix it now. Instead make it private so folks are less inclined to use it later... PiperOrigin-RevId: 187208467
* Add RegisteredSingleton to Bazel bootstrap process.Gravatar janakr2018-02-27
| | | | PiperOrigin-RevId: 187199625
* Optimize format string parsingGravatar michajlo2018-02-27
| | | | | | | | Avoid throwing an execption if we don't have to, stack traces are expensive to fill in. RELNOTES: None PiperOrigin-RevId: 187199392
* PiperOrigin-RevId: 187193766Gravatar mjhalupka2018-02-27
|
* Optimize Path (and the underlying String) allocations in UnixGlob for the ↵Gravatar nharmata2018-02-27
| | | | | | | | | case where a pattern like '*.blah' doesn't match all the dirents. Before the recent Path.java rewrite, the unconditional allocation here was free/amortized (in the sense that if Blaze ever had to consider the path in question, then we'd be doing the Path allocation anyway and caching the object). But now it's potentially GC churny, especially in the case where a single BUILD file has multiple glob expressions. RELNOTES: None PiperOrigin-RevId: 187185573
* Add --incompatible_strict_objc_module_maps.Gravatar allevato2018-02-27
| | | | | | This flag changes the behavior of objc_library module map propagation so that module maps are only propagated to direct dependents, not transitive dependents. swift_library targets that import Objective-C code must then list those dependencies directly in its deps instead of depending on them being transitively present. PiperOrigin-RevId: 187184692
* Tag ParameterFileWriteAction with @AutoCodec.Gravatar mjhalupka2018-02-27
| | | | | | | | This requires codecs for CustomCommandLine and a Marshaller for Charset. Added AutoCodec functionality to generic classes like Iterable<T>. PiperOrigin-RevId: 187182889
* Expose ProtoSourcesProvider.transitive_proto_path_flags to Skylark.Gravatar elenairina2018-02-27
| | | | | | | Progress on #4544. RELNOTES: None. PiperOrigin-RevId: 187179454
* Make repository_chache non-experimental and enable by defaultGravatar Klaus Aehlig2018-02-27
| | | | | | | | | | | | | | | | Make the --experimental_repository_cache option no longer experimental and enable the cache by default. The default location is in the a separate directory under the install base (under .cache/bazel user's home directory); this means it is shared between workspaces und not between different versions of bazel. We plan to also share it between different bazel versions in the future. Fixes #4676. RELNOTES: repository_cache is no longer experimental and enabled by default. Change-Id: I8499c2d1811e0fe8d830796e07cd6f8bc75e48ba PiperOrigin-RevId: 187172766
* Expose --output_user_base to the Bazel server processGravatar Klaus Aehlig2018-02-27
| | | | | | | | | | | ...so that it can use that path to compute other directories in the output user base, in particular the default location for caches. The first cache we will add is the hash-index cache for downloads of external archives, but a spawn cache might be added later in the output user base as well. Change-Id: I24b1c33235c8f76ec008ecb1789163de2b2a45be PiperOrigin-RevId: 187164275
* Java: Stops adding C++ providers directly.Gravatar plf2018-02-27
| | | | | | | | | | | | | | | | | | | | | unknown commit fixes the only related broken target showing up in a TGP after this change. It seems that this provider was only ever used through java_wrap_cc with java_library dependencies which themselves had cc_library dependencies, i.e. java_wrap_cc -> java_library -> cc_library. This dependency is not needed, the cc_library can be added directly to java_wrap_cc to get the same behavior and this is the way it should be done instead of relying on transitive dependencies. The reason for making this change right now is that with the Skylark C++ API, I will be adding attr("deps").mandatoryProviders(CcCompilationInfo, CcLinkParamsInfo) to C++ rules so that they can take any Skylark rule and not having to explicitly hard-code the name of those Skylark rules in Blaze. However, Java meets this criteria and the change would allow C++ rules to depend on Java. This is not something that was supported before and is not something we plan to support. RELNOTES:none PiperOrigin-RevId: 187158176
* Optimize GC churn of Attribute#getAspects by lazily allocating a builder.Gravatar shreyax2018-02-26
| | | | PiperOrigin-RevId: 187113491
* Refactor AarImport by extracting javaCompilationArgsProvider. This provider ↵Gravatar cnsun2018-02-26
| | | | | | | will be used for the dependency checker later. Refactoring it now just avoids future potential merge conflicts. RELNOTES: None PiperOrigin-RevId: 187103807
* Fail gracefully on conflicting actions generated by an aspect. These can ↵Gravatar janakr2018-02-26
| | | | | | come from Skylark, so we shouldn't crash. As a safety measure, subclasses of ActionLookupValue are now responsible for detecting action conflicts themselves. PiperOrigin-RevId: 187095271
* Move gRPC server to its own java_library to sever a dependency path between ↵Gravatar carmi2018-02-26
| | | | | | | :packages and checked-in gRPC jars. RELNOTES: None PiperOrigin-RevId: 187088590
* Optimize LValue#boundIdentifiers for common caseGravatar michajlo2018-02-26
| | | | | | | | | | I'm assuming most of the time folks are only assigning one variable, which doesn't require an ImmutableSet.Builder and the garbage it comes with. Also took the liberty of removing some unused InterruptedException declarations. PiperOrigin-RevId: 187068400
* Allow @AutoCodec to tag static final fields, and generate a "pointer" class ↵Gravatar janakr2018-02-26
| | | | | | that has a single static INSTANCE field pointing back to the target field, so that serialization can grab it. PiperOrigin-RevId: 187065629
* Optimize SkylarkNestedSet constructionGravatar michajlo2018-02-26
| | | | | | | | | | | | | | Only check/update type if the types of elements that we're adding changes. In particular, the "is DICT/LIST" check can get expensive when run on every single inserted element. According to a hacky unit test (create 10M element SkylarkNestedSet 10x over) this is ~60% faster (~18s -> ~7s). This change is intended to be a quick fix, there's surely a more principled way to make skylark's type checking more efficient... PiperOrigin-RevId: 187062547
* Retain @AutoCodec at runtime.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187059719
* Expose SimpleCycleDetector. Also, allow MemoizingEvaluatorTest to support ↵Gravatar cpeyser2018-02-26
| | | | | | evaluators that do not store errors alongside values, but which still support error transience. PiperOrigin-RevId: 187058808
* @AutoCodec some more providers.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187057628
* @AutoCodec JavaPackageConfigurationProvider and MessageBundleProvider.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187057332
* @AutoCodec WriteBuildInfoPropertiesAction.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187054284