| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the resource dependency handling to separate between the transitive and direct resources from libraries.
This slightly increases the complexity of resource propagation. The initial algorithm was to simply merge all transitive ResourceContainers together with any new ResourceContainer and propagate them via the AndroidResourcesProvider. The new algorithm is encapsulated inside a new ResourceDependencies class which works as follows:
1. Collect resources from the deps into transitive and direct NestedSets
2. If a rule provides a ResourceContainer, merge the transitive and direct into a new transitive set
3. Export the provider
This results having a rule without resources "forward" the merged sets of transitive and direct resources to the next rule.
--
MOS_MIGRATED_REVID=105631635
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks [].
*** Original change description ***
Change the resource dependency handling to separate between the transitive and direct resources from libraries.
This slightly increases the complexity of resource propagation. The initial algorithm was to simply merge all transitive ResourceContainers together with any new ResourceContainer and propagate them via the AndroidResourcesProvider. The new algorithm is encapsulated inside a new ResourceDependencies class which works as follows:
1. Collect resources from the deps into transitive and...
***
--
MOS_MIGRATED_REVID=105598448
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=105596479
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and direct resources from libraries.
This slightly increases the complexity of resource propagation. The initial algorithm was to simply merge all transitive ResourceContainers together with any new ResourceContainer and propagate them via the AndroidResourcesProvider. The new algorithm is encapsulated inside a new ResourceDependencies class which works as follows:
1. Collect resources from the deps into transitive and direct NestedSets
2. If a rule provides a ResourceContainer, merge the transitive and direct into a new transitive set
3. Export the provider
This results having a rule without resources "forward" the merged sets of transitive and direct resources to the next rule.
--
MOS_MIGRATED_REVID=105515074
|
|
|
|
|
|
|
| |
Eliminate side-effect in command_line_srcs and hide the internal class.
--
MOS_MIGRATED_REVID=105480701
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=105214382
|
|
|
|
|
|
|
| |
and implement a "@//" label syntax that always points to the main repository.
--
MOS_MIGRATED_REVID=105041493
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=104886879
|
|
|
|
|
|
|
| |
respective macro in the attribute "generator_location".
--
MOS_MIGRATED_REVID=104757928
|
|
|
|
|
|
|
|
|
| |
repository.
This is necessary because we copy labels from the command line into tools/defaults/BUILD and currently there is no syntax to make a label in a remote repository refer to one in the main repository.
--
MOS_MIGRATED_REVID=104755206
|
|
|
|
|
|
|
|
| |
At this point in the method we already know that aspect != null,
because we're in the else-branch of an if (aspect == null).
--
MOS_MIGRATED_REVID=104674784
|
|
|
|
|
|
|
|
|
|
|
| |
tools repository.
This is a no-op refactoring CL. The actual switch will be made once everything passes with the new setup.
As a side cleanup, change the awkward realAndroidSdk() / realAndroidCrosstoolTop() mechanism to a converter.
--
MOS_MIGRATED_REVID=104649067
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=104533375
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first step toward giving aspects the ability to define their own
required configuration fragments, extracting the required configuration
metadata into a common place.
This should be a no-op refactoring.
--
MOS_MIGRATED_REVID=104249500
|
|
|
|
|
|
|
|
|
|
| |
(following PackageGroup's precedent).
Also cleanup: generalize the pattern by which we determine
non-configurable target types.
--
MOS_MIGRATED_REVID=104125803
|
|
|
|
|
|
|
|
| |
Now that we have an EventHandler everywhere, we can just use the bridge code
to call into the usual PackageManager.
--
MOS_MIGRATED_REVID=104098660
|
|
|
|
|
|
|
|
| |
Production API at the top, then ide_build_info, and testing at the bottom.
This is separate from the refactoring to make both easier to review.
--
MOS_MIGRATED_REVID=104095498
|
|
|
|
|
|
|
| |
Also inject the EventHandler all the way through to the SkyframeExecutor.
--
MOS_MIGRATED_REVID=104094731
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=104009600
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was mainly used for testing during the transition phase to Skyframe. The
only reason I can see to keep it would be to have test coverage that changing
the configuration drops the configured targets. However, do we even want that?
I tried to find out whether it's safe to remove that check (the corresponding
comment is outdated), but couldn't find where (if anywhere) we're doing
garbage collection of old configured targets.
--
MOS_MIGRATED_REVID=104009210
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=104008237
|
|
|
|
|
|
|
|
| |
This is another case of uninterruptible evaluation, which directly accesses
SkyframeExecutor.errorEventListener.
--
MOS_MIGRATED_REVID=103946310
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This limits the exposure of LoadedPackageProvider, such that there will be
no regressions in the use of getLoadedTarget. Unfortunately, fully removing
LoadedPackageProvider is more work than I'm willing to take on right now, and
this is the cleanest intermediate solution I could come up with.
This unblocks my other work (removing SkyframeExecutor.errorEventHandler).
Someone else will have to shave this yak.
--
MOS_MIGRATED_REVID=103943375
|
|
|
|
|
|
|
|
|
|
|
| |
The headers were modified with
`find . -type f -exec 'sed' '-Ei' 's|Copyright 201([45]) Google|Copyright 201\1 The Bazel Authors|' '{}' ';'`
And manual edit for not Google owned copyright. Because of the nature of ijar, I did not modified the header of file owned by Alan Donovan.
The list of authors were extracted from the git log. It is missing older Google contributors that can be added on-demand.
--
MOS_MIGRATED_REVID=103938715
|
|
|
|
|
|
|
|
|
| |
take absolute paths and labels are labels.
This makes them work with labels not in the main repository (i.e. @repo//pkg:target). The alternative would have been to simply add .startsWith("@"), but why try to parse labels in a lame and limited way if we can do the right thing.
--
MOS_MIGRATED_REVID=103934380
|
|
|
|
|
|
|
|
| |
- Unified duplicate code from RuleContext and RuleContext.Builder in a new class, RuleContext.ErrorReporter
- Added the BUILD file location to error/warning messages if the offending rule was created by a macro
--
MOS_MIGRATED_REVID=103934375
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to Attribute.skipPrereqValidatorCheck.
This is to disambiguate the concept of "constraints" and keep
the word consciously focused on Bazel's *new* constraint system.
The changed methods refer to checks done by PrerequisiteValidator,
which is basically an adhoc version of the "old" system (e.g.
checking visibility)
--
MOS_MIGRATED_REVID=103872412
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103839895
|
|
|
|
|
|
|
|
|
| |
Instead, pass an appropriate EventHandler instance in. This is in preparation
for creating a per-command EventHandler, in preparation for allowing multiple
commands to run in parallel. This is removal of shared global state.
--
MOS_MIGRATED_REVID=103828963
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103768073
|
|
|
|
|
|
|
| |
Also change some calls to getLoadedTarget to getTarget instead.
--
MOS_MIGRATED_REVID=103755023
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The PackageProviderForConfigurations is not a provider of loaded packages;
it loads packages unconditionally, and is executed only within SkyFunction
evaluation domains. I.e., the old type hierarchy made no sense.
Also updated the documentation and renamed getLoadedTarget to getTarget. Note
that getLoadedPackage was never called, so I removed it.
This is in preparation for removing LoadedPackageProvider.
--
MOS_MIGRATED_REVID=103754939
|
|
|
|
|
|
|
| |
This is one step towards eliminating LoadedPackageProvider.
--
MOS_MIGRATED_REVID=103752861
|
|
|
|
|
|
|
|
| |
Also move ownership of ArtifactFactory to SkyframeBuildView; simplify the
code.
--
MOS_MIGRATED_REVID=103722228
|
|
|
|
|
|
|
| |
InstrumentedFilesCollector.
--
MOS_MIGRATED_REVID=103642172
|
|
|
|
|
|
|
| |
RELNOTES:
--
MOS_MIGRATED_REVID=103606693
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
internally. This should be a semantics-preserving change for users. In a subsequent CL, I'll change the Skylark syntax to allow load statements to use labels as well as paths, with the goal of eventually deprecating the latter.
Also:
- Removed the hack for handling relative loads in the prelude file.
- Refactored some redundant functionality in PackageFunction and SkylarkImportLookupFunction for handling loads.
- Removed the ability to put the BUILD file for the package containing a Skylark file under a different package root than the Skylark file itself. This functionality isn't currently used and is inconsistent with Blaze's handling of the package path elsewhere.
- Added BUILD files to a number of tests that load Skylark files; this is consistent with the requirement that all Skylark files need to be part of some package.
- Changed the constants used to set the location of the prelude file from paths to labels.
--
MOS_MIGRATED_REVID=103567562
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103549584
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103544466
|
|
|
|
|
|
|
|
|
|
| |
- Label parsing can be simplified
- lib.syntax is only contains the code for Skylark and is reasonably independent from the problem domain of building things
This change is mostly only changes to imports declarations. The rest is reversing the dependency between :cmdline and :syntax and moving a tiny amount of code between Printer and FilesetEntry and the addition of SkylarkPrintableValue that I couldn't be bothered to separate out into its own change.
--
MOS_MIGRATED_REVID=103527877
|
|
|
|
|
|
|
| |
Without this, the FDO features enabled under --fdo* blaze options are not removed when BUILD files contain "features = ['-fdo_instrument', '-fdo_optimize']".
--
MOS_MIGRATED_REVID=103431508
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103380547
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We still want to do that, but not like this. Our infrastructure supports
per-target coverage, and so we also need to support per-target baseline
coverage.
I'm working on better documentation (not hard to be better than no docs),
which will cover this. I left a couple of TODOs to explain how we want to do
it in the future.
--
MOS_MIGRATED_REVID=103379710
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103374106
|
|
|
|
|
|
|
|
| |
Make SkylarkList no longer read-only to match Python and the BUILD language.
Instead, subject it to a Mutability object inherited from the Environment.
--
MOS_MIGRATED_REVID=103332973
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I was persuing the idea that BuildView could become stateless. While that
should be possible, we're currently still relying on minimal state in
BuildView (from tests at least) in a way that makes it tricky to remove.
Instead, I'm now trying to move the BuildView into CommandEnvironment, and
create a new one as needed (only for build commands); that makes it safe in the
presence of concurrently running commands, as long as they don't use the same
BuildView instace. (Of course, allowing commands to run concurrently will need
more changes outside of BuildView.)
--
MOS_MIGRATED_REVID=103279370
|
|
|
|
|
|
|
| |
evaluation, test_suite expansion and configuration creation is still there). Also remove some unused code.
--
MOS_MIGRATED_REVID=103177839
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103090380
|
|
|
|
|
|
|
|
|
| |
syntax that means "refer to the main repository".
There isn't an overarching plan for what we are going to do with the cmdline package, which seems to be separated from the .syntax one in all sorts of awkward ways.
--
MOS_MIGRATED_REVID=103088960
|
|
|
|
|
|
|
| |
BaseFunction.
--
MOS_MIGRATED_REVID=102988766
|