aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
Commit message (Collapse)AuthorAge
* 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
* @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
* RELNOTES: aar_import now sets java.transitive_exports.Gravatar ajmichael2018-02-26
| | | | | | This field is needed by the Android Studio with Bazel plugin. PiperOrigin-RevId: 187053906
* Add support for parameterized types to AutoCodec.Gravatar cpeyser2018-02-26
| | | | | | | | | | AutoCodec still cannnot handle types with generic elements, e.g. class Foo<T> { private T member; } PiperOrigin-RevId: 187052487
* @AutoCodec FileWriteAction.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187048921
* @AutoCodec a bunch of providers.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187044297
* @AutoCodec TransitiveJavaRuleOutputJarsProvider and JavaRuleOutputJarsProvider.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187043046
* @AutoCodec PackageGroupConfiguredTarget (forgot to actually annotate the ↵Gravatar janakr2018-02-26
| | | | | | class in https://github.com/bazelbuild/bazel/commit/14e549cc6596f67ed22c1bac0819f0775e4fb806). PiperOrigin-RevId: 187042482
* @AutoCodec JavaConstraintProvider and JavaExportsProvider.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187038647
* Micro-optimize if-block evaluationGravatar michajlo2018-02-26
| | | | | | Most of the time there's only one, doesn't justify the iterator overhead. PiperOrigin-RevId: 187031802
* @AutoCodec JavaHeaderCompileAction.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187030267
* Hide fix for linkstmap inputs computation behind an optionGravatar hlopko2018-02-26
| | | | | | | | | | | This cl introduces a bazel option (--experimental_fix_linkstamp_inputs_bug_73447914) to control which inputs get added into C++ linkstamp compile action. When set to true (defaults to false), all inputs of relevant C++ linking action get added as inputs to the linkstamp compile action too. RELNOTES: None. PiperOrigin-RevId: 187030217
* @AutoCodec CcSpecificLinkParamsProvider.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187029559
* @AutoCodec ProtoCcHeaderProvider and GenRuleSourcesProvider.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187029004
* @AutoCodec JavaCcLinkParamsProvider.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187028864
* @AutoCodec JavaCompilationInfoProvider.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187028110
* Revamp docs for default outputs / output groupsGravatar brandjon2018-02-26
| | | | | | | | | | | - collapsed these into one section - removed the term "implicit outputs" - add explanation for what these are first, then how to control them - update docs for DefaultInfo - also update docs for test/executable args of rule() RELNOTES: None PiperOrigin-RevId: 187026641
* Keep the order of select branches the same as it was in the BUILD file.Gravatar lberki2018-02-26
| | | | | | | This is a change from behavior introduced in unknown commit, which was added to preserve determinism even though the ordering of dicts in Python is non-deterministic. Now that we don't call into Python anymore, this is not necessary. RELNOTES: None (select branches are mutually exclusive, so this is a no-op) PiperOrigin-RevId: 187022575
* Fix filename in docGravatar brandjon2018-02-26
| | | | | RELNOTES: None PiperOrigin-RevId: 187018017
* Revamp rules.md documentation for filesGravatar brandjon2018-02-26
| | | | | | | Unified "Files" and "Output files" sections. Renamed "declared files" to "predeclared files" to avoid confusion with "declare_file()"/"declare_directory()". RELNOTES: None PiperOrigin-RevId: 187017607
* native.package_name() stops relying on "dynamic" environment variables.Gravatar laurentlb2018-02-26
| | | | | | | | | | Dynamic environment variables are going away. This also fixes a crashing bug. Fixes #3983 RELNOTES: None. PiperOrigin-RevId: 187008011
* build stamping: "Build time" is now correctGravatar Laszlo Csomor2018-02-26
| | | | | | | | | | | | | | | | | | | | | | | Stamped binaries now have a correct build-data.properties file with regard to the "Build time" field. There's a mismatch in BuildInfo.BUILD_TIMESTAMP semantics between Bazel and Google-internal Blaze: Bazel assumes this amount is in milliseconds, Blaze assumed seconds. Since there are users depending on this field already on both sides, it is too late to change its semantics. So this commit only fixes the bogus "Build time" field and leaves BUILD_TIMESTAMP as milliseconds for Bazel and as seconds for Blaze. Fixes https://github.com/bazelbuild/bazel/issues/4469 Change-Id: I28282d660244af693ab16443ae1e42fb455f9dde PiperOrigin-RevId: 187005016