| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
| |
--
MOS_MIGRATED_REVID=112561390
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=112507181
|
|
|
|
|
|
|
| |
all so that custom implementations can have custom options passed around.
--
MOS_MIGRATED_REVID=112502778
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- update some comments
- add some comments to make it easier to follow
- delete some dead code, in particular the SkyframeDependencyResolver can
never be null; remove an non-applicable @Nullable annotation
I'm trying to figure out how the error handling code works, in order to add
support for interleaved loading+analysis, which requires handling loading
errors in this code path.
--
MOS_MIGRATED_REVID=112456674
|
|
|
|
|
|
|
|
|
| |
to do such a load will result in a skyframe circular dependency exception.
As a side effect of this change, SkylarkImportFailedExceptions thrown by SkylarkImportLookupFunction are now caught by PackageFunction and wrapped and rethrown as a PackageFunctionException. Previously, the first exception wasn't caught, generating an uncaught exception error at top level.
--
MOS_MIGRATED_REVID=112328755
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is in preparation for moving the output dumping to the Reporter for
two reasons:
- we're currently relying on there being a Reporter which locks on itself;
i.e., this code is tightly coupled with the Reporter code
- the current Blaze output is confusing; we first print an info event, then
the actual output, and then an error event - putting the Reporter in control
allows us to fix that
--
MOS_MIGRATED_REVID=112240684
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, for some types of errors, you'd just see "WORKSPACE file
could not be parsed" if there was a syntax error (instead of what the
syntax error was).
Change-Id: Ia278cf23b79f8daba02917cdfb4cc515a87080b1
--
Change-Id: Ia278cf23b79f8daba02917cdfb4cc515a87080b1
Reviewed-on: https://github.com/bazelbuild/bazel/pull/774
MOS_MIGRATED_REVID=112190322
|
|
|
|
|
|
|
|
|
|
|
| |
statements work in remote repositories.
This work is somewhat sisyphean; the principled thing to do would be to just do this resolution when labels are parsed.
Fixes #783.
--
MOS_MIGRATED_REVID=112137996
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ConfiguredTargetFunction can only throw a NoSuch{Target,Package}Exception
if it's run for a non-existent target. However, it will never request a CT for
a non-existent target: all labels are run through DependencyResolver in order
to determine the configuration transition, which requires loading the target.
If it doesn't exist, the label is never returned from the DependencyResolver,
and errors are swallowed (we rely on the loading phase to report the error).
--
MOS_MIGRATED_REVID=112127012
|
|
|
|
|
|
|
| |
WalkableGraphFactory interface with a hook to inform the factory when the WalkableGraph is done being used.
--
MOS_MIGRATED_REVID=112074284
|
|
|
|
|
|
|
|
|
| |
TargetPatternKey, since that is what is needed by callers.
Also, since the PathFragments come from packages, they are guaranteed to be well-formed, so the checks we were doing were unnecessary.
--
MOS_MIGRATED_REVID=112059930
|
|
|
|
|
|
|
| |
from the current package batch.
--
MOS_MIGRATED_REVID=111858978
|
|
|
|
|
|
|
| |
bazel server exits abruptly.
--
MOS_MIGRATED_REVID=111641619
|
|
|
|
|
|
|
|
|
| |
returning a ResolvedTargets set.
This is the second step in a series to allow processing large sets of targets in query target patterns via streaming batches rather than all at once. This should also be a functional no-op.
--
MOS_MIGRATED_REVID=111611858
|
|
|
|
|
|
|
| |
directory traversal and package loading, and the other which requests deps on all the transitive targets. We need values from the first half, but the second half can fail to evaluate because of a target cycle. By splitting them, we ensure that there will be values in the graph, so we can get the targets below a directory even if there are cycles present.
--
MOS_MIGRATED_REVID=111609889
|
|
|
|
|
|
|
|
|
| |
returning a ResolvedTargets set.
This is the first step in a series to allow processing large sets of targets in query target patterns via streaming batches rather than all at once. This should be a functional no-op.
--
MOS_MIGRATED_REVID=111609309
|
|
|
|
|
|
|
| |
graph. We can compute the universe target patterns outside of skyframe, which is the only reason we need the value we were requesting. Giving up was preventing us from evaluating "..." patterns even if the "..." pattern didn't contain any cycles itself.
--
MOS_MIGRATED_REVID=111605976
|
|
|
|
|
|
|
|
|
|
| |
Parsing was continuing and tried to load skylark extensions even
though an error was present in the WORKSPACE file.
Fixes #724
--
MOS_MIGRATED_REVID=111534382
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=111130363
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=110840166
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=110797095
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
files in external repositories.
In addition:
- Cleaned up and refactored some tests to reflect the new loading behavior.
Deferred to future CLs:
- Updating Bazel Skylark documentation to reflect the new load form.
- Enabling command-line loading of Aspects via labels.
RELNOTES: Skylark load statements may now reference .bzl files via build labels, in addition to paths. In particular, such labels can be used to reference Skylark files in external repositories; e.g., load("@my_external_repo//some_pkg:some_file.bzl", ...). Path-based loads are now deprecated and may be disabled in the future. Caveats: Skylark files currently do not respect package visibility; i.e., all Skylark files are effectively public. Also, loads may not reference the special //external package.
--
MOS_MIGRATED_REVID=110786452
|
|
|
|
|
|
|
|
|
|
| |
I had to make a small change to ExternalFilesHelper. The Bazel test setup
creates a remote repository for the tools, so we always have external files,
incl. during loading. However, some of the tests don't setup an output
directory, but instead pass null, which would lead to a crash.
--
MOS_MIGRATED_REVID=110669993
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=110356954
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
external/ directory, i.e. were created by Bazel.
This avoids a cycle that arose when a file is load()ed from the WORKSPACE file that is reached through a symlink to an external directory:
* The WORKSPACE file depends on the package lookup node of the .bzl file
* The package lookup node (transitively) depends on wherever the symlink points
* The target of the symlink is an external file and as such, it depends on the WORKSPACE file
This will probably be, erm, interesting to solve when we get as far as to load stuff from external repositories in the WORKSPACE file, but we are just not there yet.
--
MOS_MIGRATED_REVID=110344658
|
|
|
|
|
|
|
|
|
| |
- If we have a class object available, we can use .cast(Object)
- Only store the required options objects in CppConfigurationParameters
rather than keeping the entire BuildOptions
--
MOS_MIGRATED_REVID=109981236
|
|
|
|
|
|
|
| |
Reduces garbage.
--
MOS_MIGRATED_REVID=109914243
|
|
|
|
|
|
|
|
|
| |
package and the prefix of external packages in the execroot.
This is in preparation for renaming that path segment from "external" to "bazel-external" so that we can provide a symlink to it from the source tree so that the source tree looks like the execroot.
--
MOS_MIGRATED_REVID=109882753
|
|
|
|
|
|
|
| |
"overlaid BUILD files" hack in RepositoryValue.
--
MOS_MIGRATED_REVID=109877252
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In particular:
- Separate the implementation of maven_server into a RepositoryFunction and one that creates the MavenServerValue (ideally, maven_server wouldn't exist but we'll have to make to for the time being)
- Refactor the logic of determining whether an external repository needs to be re-fetched to RepositoryDelegatorFunction
- Make RepositoryFunctions not be SkyFunctions anymore (they are called from RepositoryDelegatorFunction, though, who *is* a SkyFunction)
- Add a Skyframe dirtiness checker that makes --nofetch RepositoryValues not be cached
- Add a bunch of test cases and javadoc
There is only one wart that I know of that remains: changes to BUILD files of new_* repository rules that weren't refetched when their RepositoryValue was initiall created on server restart won't take effect. This is because we don't add those BUILD files to the created RepositoryValue. This will fix itself once the ExternalFilesHelper refactoring is submitted.
--
MOS_MIGRATED_REVID=109768345
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Blaze discovers inputs for some actions when running with some
strategies. Those actions should not discover additional inputs
when they run, regardless of the strategy they end up using.
There are now no known legitimate cases of such additional input
discovery, so we should reinstate this check and find new ones :)
We also change the failure mode to be a normal error rather than
a crash. This error does indicate a tooling issue, and a small
chance of incorrect builds, but it doesn't create such an
inconsistent state that a crash is warranted.
--
Change-Id: I5d498d2fc1c5e23bfb5d77971f866c2027cbf03a
Reviewed-on: https://bazel-review.googlesource.com/#/c/2500/3
MOS_MIGRATED_REVID=109703508
|
|
|
|
|
|
|
| |
short-circuit check when all package paths have good diff information and no external files have been seen.
--
MOS_MIGRATED_REVID=109703164
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Broke some alipo builds. I had to leave in the change to TransitiveTargetFunctionTest, which is relied upon by follow-up CLs.
*** Original change description ***
Pre-trim build options for all remaining calls to ConfigurationFragment.key. Move
the trimming logic into key() itself to:
a) eliminate code redundancy
b) guarantee all future calls to key() also do this.
--
MOS_MIGRATED_REVID=109683849
|
|
|
|
|
|
|
|
|
| |
Fixes #352.
RELNOTES: Files in external repositories are now treated as mutable, which will make the correctness guarantees of using external repositories stronger (existent), but may cause performance penalties.
--
MOS_MIGRATED_REVID=109676408
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=109579490
|
|
|
|
|
|
|
|
|
|
|
|
| |
We achieve this by computing the directory symlink's metadata hash, which the
Google-internal Fileset rule writes in the fileset_manifest file, from the
hashes of all files under it. This adds complexity but is necessary, because
the symlink's FileStateValue remains the same even if the directory's contents
change, so the FileStateValue alone is inadequate to compute the metadata for
the fileset_manifest.
--
MOS_MIGRATED_REVID=109577723
|
|
|
|
|
|
|
|
|
|
| |
This is a subtle change that'll go a long way: there's a bug in the handling of
directory symlinks (changes in the link target are not picked up) which I'll
fix by combining the metadata hashes of all items in the directory, and use
that as the directory symlink's metadata hash.
--
MOS_MIGRATED_REVID=109564943
|
|
|
|
|
|
|
|
| |
Using this class it's easier to create ResolvedFile instances for tests that
don't care about metadata eqality.
--
MOS_MIGRATED_REVID=109562578
|
|
|
|
|
|
|
| |
Also remove unnecessary `type` members; they are constant.
--
MOS_MIGRATED_REVID=109560348
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=109420721
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL changes the class structure, moving from inheritance to implementation
and composition. In particular, it turns the abstract base class ResolvedFile
into an interface which the earlier subclasses now simply implement rather than
extending it.
This change makes the code cleaner: implementors may write more complicated
getters (and that's my plan to do in a subsequent CL) instead of just returning
the members.
--
MOS_MIGRATED_REVID=109405650
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=109195426
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=108964575
|
|
|
|
|
|
|
|
|
|
|
| |
RELNOTES[NEW]: Skylark macros are now enabled in WORKSPACE file.
Design document at https://docs.google.com/document/d/1jKbNXOVp2T1zJD_iRnVr8k5D0xZKgO8blMVDlXOksJg/preview
Fixes #337
--
MOS_MIGRATED_REVID=108860301
|
|
|
|
|
|
|
|
|
|
|
| |
1. attr.<type> functions return a wrapper object instead of
Attribute.Builder dierctly.
2. RuleClass is created once per the life-time of RuleFunction, during
export
3. Attributes are added to the RuleClass at exporting.
--
MOS_MIGRATED_REVID=108774581
|
|
|
|
|
|
|
| |
RepositoryValue and not depending it from repository functions.
--
MOS_MIGRATED_REVID=108685867
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=108532339
|
|
|
|
|
|
|
|
|
| |
target pattern.
Apart from the tests, I also tested this manually running "bazel query //..." in a tree with convenience symlinks.
--
MOS_MIGRATED_REVID=108325454
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Specifically, given:
config_setting(
name = 'foo',
values = {'copts': '-DABC'})
this requires a dependency on the Cpp configuration fragment.
config_setting rules are unique in that this dependency comes
from string representations of option names.
--
MOS_MIGRATED_REVID=108268831
|
|
|
|
|
|
|
| |
for the purpose of change pruning.
--
MOS_MIGRATED_REVID=108203369
|