aboutsummaryrefslogtreecommitdiffhomepage
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
* Add a helper script to run `git bisect` over the Bazel source codeGravatar John Cater2018-02-27
| | | | | | | | | | | Tests by running Bazel commands in the current working directory. Change-Id: I0352e206a57e677b1c87e1c842a62ca1d3558bc3 Closes #4729. Change-Id: Ib44810ebce596e4d40786e087f57e61971e87d25 PiperOrigin-RevId: 187214804
* @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
|
* android,windows: bugfix in aar_resources_extractorGravatar laszlocsomor2018-02-27
| | | | | | | | | | | Use the path that contains a temporary junction in the scope of the `with` statement that manages the lifetime of the temp junction. This allows compiling //examples/android/java/bazel:hello_world again. PiperOrigin-RevId: 187188442
* 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
* Ensure the public.xml is included with the databound resources.Gravatar corysmith2018-02-27
| | | | | RELNOTES: None PiperOrigin-RevId: 187185374
* 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
* Consult BAZEL_LINKOPTS env variable when detecting linker flags in ↵Gravatar hlopko2018-02-27
| | | | | | | | | | | | | | | | | | | autogenerated cc toolchain Relevant to #4031, fixes #4524. Does not affect the osx + xcode toolchain that supports both C++ and ObjC! RELNOTES: BAZEL_LINKOPTS is now consulted when autoconfiguring c++ toolchain Now linker flags for the autogenerated C++ toolchain can be controlled by BAZEL_LINKOPTS environment variable (using colon as a flag separator): BAZEL_LINKOPTS=-lc++ bazel build //... The default value is "-lstdc++:-lm". PiperOrigin-RevId: 187173297
* 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
* Introduce cc_configure_lib.bzl#split_escapedGravatar hlopko2018-02-27
| | | | | | | | This function allows us to split strings coming from env variables into lists while respecting %-escaping. RELNOTES: None. PiperOrigin-RevId: 187166226
* 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
* Use std::to_string for non-mingw/cygwinGravatar Loo Rong Jie2018-02-27
| | | | | | | | | | `std::to_string` is faster than `std::stringstream`. This issue only presents in older versions of Mingw/Cygwin. My Mingw64 GCC 7.1.0 has `std::to_string`. I can't determine the exact version of GCC that fixed the issue. Closes #4493. PiperOrigin-RevId: 187145391
* 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
* Adjust Android integration testing environment by adding a dependency to theGravatar cnsun2018-02-26
| | | | | | | import_deps_checker. RELNOTES: None PiperOrigin-RevId: 187095109
* 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
* add binary flag for core library desugaring and gate existing configuration ↵Gravatar kmb2018-02-26
| | | | | | | | flags by it. RELNOTES: None. PiperOrigin-RevId: 187075897
* 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
* 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
* Expand databinding expressions in resource_files.zip.Gravatar ajmichael2018-02-26
| | | | | | | This zip is the input to the resource shrinker, which currently sometimes chokes on databinding expressions. This should fix that. RELNOTES: None PiperOrigin-RevId: 187049578
* @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
* runfiles,C++: implement runfiles lib foundationsGravatar Laszlo Csomor2018-02-26
| | | | | | | | | | | | | | | | | | Implement the foundation of the C++ runfiles library, along with a directory-based Runfiles implementation. Subsequent commits will add more feataures: - manifest-based runfiles handling - creating list of envvars to pass to child processes - automatic Runfiles creation based on argv[0] and the envvars of this process See https://github.com/bazelbuild/bazel/issues/4460 Change-Id: Id5a38619a1ae874499f04523863081559360410c PiperOrigin-RevId: 187031518
* Verify embedding of paths to other foreign repositoriesGravatar Klaus Aehlig2018-02-26
| | | | | | | | | | | While rules that want to be called from different repositories may not make any assumptions about locations of their dependencies, they still may embed path obtained via expansion of $(location ...) into their files, even if the dependencies refer to a different repository. Add tests verifying that this behavior is preserved. Change-Id: I2ee6cc806e30b6e18fad9b488012169da400895b PiperOrigin-RevId: 187030372