aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
Commit message (Collapse)AuthorAge
* PiperOrigin-RevId: 189372237Gravatar Googler2018-03-16
|
* Propagating remote results, including stdout/err, to Bazel on execution ↵Gravatar olaola2018-03-16
| | | | | | | | | timeouts. The refactoring to have an Exception that contains partial results will also be used in the next CL, in order to propagate and save remote server logs. RELNOTES: None PiperOrigin-RevId: 189344465
* Pass all TreeArtifacts to the ParameterWriteFileAction so they're expanded ↵Gravatar Googler2018-03-16
| | | | | | | | | | | by the time the action runs. Tested: custom_blaze build experimental/users/kmensah/cc_proto_library:libnon_android_example.so --config android_x86 -s RELNOTES: Properly handle tree artifacts on the link command line coming from a cc_library dependency. PiperOrigin-RevId: 189344192
* Refactor DependencyResolver#dependentNodeMap to take in a set of toolchain ↵Gravatar juliexxia2018-03-16
| | | | | | labels instead of the entire toolchain context since that's all the dependency resolver really needs. This will help make cquery transitions outputter easier to implement. PiperOrigin-RevId: 189342812
* Makes leaf level AutoCodec marshallers into runtime codecs.Gravatar shahan2018-03-15
| | | | | | Next change will convert containers. PiperOrigin-RevId: 189261293
* Begins cleanup to allow ActionFS to be injected into all action executions.Gravatar shahan2018-03-15
| | | | PiperOrigin-RevId: 189244665
* Remove unnecessary @VisibleForTestingGravatar michajlo2018-03-15
| | | | | | I imagine it was used at some point, can't find any usages now. PiperOrigin-RevId: 189226615
* Allow optimization related features to be ignored when unsupported as ↵Gravatar Googler2018-03-15
| | | | | | opposed to reporting errors PiperOrigin-RevId: 189201637
* Suppress ThinLTO indexing for linkstatic library in testsGravatar Googler2018-03-15
| | | | | | | | | | This extends the scalability fix in https://github.com/bazelbuild/bazel/commit/8c5e290dfab3cab378a9ca107ecdd6267403cd4b to apply to statically linked libraries linked into dynamically linked tests. Otherwise we are still getting the O(N*M) LTO backend job behavior for those libraries when invoking ThinLTO on many targets. RELNOTES: None PiperOrigin-RevId: 189200150
* Adds 'timeout' to the table describing test size and a table for the timeoutGravatar ahumesky2018-03-15
| | | | | | | names to time. RELNOTES: None. PiperOrigin-RevId: 189198230
* Optimize GC churn due to PackageFunction#getContainingDirectory. While I'm ↵Gravatar nharmata2018-03-15
| | | | | | | | | here, also slightly restructure the code in #handleLabelsCrossingSubpackagesAndPropagateInconsistentFilesystemExceptions to make it more readable (and defer PackageIdentifier allocations). Alternatives considered: Add a PathFragment#getParentDirectoryOfRelative(String other) instance method, and use it in PackageFunction#getContainingDirectory. I thought the approach in this CL would be preferable to adding a specialized method like that to PathFragment. RELNOTES: None PiperOrigin-RevId: 189197855
* Modify CTQEnvironment and associated files to handle AliasConfiguredTargets. ↵Gravatar juliexxia2018-03-15
| | | | | | Always handle AliasConfiguredTargets as separate nodes from their "actual" value. This is helpful in understanding certain query results e.g. somepath. PiperOrigin-RevId: 189196863
* Conditionally set the default crosstool based on the major revision by ↵Gravatar jingwen2018-03-15
| | | | | | | | | | | binding //external:android/crosstool to an alias in the NDK BUILD file. This does not change existing behavior until r17 support is released. https://github.com/bazelbuild/bazel/issues/4742 RELNOTES: None. PiperOrigin-RevId: 189195669
* Include object exec path in LTO Backend progress messageGravatar Googler2018-03-15
| | | | | | | | | | With only the filename the LTO Backend objects are hard to distinguish (i.e. many files will share the same base filename, but have different paths. Additionally, this change causes the target specific ".lto" or "shared.nonlto" subdirectory to be included, which is useful for analysis. RELNOTES: None PiperOrigin-RevId: 189194070
* Simplify ClientEnvironmentValue invalidation.Gravatar Benjamin Peterson2018-03-15
| | | | | | | Unconditionally inject the new values, and let skyframe change pruning avoid over-invalidation. Change-Id: I3f478ea756121bde1078e9e79ddcfbeb54951cbb PiperOrigin-RevId: 189156698
* Splits the iterableMarshaller into runtime codecs.Gravatar shahan2018-03-14
| | | | | | Makes NestedSetCodec into a runtime codec instead of a Marshaller. PiperOrigin-RevId: 189110883
* Dedupes aspects in BuildViewGravatar Googler2018-03-14
| | | | | | | This change ensures that there is no duplicate aspect in AnalysisResult. RELNOTES: None PiperOrigin-RevId: 189086095
* Bazel: add ar_files/as_files to cc_toolchain targetsGravatar Googler2018-03-14
| | | | | | | | These are mostly tests. This is a step toward making the ar_files/as_files attributes mandatory. RELNOTES: None. PiperOrigin-RevId: 189052327
* Automated rollback of commit c2b332b45e6ea41a14ecbd3c5f30782bcdeec301.Gravatar laszlocsomor2018-03-14
| | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Causes https://github.com/bazelbuild/bazel/issues/4847 *** Original change description *** windows: replace custom JunctionResolver There's a realpath(3)-like Windows API function called GetFinalPathNameByHandle{A,W}. This commit removes JunctionResolver, implements RealPath using GetFinalPathNameByHandleW, and replaces JunctionResolver usages with RealPath. PiperOrigin-RevId: 189031288
* Modify the Java rules to take in JavaInfoGravatar elenairina2018-03-14
| | | | | | instead of JavaCompilationArgsProvider and JavaPluginInfoProvider. This change facilitates the interaction of Java native and Java Skylark code, avoiding code duplication in the future. PiperOrigin-RevId: 189011873
* Allow BazelPackageLoader to load external repositories.Gravatar carmi2018-03-13
| | | | | | | | | Also, disallow BazelPackageLoader from fetching missing external repos. Integration tests for BazelPackageLoader wrt external repos will be left for a follow-up CL. RELNOTES: None. PiperOrigin-RevId: 188967694
* Delete some unused code.Gravatar ajmichael2018-03-13
| | | | | RELNOTES: None PiperOrigin-RevId: 188937449
* Tags some more non-serializable classes (for serialization).Gravatar shahan2018-03-13
| | | | PiperOrigin-RevId: 188930446
* Integrate memoization into standard serialization. This involves a number of ↵Gravatar janakr2018-03-13
| | | | | | | | | | | | | | | | large changes: 1. SerializationContext and DeserializationContext become the owners of the Memoizer if requested. They produce new versions of themselves on demand that are memoization-aware. Because of intricacies of Skylark that I do not fully understand, we inject a Mutability object when starting memoization, and so to be conservative, that injection starts up a new memoization frame, nested if we were already memoizing, just like before. It would be nice to decouple this injection from memoization in the future. 2. MemoizingCodec is deleted, but really ObjectCodec becomes MemoizingCodec, so it lives on. BaseCodec is deleted since it now has only one implementation. 3. The simplified model of registering MemoizingCodecs is adopted for ObjectCodecs: all codecs are registered based on their #getEncodedClass and #additionalEncodedSubclasses. This also allows us to register codecs that are defined using tricky parameter types, since we're no longer trying to reflectively examine them. This required a clean-up of such codecs, and the addition of ArrayListCodec to stop NullableListCodec from making lists unmodifiable when they shouldn't be. 4. @AutoCodec is extended to allow users to specify that memoization should start with this codec. To ensure bit-equivalence, SkyKeySerializer disables memoization. PiperOrigin-RevId: 188918251
* Integrate import_deps_checker into aar_import.Gravatar cnsun2018-03-13
| | | | | RELNOTES: Enable dependency checking for aar_import targets. PiperOrigin-RevId: 188912126
* Remove documentation regarding keystore name and password.Gravatar ajmichael2018-03-13
| | | | | RELNOTES: None PiperOrigin-RevId: 188895880
* Add a helper method for checking whether toolchain resolution is enabled for ↵Gravatar John Cater2018-03-13
| | | | | | | | | a toolchain type. Closes #4832. Change-Id: Ia4fce6dd7003dc441f81ea7ca65ce865ca222142 PiperOrigin-RevId: 188882041
* PiperOrigin-RevId: 188862123Gravatar lpino2018-03-13
|
* Make DeployArchiveBuilder fetch the C++ toolchain identifier throughGravatar lberki2018-03-13
| | | | | | | | | CcToolchainProvider instead of BuildConfiguration. This is a step towards removing BuildConfiguration#getPlatformName(). RELNOTES: None. PiperOrigin-RevId: 188862029
* tests: add TimestampGranularityUtilsGravatar laszlocsomor2018-03-13
| | | | | | | | | | | | | | Add a new test utility class TimestampGranularityUtils which offers methods to wait for the filesystem timestamp granularity to pass. Such waiting is necessary if a test asserts changes in a file's mtime or ctime. This is a follow-up to comments on https://github.com/bazelbuild/bazel/commit/a31e035fb42aa8db9fd248ef2ebd665a411053b8. PiperOrigin-RevId: 188847729
* Fix toolchain and execution platform registration to use patterns.Gravatar John Cater2018-03-12
| | | | | | | | This allows more flexibility in registering toolchains and execution platforms, both in the WORKSPACE and from the command-line. Change-Id: I6fe75507d1a74de74085b7c927fdf093c152b894 PiperOrigin-RevId: 188813688
* Add mostly-ide-generated hashCode for RootedPathGravatar michajlo2018-03-12
| | | | | | | Removed null-checks since not expecting null. RootedPath's hashCode is called enough that it's worth optimizing. PiperOrigin-RevId: 188801280
* Tag Attribute, SkylarkDefinedAspect and some other Skylark classes withGravatar mjhalupka2018-03-12
| | | | | | | | | @AutoCodec. Remove Environment from SkylarkDefinedAspect. Add a note to BuiltInFunction that we shouldn't need to serialize it because all instances should be constant. PiperOrigin-RevId: 188763259
* Prefix startup dots with "Connecting to local Bazel server..." message.Gravatar ruperts2018-03-12
| | | | | RELNOTES: None. PiperOrigin-RevId: 188744724
* Remove comment that is false as of a recent commit.Gravatar nharmata2018-03-12
| | | | | RELNOTES: None PiperOrigin-RevId: 188739970
* Remove support for blaze dump --vfs.Gravatar tomlu2018-03-12
| | | | | | | It is no longer meaningful since the vfs doesn't have an internal path tree to dump. RELNOTES: Remove support for blaze dump --vfs. It is no longer meaningful. PiperOrigin-RevId: 188739379
* Clarify description of the configuration typeGravatar brandjon2018-03-12
| | | | | RELNOTES: None PiperOrigin-RevId: 188735555
* Automated rollback of commit 7ba939dfd5df48903929e9c14ebd0449656403e4.Gravatar shreyax2018-03-12
| | | | | | | | | | | | *** Reason for rollback *** Likely cause for non-determinism in skyframe *** Original change description *** Cache SkylarkLookupImportValues in memory so that we don't recompute them multiple times. PiperOrigin-RevId: 188729929
* Unify action_configs for static librariesGravatar hlopko2018-03-12
| | | | | | | | | | | We don't need to separate them into 4 different flavours, all crosstools define them identically anyway. RELNOTES: CppRules: Unified action_configs for static libraries From now on only c++-link-static-library is read. PiperOrigin-RevId: 188726352
* Fix docstring variable expansion for @SkylarkModuleGravatar brandjon2018-03-12
| | | | | RELNOTES: PiperOrigin-RevId: 188712452
* Add RuleContext#getConfiguredTargetAndDataMap and use it in analysis/Util.Gravatar janakr2018-03-10
| | | | PiperOrigin-RevId: 188629293
* Make RuleContext#getSplitPrerequisiteConfiguredTargetAndTargets public and ↵Gravatar janakr2018-03-10
| | | | | | use it in android/NativeLibs. PiperOrigin-RevId: 188625886
* Fix broken links and formattingGravatar brandjon2018-03-10
| | | | | RELNOTES: None PiperOrigin-RevId: 188625855
* Add RuleContext#getPrerequisiteConfiguredTargetAndTarget and use it in ↵Gravatar janakr2018-03-10
| | | | | | GoTest to avoid calling ConfiguredTarget#getConfiguration. PiperOrigin-RevId: 188623273
* Replace some #getConfiguration calls coming from a TransitiveInfoCollection ↵Gravatar janakr2018-03-10
| | | | | | that was obtained from a ConfiguredTargetAndData object anyway. PiperOrigin-RevId: 188621245
* Get rid of non-class-based lookups for ObjectCodecs. There were basically no ↵Gravatar janakr2018-03-10
| | | | | | | | remaining non-test users (ErrorInfoEncoder was it). Should help to simplify our codec registration. I want to converge MemoizingCodec and ObjectCodec, and the unnecessary complexity around ObjectCodec registration is annoying. PiperOrigin-RevId: 188620988
* Open-source ImmutableMapCodec and make it able to handle arbitrary ↵Gravatar janakr2018-03-10
| | | | | | | | | | keys/values without injecting the codecs. Also allow it to handle ImmutableSortedMap, since we were always silently degrading to ImmutableMap for objects that weren't declared as ImmutableSortedMap, and there's no good way to handle non-natural comparators. This will lead to runtime failures if a class actually needs an ImmutableSortedMap with a different comparator than the natural one. This changes the semantics of ImmutableMap serialization. Previously, we went off the declared type. In the case of a declared ImmutableSortedMap, we ignored the comparator, potentially leading to incorrect serialization (new test added in AutoCodecProcessorTest that would have caught that). Moreover, declared ImmutableMaps were deserialized as ImmutableMaps even if they were actually ImmutableSortedMaps. Now, we preserve the ordering unconditionally, and preserve the type if possible. I think this is a better state to be in. This is needed to kill off MemoizingCodec, since MemoizingCodec has an ImmutableMapMemoizingCodec, which I want to get rid of in favor of this. PiperOrigin-RevId: 188619637
* Replace ConfiguredTargetAndData#getConfiguredTarget()#getConfiguration() ↵Gravatar janakr2018-03-10
| | | | | | with ConfiguredTargetAndData#getConfiguration(). Done using intellij structural replace. PiperOrigin-RevId: 188618282
* Make memoizing serialize and deserialize methods that take a codec ↵Gravatar janakr2018-03-10
| | | | | | package-private. PiperOrigin-RevId: 188610579
* Explicitly don't serialize/deserialize Package objects in ↵Gravatar janakr2018-03-10
| | | | | | ConfiguredTargetValue. The nested set of packages isn't usually set when serializing/deserializing, but it's good to be explicit, especially in tests. PiperOrigin-RevId: 188605043