aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
Commit message (Collapse)AuthorAge
* Add some more codecs to execution-phase SkyKeys.Gravatar janakr2018-02-15
| | | | PiperOrigin-RevId: 185883201
* Don't intern PathFragments when we create PackageIdentifiers. This should be ↵Gravatar shreyax2018-02-15
| | | | | | | | a strict win: There are only two places Canonicalizer did PathFragment interning: PackageIdentifier creation and Package creation. PackageIdentifiers are always interned by a separate interner, and so the underlying PathFragment will be in 1-1 correspondence with PackageIdentifiers (per repo). Moreover, Packages are created with a PackageIdentifier already existing, so it will use the same PathFragment of the unique PackageIdentifier. PiperOrigin-RevId: 185877942
* Fix Callcounts crash.Gravatar tomlu2018-02-15
| | | | | | | We call Map#put in Map#computeIfAbsent. No idea how this ever worked. RELNOTES: None PiperOrigin-RevId: 185876437
* Stop storing ActionTemplate in a SkyKey: it's too heavyweight. Use the same ↵Gravatar janakr2018-02-15
| | | | | | mechanism as for normal actions, have the ActionTemplateExpansionFunction look the template up when needed. PiperOrigin-RevId: 185861672
* Use AutoCodec to generate CODECs for a few more provider types that areGravatar cpeyser2018-02-15
| | | | | | exported by cc_library. PiperOrigin-RevId: 185852115
* Add AutoCodec for a bunch of cc library providers.Gravatar mjhalupka2018-02-15
| | | | PiperOrigin-RevId: 185850685
* Finish cleanup of unthreaded contextsGravatar michajlo2018-02-15
| | | | PiperOrigin-RevId: 185847377
* Fix typo in javadocGravatar michajlo2018-02-15
| | | | PiperOrigin-RevId: 185844072
* Remove unused LineNumberTable.HashLine class.Gravatar laurentlb2018-02-15
| | | | | RELNOTES: None. PiperOrigin-RevId: 185838543
* Extract part of EnvironmentGroup that's necessary for constraint ↵Gravatar janakr2018-02-15
| | | | | | | | calculation, so we don't have to have the whole package. Memory increase should be minimal because there aren't that many environment groups, but it's further minimized by breaking an inner class UnpackagedEnvironmentGroup out of EnvironmentGroup. Previously, each EnvironmentGroup cost 40 bytes (24 bytes for first three fields, 8 for next two, 8 for last field because of alignment). Each UnpackagedEnvironmentGroup costs 32 bytes (4 fields), while the EnvironmentGroup now costs 24 bytes. So a loss of 16 bytes per EnvironmentGroup: shouldn't be noticeable. PiperOrigin-RevId: 185837140
* C++: Removes CppModel classGravatar plf2018-02-15
| | | | | | | The logic is split between CcCompilationHelper and CcLinkingHelper. RELNOTES:none PiperOrigin-RevId: 185809915
* Move BinTools to lib.execGravatar ulfjack2018-02-15
| | | | | | | It's never used during analysis, it shouldn't be used during analysis, so let's not make it available during analysis. PiperOrigin-RevId: 185808384
* Remove code that allows RunfilesSupport.owningExecutable to be null.Gravatar Benjamin Peterson2018-02-15
| | | | | | | RunfilesSupport.owningExecutable can clearly never be null because the first thing the constructor does is reject it if it's null. Change-Id: Ie861d96a2a2ab6937f1e27a6745cf1cb2f50e0fb PiperOrigin-RevId: 185806352
* Automated rollback of commit fa0fac2a4e8a2e5c01b8390878289d00dcc17dba.Gravatar lberki2018-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Remove example changes; those need to build with the last Bazel release. *** Original change description *** Automated rollback of commit 0f9c6ea574918dda094cf5423fa3822112846c30. *** Reason for rollback *** Breaks Kokoro and I accidentally submitted the change without presubmit checks. *** Original change description *** Make __init__.py files creation optional Introduce a new attribute to py_binary and py_test to control whether to create `__init__.py` or not. Fixes https://github.com/bazelbuild/rules_python/issues/55 Closes #4470. PiperOrigin-RevId: 185806241
* Fix incorrect warning on negative test lang filter flags.Gravatar janakr2018-02-14
| | | | PiperOrigin-RevId: 185770217
* Get PlatformInfo out of ToolchainResolutionKey, replace with the ↵Gravatar janakr2018-02-14
| | | | | | ConfiguredTargetKeys that own the PlatformInfo. PiperOrigin-RevId: 185770105
* Pass --target_label, --injecting_rule_kind to all java compile actions.Gravatar tomlu2018-02-14
| | | | | | | | JavaBuilder and friends will write this into the manifest of the produced jars to assist with add_dep commands, when strict_deps is violated. This will obviate the need for blaze to pass jar owners on the command line. PiperOrigin-RevId: 185763422
* Pull out useful parts of discoverInputs into findAdditionalInputs so that it ↵Gravatar Googler2018-02-14
| | | | | | | can also be called by getInputFilesForExtraAction rather than duplicating the logic. RELNOTES: None PiperOrigin-RevId: 185757663
* Adds Class-keyed lookup to ObjectCodecRegistry and populates it using ↵Gravatar shahan2018-02-14
| | | | | | | | | CodecScanner. Introduces a class, CodecRegisterer, to allow customization of the scan-based registration process. PiperOrigin-RevId: 185749655
* Start slimming down ToolchainResolutionKey: get rid of BuildConfiguration. ↵Gravatar janakr2018-02-14
| | | | | | The real blocker is PlatformInfo, which is coming. PiperOrigin-RevId: 185742130
* Get Target out of SupportedEnvironmentsProvider. Only a Label and Location ↵Gravatar janakr2018-02-14
| | | | | | are needed, so just use that. PiperOrigin-RevId: 185738140
* Remove Target from ConfiguredTarget.Gravatar mjhalupka2018-02-14
| | | | PiperOrigin-RevId: 185735582
* Add a CODEC for CppCompileAction.Gravatar cpeyser2018-02-14
| | | | PiperOrigin-RevId: 185733313
* Use AutoCodec to generate CODECs for several provider types that are exportedGravatar cpeyser2018-02-14
| | | | | | by cc_library. PiperOrigin-RevId: 185729248
* @AutoCodec for CcLinkParamsInfo.Gravatar cpeyser2018-02-14
| | | | PiperOrigin-RevId: 185728950
* @AutoCodec for LicenseProvider.Gravatar cpeyser2018-02-14
| | | | PiperOrigin-RevId: 185728682
* Delete unused variable in ToolchainResolutionFunction.Gravatar Benjamin Peterson2018-02-14
| | | | | Change-Id: I636d98fdee72c1cae7547f1dc26f78fe4b3e0bb3 PiperOrigin-RevId: 185723619
* Get rid of unnecessary target retrieval in ToolchainUtil: the label will do ↵Gravatar janakr2018-02-14
| | | | | | just as well as the target. PiperOrigin-RevId: 185721605
* Specialize CCToolchainFeatures flags for single-variable flags.Gravatar tomlu2018-02-14
| | | | | | | This avoids iterator, string builder, and string garbage. RELNOTES: None PiperOrigin-RevId: 185703066
* Make ActionLookupData a SkyKey. Should save some memory.Gravatar janakr2018-02-14
| | | | PiperOrigin-RevId: 185694489
* Automated rollback of commit 0f9c6ea574918dda094cf5423fa3822112846c30.Gravatar lberki2018-02-14
| | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks Kokoro and I accidentally submitted the change without presubmit checks. *** Original change description *** Make __init__.py files creation optional Introduce a new attribute to py_binary and py_test to control whether to create `__init__.py` or not. Fixes https://github.com/bazelbuild/rules_python/issues/55 Closes #4470. PiperOrigin-RevId: 185676592
* Make __init__.py files creation optionalGravatar Mouad Benchchaoui2018-02-14
| | | | | | | | | | | Introduce a new attribute to py_binary and py_test to control whether to create `__init__.py` or not. Fixes https://github.com/bazelbuild/rules_python/issues/55 Closes #4470. PiperOrigin-RevId: 185672243
* Thread {Des,S}erializationContext through Package serialization interfaceGravatar michajlo2018-02-13
| | | | PiperOrigin-RevId: 185609826
* Add Codec for NativeAspectClass. As a result, remove @AutoCodec from ↵Gravatar janakr2018-02-13
| | | | | | | | concrete subclasses. Improve debugging message on serialization failures. Lot of test-side changes to make sure aspects are properly registered with the RuleClassProvider. PiperOrigin-RevId: 185607202
* Drop unused SerializerAdapterGravatar michajlo2018-02-13
| | | | | | | Cleaning up references to {Des,S}erializationContext.UNTHREADED_PLEASE_REMOVE, deleting the code is easier than deciding how to adapt context. PiperOrigin-RevId: 185602054
* Set extra action tool path to the value that crosstool will actually use ↵Gravatar Googler2018-02-13
| | | | | | based on feature configuration PiperOrigin-RevId: 185600940
* @AutoCodec AspectValue$AspectKey.Gravatar janakr2018-02-13
| | | | | | Also make AspectKey#toString a little more informative. PiperOrigin-RevId: 185600069
* Improve efficiency warnings in AggregatingAttributeMapper javadoc.Gravatar gregce2018-02-13
| | | | PiperOrigin-RevId: 185595397
* Add Bazel documentation for android_local_test.Gravatar dannark2018-02-13
| | | | | RELNOTES:None PiperOrigin-RevId: 185590627
* Get rid of the last reference to getAttributeMapper by keeping packages whichGravatar mjhalupka2018-02-13
| | | | | | are referenced by TopLevelTargets when we discard the analysis cache. PiperOrigin-RevId: 185574670
* Add ability to use getter in AutoCodecProcessor when field for instantiator ↵Gravatar janakr2018-02-13
| | | | | | | | parameter isn't present. Allows us to handle cases where the class type encodes the parameter value. This also gives a compile-time check that field is present before blindly using it in codec. Lets us get rid of a non-AutoCodec class. PiperOrigin-RevId: 185573686
* Implement the config(expr, word) cquery function.Gravatar juliexxia2018-02-13
| | | | | | | expr - the expression to be evaluated word - the configuration (represented by the strings 'host', 'target', or 'null') to try to find the result(s) of 'expr' in. If some but not all results of expr can be found in the specified config, then the subset that can be is returned. If no results of expr can be found in the specified config, then an error is thrown. PiperOrigin-RevId: 185572590
* Environment guarantees determinism when retrieving its bindingsGravatar brandjon2018-02-13
| | | | | | | Added a little javadoc and tests. RELNOTES: None PiperOrigin-RevId: 185569985
* Refactor WalkableGraph and BuildDriver interfacesGravatar Googler2018-02-13
| | | | | | | | Remove WalkableGraph#isUpToDate and BuildDriver#alreadyEvaluated and delegate the work to implementation. RELNOTES: None PiperOrigin-RevId: 185562370
* Replaces InjectingObjectCodec with dependencies threaded through ↵Gravatar shahan2018-02-13
| | | | | | (Des|S)erializationContext. PiperOrigin-RevId: 185547740
* Route --fdo_optimize information through an implicit dependency instead of ↵Gravatar Googler2018-02-13
| | | | | | | CppConfiguration RELNOTES: None. PiperOrigin-RevId: 185527875
* Add the BUILD_WORKSPACE_DIRECTORY and BUILD_WORKING_DIRECTORY variables to ↵Gravatar lberki2018-02-13
| | | | | | | | | | "blaze run --direct_run" so that the called binary knows about the working directory the client was called from. Its cwd is its runfiles directory and if not for the fact that we have to convey *two* directories to it, I'd have considered changing that. As it is, however, we can't convey two directories with the cwd of the binary so we have to use environment variables. RELNOTES[NEW]: "blaze run --direct_run" now exports the BUILD_{WORKSPACE,WORKING}_DIRECTORY variables to tell the binary about the cwd of the client and the workspace root. PiperOrigin-RevId: 185515884
* tmpdir,local-exec: implement --local_tmp_rootGravatar Laszlo Csomor2018-02-13
| | | | | | | | | | | | | | Add new flag called `--local_tmp_root`, which (if specified) tells Bazel what temp directory should locally executed actions use. Fixes https://github.com/bazelbuild/bazel/issues/4621 Related to https://github.com/bazelbuild/bazel/issues/3215 RELNOTES[NEW]: The new "--local_tmp_root=<path>" flag allows specifying the temp directory for locally executed actions. Change-Id: Ice69a5e63d0bf4d3b5c9ef4dbdd1ed1c5025f85e PiperOrigin-RevId: 185509555
* Blaze: let a LinkerInput declare that it needs debug info in the executableGravatar Googler2018-02-12
| | | | | RELNOTES: None. PiperOrigin-RevId: 185455486
* Ensure that RuleContext is not referenced after analysis by objc_library.Gravatar cparsons2018-02-12
| | | | | | Previously, RuleContext was referenced via the objc implementation of CppSemantics. Objects of that class are no longer held by CppCompileAction post-analysis. PiperOrigin-RevId: 185446320