aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* 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
* @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
* Change android_library .aar timestamp and open-source AarGeneratorActionTest.Gravatar ajmichael2018-02-26
| | | | | | | See https://github.com/bazelbuild/bazel/issues/4614 and https://github.com/bazelbuild/bazel/commit/bcefd9833cb5620fef8a27c37c2808a66b57c7e6. RELNOTES: None PiperOrigin-RevId: 187029042
* @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
* Pass tags from java_import_external rule to the generated java_import rule.Gravatar Googler2018-02-26
| | | | | | | | | | The tags attribute is already implicit on every rule. This also will help power https://github.com/bazelbuild/bazel/issues/1372#issuecomment-364001669 RELNOTES[NEW]: Pass `tags` from `java_import_external` rule to the generated `java_import` rule. PiperOrigin-RevId: 187019602
* 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
* Use absolute labels in default_java_toolchainGravatar cushon2018-02-26
| | | | | | so it works outside of @bazel_tools//tools/jdk PiperOrigin-RevId: 187011676
* Add a regression test for SOURCE_DATE_EPOCHGravatar Klaus Aehlig2018-02-26
| | | | | | | | | Since bazel 0.10.0 and 0.11.0 were shipped with SOURCE_DATE_EPOCH interpreted as Kiloseconds rather than seconds since the epoch as it should, extend our test to also verify that the correct year is shown. Change-Id: I613d1a967e4e36019b55b720a4b9b7757cfb4b60 PiperOrigin-RevId: 187009490
* 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
* Keep order of dict attributes 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[INC]: The order of dict-valued attributes is now the order in the BUILD file (or in the Skylark dict they were created from) and not lexicographically sorted. PiperOrigin-RevId: 187003317
* Optimize GetEscapedArgumentGravatar Loo Rong Jie2018-02-25
| | | | | | | | If `argument` does not contain `' '` and `'"'` and `escape_backslash` is false (i.e: no escaping needed), `escaped_arg` will allocate memory exactly once only. Closes #4491. PiperOrigin-RevId: 186962716
* Add support to @AutoCodec for long and byte fields, and centralize primitive ↵Gravatar janakr2018-02-24
| | | | | | logic so that we can transparently handle arrays. We no longer care about the type of an object in AutoCodecProcessor: Marshallers is in charge of getting the correct code generator for array types anyway, so it can handle bare primitives as well. PiperOrigin-RevId: 186919695
* Rename and implement emulated interfaces as needed during android desugaringGravatar kmb2018-02-24
| | | | | | RELNOTES: None. PiperOrigin-RevId: 186904092
* SerializationTester uses an addDependency method instead ofGravatar shahan2018-02-24
| | | | | | | | (Des|S)erializationContext factories. This is consistent as ObjectCodecs will eventually create context objects if needed. PiperOrigin-RevId: 186900662
* expectThrows has been renamed to assertThrowsGravatar cushon2018-02-24
| | | | | | More information: https://github.com/junit-team/junit5/issues/531 PiperOrigin-RevId: 186900384
* AutoCodec verifies that constructor parameter and field types are related.Gravatar shahan2018-02-24
| | | | | | | This isn't 100% safe, which requires 1:1 type correspondence, but can catch some errors at compile time. PiperOrigin-RevId: 186898025
* @AutoCodec RuleConfiguredTarget.Gravatar janakr2018-02-23
| | | | PiperOrigin-RevId: 186849562
* @AutoCodec FilesetOutputConfiguredTarget.Gravatar janakr2018-02-23
| | | | PiperOrigin-RevId: 186837642
* Integrates CodecScanner into SkyValueEncoder.Gravatar shahan2018-02-23
| | | | | | | | * Deletes a number of CODEC references, now superceded by registry functionality. * Minimal SkyKeySerializer modifications for correctness, as certain codec changes require codecs to be in available in the registry. PiperOrigin-RevId: 186834520
* Flip --expand_configs_in_place to true by default in Bazel.Gravatar ccalvarin2018-02-23
| | | | | | | See https://blog.bazel.build/2018/01/19/config-parsing-order.html for context on this change. RELNOTES: --config flags now expand in place by default. PiperOrigin-RevId: 186831701
* @AutoCodec all the *ConfiguredTarget classes except for ↵Gravatar janakr2018-02-23
| | | | | | | | | | RuleConfiguredTarget. RuleConfiguredTarget is harder, and will be handled in a follow-up. Also remove duplicate field from InputFileConfiguredTarget and unused parameter in EnvironmentGroupConfiguredTarget constructor. Largely punt on FilesetOutputConfiguredTarget for now, but will handle soon. PiperOrigin-RevId: 186829768
* Better @AutoCodec for TransitiveInfoProviderMapImpl: avoid having to ↵Gravatar janakr2018-02-23
| | | | | | serialize offset table at the cost of some overhead reconstructing the table. Also fewer code changes, although there is a serialization-only method added as a hack. PiperOrigin-RevId: 186808832
* Fix Fix crash on incremental builds across configuration changes when using ↵Gravatar felly2018-02-23
| | | | | | | | | | Skyframe native Filesets which reference output files. We were failing to override equality of Artifact to use the artifact owner. See the javadocs on ArtifactSkyKey for more discussion of this. Before this change, the weak interning of keys done in LegacySkyKey and FilesetEntryKey spuriously matched keys across incremental builds in cases where Artifacts differed only in their owner. PiperOrigin-RevId: 186805663
* Fixes skyframe evaluation to correctly handle interrupts during ↵Gravatar Googler2018-02-23
| | | | | | | | | | | | | #doMutatingEvaluation When multiple keys need to be evaluated, we may schedule keys before informing progress on done nodes, which can throw InterruptExceptions. If the main thread is interrupted during #informProgressReceiverThatValueIsDone, then we may not properly track evaluations which are already scheduled. It could cause threads continue to run after the main loop is closed. RELNOTES: None PiperOrigin-RevId: 186801930
* Genericize closed-source .bzl file references in examplesGravatar Serge2018-02-23
| | | | | | | | Replace references to closed-source .bzl files in examples with generic ones. Addresses issue [4321](https://github.com/bazelbuild/bazel/issues/4321). Closes #4694. PiperOrigin-RevId: 186800107
* Replace "else if" with "elif" (Issue 4637)Gravatar Serge2018-02-23
| | | | | | | | Addresses issue [4637](https://github.com/bazelbuild/bazel/issues/4637) by replacing "else if" with "elif". Closes #4692. PiperOrigin-RevId: 186800016
* A couple quality-of-life improvements for Bazel devs, in response to an ↵Gravatar nharmata2018-02-23
| | | | | | | | | | email from philwo@. (i) Only have TimestampGranularityMonitor log the first file of relevance. This reduces log spam, especially in tests, while still maintaining useful information in the logs. (ii) Don't have ExternalFilesHelper log the fact that it encountered an external file when we're in a unit test or an integration test. Tests, especially bazel tests that use external repositories, tend to involve lots of "external" files. RELNOTES: None PiperOrigin-RevId: 186799176
* Apply @AutoCodec to ExecutableSymlinkAction and SymlinkAction.Gravatar mjhalupka2018-02-23
| | | | | | | AbstractAction had getPrimaryInput() and getPrimaryOutput() which is why arguments are renamed. PiperOrigin-RevId: 186795064