| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
configuration in getImplicitOutputArtifact.
PiperOrigin-RevId: 189654578
|
|
|
|
|
|
| |
rename some methods that were still called ConfiguredTargetAndTarget. Move some tests over to using ConfiguredTargetAndData instead of calling ConfiguredTarget#getConfiguration() directly.
PiperOrigin-RevId: 189642264
|
|
|
|
|
|
|
| |
matching build flag --j2objc_dead_code_report.
RELNOTES: The 'j2objc' configuration fragment is exposed to Skylark.
PiperOrigin-RevId: 189630012
|
|
|
|
| |
PiperOrigin-RevId: 189602622
|
|
|
|
|
|
| |
builder.
PiperOrigin-RevId: 189592782
|
|
|
|
| |
PiperOrigin-RevId: 189589977
|
|
|
|
|
|
|
|
| |
Always generate default method stubs for emulated methods.
RELNOTES: None.
PiperOrigin-RevId: 189423933
|
|
|
|
| |
PiperOrigin-RevId: 189419493
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 189317851
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 189292736
|
|
|
|
|
|
| |
Next change will convert containers.
PiperOrigin-RevId: 189261293
|
|
|
|
|
|
| |
already been migrated to github.com/bazelbuild/rules_apple.
PiperOrigin-RevId: 189245171
|
|
|
|
| |
PiperOrigin-RevId: 189244665
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Android tools no longer modify output file
mtimes in hopes of achievening better action
cache hits.
Modifying the mtimes was confusing Bazel and
causing correctness bugs.
Modifying the mtimes is unnecessary because Bazel
is smart about picking up filesystem changes and
observes more signals than just the mtime, though
as the corresponding bug shows it's sadly not
bullet-proof.
Fixes https://github.com/bazelbuild/bazel/issues/4734
Change-Id: I4aa8abf29486841ba8133f927e2816d7f85881fe
Closes #4848.
Change-Id: I0615fae1f20d786771d742705ab4a6ddf7f2306e
PiperOrigin-RevId: 189183742
|
|
|
|
| |
PiperOrigin-RevId: 189181919
|
|
|
|
|
|
| |
Makes NestedSetCodec into a runtime codec instead of a Marshaller.
PiperOrigin-RevId: 189110883
|
|
|
|
|
|
|
| |
This change ensures that there is no duplicate aspect in AnalysisResult.
RELNOTES: None
PiperOrigin-RevId: 189086095
|
|
|
|
|
|
| |
Also have each method only test one CPU value, for easier debugging.
PiperOrigin-RevId: 189081488
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 189065642
|
|
|
|
|
|
|
|
| |
These are mostly tests. This is a step toward making the
ar_files/as_files attributes mandatory.
RELNOTES: None.
PiperOrigin-RevId: 189052327
|
|
|
|
| |
PiperOrigin-RevId: 189023695
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As of unknown commit, internal_bootstrap_hack no longer appears
in any BUILD files, so once that CL is clearly landed (without
rollback) we should be able to submit this CL.
There are still some users who set
--experimental_js_proto_generate_js_even_for_bootstrap (including
tools/blaze.blazerc), so we can't remove that flag until all
references are removed.
RELNOTES: internal_bootstrap_hack has been deprecated and removed.
PiperOrigin-RevId: 188952693
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
RELNOTES: Enable dependency checking for aar_import targets.
PiperOrigin-RevId: 188912126
|
|
|
|
|
|
|
|
|
| |
uses toolchains.
Closes #4833.
Change-Id: I9f58dc98cc00d0b2246d479d33a5086114d95073
PiperOrigin-RevId: 188882007
|
|
|
|
|
|
|
|
|
|
| |
The updated test cases in the InMemoryFileSystemTest make
the assumption that /a and /b are not prefixes of the
InMemoryFilesystemTest.workingDir field. This is not safe
and thus use a randomly generated directory name instead
of a hardcoded one.
PiperOrigin-RevId: 188872604
|
| |
|
|
|
|
|
|
|
|
|
| |
CcToolchainProvider instead of BuildConfiguration.
This is a step towards removing BuildConfiguration#getPlatformName().
RELNOTES: None.
PiperOrigin-RevId: 188862029
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
reference, instead of potentially referring to a subtype.
Refactor desugar's class loading machinery and related code into a separate package for easier reuse in this tool.
RELNOTES: None.
PiperOrigin-RevId: 188825305
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
- use Guava to read zip entries
- Fix keep rules emitted for constructors
RELNOTES: None.
PiperOrigin-RevId: 188781547
|
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 188760099
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** 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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Increase the connect timeout to 30 seconds Windows sometimes
seems to need more time.
RELNOTES: None
PiperOrigin-RevId: 188702864
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
ConfiguredTargetAndData. We want to get BuildConfiguration out of ConfiguredTarget because it uses >800K when serialized.
PiperOrigin-RevId: 188600002
|
|
|
|
|
|
| |
This reduces the size of its serialized representation.
PiperOrigin-RevId: 188597127
|
|
|
|
|
|
| |
Closes #4622.
PiperOrigin-RevId: 188595430
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Skylark memoization, but we may extend in future to handle more than just Skylark this way. In fact, we probably want most of our ObjectCodecs to be MemoizingCodecs that can efficiently fall back to ObjectCodec if not using memoization (maybe coming in a follow-up).
At a high level, this CL merges the functionality of MemoizingCodecMap into ObjectCodecRegistry, adds auto-registration of MemoizingCodec, and uses that to get rid of a lot of codecs that were just delegating. The big one to get rid of there is SkylarkValueCodec: all of its delegation duties are implicitly now in ObjectCodecRegistry and friends.
One danger with this CL is that many of the features of Skylark serialization are only being tested in unit tests, which had to be reworked as part of this change. I don't think we've lost any coverage, but I could be wrong. SkylarkValueCodec had a bunch of methods that were effectively test-only, which made it easier to remove.
The plan is to provide a Memoizer.Serializer inside the SerializationContext. At the top level, it will be a DUMMY_SERIALIZER that does no memoization, but a MemoizingCodec can do
context = context.ensureMemoizing()
which will recreate the context with a true memoizing serializer. Then all references to the Serializer in codec code can be cleaned up, and the MemoizingCodec and ObjectCodec signatures will be the same. At that point, we can make all ObjectCodecs compatible with memoization by default (with strategy MEMOIZE_AFTER), and add a "memoize" boolean to @AutoCodec. That should allow us to have full interoperability between all codecs.
This CL also makes CodecScanner deterministic in the order of classes that it processes (there was a lurking bug here where constants must be deterministically ordered but that wasn't enforced at all).
PiperOrigin-RevId: 188559983
|
|
|
|
|
|
| |
BuildOptions. Motivation is that the diffs are likely to be much smaller than the actual BuildOptions objects themselves, so in places we need a BuildOptions (I'm looking at you, BuildConfigurationValue.Key), we can instead store a diff, reconstructing the BuildOptions object itself on demand when needed.
PiperOrigin-RevId: 188511251
|
|
|
|
|
|
|
|
|
| |
Unlike in fixed-point (legacy) expansion of configs, with --expand_configs_in_place we do not use the options parser to parse each config-definition default override - we first find the full expansion and then expand it in place of the original --config=value instance. For this reason though, we don't support space-separation of recursive configs and their values.
The old warning for this was confusing though, and did not provide much guidance. This should be better, now the warning specifies which config is malformed, in what file, and that it expects the "=" character.
RELNOTES: None.
PiperOrigin-RevId: 188509060
|
|
|
|
| |
PiperOrigin-RevId: 188503085
|