| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
Switch statements were poorly formatted. Fixing it in a separate commit so
that it doesn't clutter the diff.
RELNOTES: None.
PiperOrigin-RevId: 200062930
|
|
|
|
|
|
| |
- migrate all startTask/completeTask pairs to the new API
PiperOrigin-RevId: 200038703
|
|
|
|
|
|
|
|
|
|
|
|
| |
The high level summary of the changes:
- use `Identifier` instead of `name` in `Keyword` and `Parameter`.
- construct `Identifier` through a factory method in case future interning is desired.
These changes are in preparation for using `Identifier` instead of `name` for environment lookups.
Closes #5304.
PiperOrigin-RevId: 199869171
|
|
|
|
|
|
|
|
|
|
| |
Ensure debugging is turned off (and the server socket closed) when
the command finishes, even if the blaze server is shut down.
Finally, unpause all threads as part of shutting down the debug server,
and also shut down the server if the client connection is lost.
PiperOrigin-RevId: 199863623
|
|
|
|
|
|
|
|
|
|
|
| |
The information was redundant. https://github.com/bazelbuild/bazel/commit/d605a62eb9908fe44c89a2ed10f88f633c4dcb3e modified only one
place, which created a contradiction. We can just remove
the outdated one.
#5352
RELNOTES: None.
PiperOrigin-RevId: 199780557
|
|
|
|
|
|
|
|
|
|
|
|
| |
Not intending this to be a complete implementation yet.
Among the things still to do:
- officially add support for debugging aspects, rules, etc.,
with corresponding tests.
- handle breakpoints at return statements (an edge case which
bypasses Eval).
PiperOrigin-RevId: 199692670
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In particular,
* fix sentences with no space after the period, like [here]([]
* switch backticks to `<code>`, like [here]([]
* link `ctx.var` [here]([]
* Add periods to the end of paragraphs, like [here]([]
* Format a list [here]([]
Closes #5337.
PiperOrigin-RevId: 199631585
|
|
|
|
|
|
|
| |
functionality in WORKSPACE rules.
RELNOTES: None
PiperOrigin-RevId: 199332092
|
|
|
|
|
|
|
|
|
|
| |
There's only one Token and it gets reused.
This reduces the memory usage of the lexer. Parsing time seems to be 5%-10%
faster with this change on a large file. This makes little difference on the
overall performance of Bazel though.
RELNOTES: None.
PiperOrigin-RevId: 199310860
|
|
|
|
|
|
|
| |
Next step will be to skip token allocation.
RELNOTES: None.
PiperOrigin-RevId: 199121625
|
|
|
|
|
|
|
|
|
|
| |
Supporting tools in inputs introduces a slow linear scan. Such tools should be moved to the 'tools' attribute. If --incompatible_no_support_tools_in_action_inputs is set the inputs are scanned, but a helpful error message is issued to the user.
Eventually we will remove the slow scanning. Errors will surface in the execution phase instead of during analysis, and the resulting error messages will be less obvious.
RELNOTES: None
RELNOTES[INC]: With --incompatible_no_support_tools_in_action_inputs enabled, Skylark action inputs are no longer scanned for tools. Move any such inputs to the newly introduced 'tools' attribute.
PiperOrigin-RevId: 198996093
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 198882702
|
|
|
|
|
|
|
|
|
|
|
| |
With the recording of the results of repository rules (that
eventually will lead to an implementation of the WORKSPACE.resolved
proposal) bazel started writing out lengthy Skylark values. To make
this file more readable for humans, add a Skylkark printer that
does at least some basic line breaking and indenting.
Change-Id: I469d029421df9212b43747509dd17bd6c64da4a8
PiperOrigin-RevId: 198389112
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's more efficient to use properly sized array builders to avoid having
a need to dynamically adjust the size of the underlying array. The result
is improved performance (no need to copy elements to newly created array)
and better memory efficiency - no need to re-allocate and no extra space
is wasted.
Closes #5241.
PiperOrigin-RevId: 197946723
|
|
|
|
|
|
|
| |
with generic parameters
RELNOTES: None.
PiperOrigin-RevId: 197932265
|
|
|
|
|
|
|
|
|
|
|
|
| |
A bug in the lexer ignored indentation on the first line of a file. This now
causes an error.
Also, remove the COMMENT token from the lexer. Comments are now accessed separately. This will allow further optimizations in the lexer. It also aligns the code a bit more with the Go implementation.
RELNOTES[INC]:
Indentation on the first line of a file was previously ignored. This is now fixed.
PiperOrigin-RevId: 197889775
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 197881012
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I've pulled out the API for separate review. It includes all
hooks from blaze/skylark used by the debugger.
Debuggable thread contexts are currently declared in 3 places:
- BuildFileAST (top-level evaluation of BUILD files)
- SkylarkRuleConfiguredTargetUtil (rules)
- SkylarkAspectFactory (aspects)
The purpose of declaring these contexts is so that the debugger
can track currently-active threads (and stop tracking them when
the task is completed).
Details of the actual debugging server are in unknown commit.
PiperOrigin-RevId: 197770547
|
|
|
|
|
|
|
| |
build API to a global environment.
RELNOTES: None.
PiperOrigin-RevId: 197742427
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 197731580
|
|
|
|
|
|
| |
Also consolidate code with getattr so getattr now also gets typo detection.
PiperOrigin-RevId: 197612666
|
|
|
|
|
|
|
|
|
| |
Remove all references to `Token` (except one) in the parser. In particular,
remove the mechanism to push tokens back. This change will make possible for
the lexer to reuse tokens instead of allocating new objects each time.
RELNOTES: None.
PiperOrigin-RevId: 197585185
|
|
|
|
|
|
|
|
| |
With this change, the parser explicitly asks the lexer to give the next token.
To avoid changing the lexer too much, the tokenize() method populates a queue (it may add multiple tokens at the same time). While this reduces the peak memory usage, further work is needed to actually improve the performance.
RELNOTES: None.
PiperOrigin-RevId: 197576326
|
|
|
|
|
|
|
|
| |
Since the glob() function now returns a standard list, some code can be
simplified.
RELNOTES: None.
PiperOrigin-RevId: 196867957
|
|
|
|
|
|
| |
RELNOTES:
Flag `--incompatible_disable_glob_tracking` is removed.
PiperOrigin-RevId: 196852718
|
|
|
|
|
|
| |
overridden by classes which would?ve otherwise thrown an NPE.
PiperOrigin-RevId: 196680390
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 196561473
|
|
|
|
|
|
|
|
| |
When set to true, old-style JavaInfo provider construction methods become an error.
RELNOTES[INC]: Add --incompatible_disallow_legacy_javainfo flag.
PiperOrigin-RevId: 195104452
|
|
|
|
| |
PiperOrigin-RevId: 195040539
|
|
|
|
|
|
|
|
|
| |
This helps the Skylark interpreter to not depend on Bazel concepts, though it adds a temporary dependency of Skylint on packages/. The fix for that will be to create a Build API interface for BazelLibrary (e.g., "BazelLibraryAPI").
Refactored some GlobalFrame construction logic to be more uniform. Instead of constructing a whole Environment just to get a frame, we build the frame directly, using ImmutableMap.Builder to accumulate bindings. This convention may further change once we convert MethodLibrary and the like to @SkylarkGlobalLibrary, but for now it's more readable.
RELNOTES: None
PiperOrigin-RevId: 194960824
|
|
|
|
|
|
|
| |
This is needed for constructors that want to be able to use SkylarkSemantics.
RELNOTES: None
PiperOrigin-RevId: 194180124
|
|
|
|
|
|
|
|
|
|
|
|
| |
be treated as a callable skylark object.
This will allow Skylark Provider objects to be better specified.
For example, "JavaInfo" can have a fully-documented, fully-specified @SkylarkCallable method with selfCall=true to represent the method JavaInfo(), instead of being a subclass of BaseFunction and requiring a @SkylarkSignature annotation.
There are no usages of this pattern introduced in this CL, and also no updates to docgen to support the new pattern. These will be introduced in another CL.
RELNOTES: None.
PiperOrigin-RevId: 194088227
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 193962460
|
|
|
|
|
|
| |
Always use the more-qualified class name for clarity at the site of use. There are too many classes named Builder.
PiperOrigin-RevId: 193624381
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 193370435
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the process, clean up SkylarkType-related tests.
- Factor test of EvalUtils.getSkylarkType logic from SkylarkEvaluationTest and ValidationTest to EvalUtilsTest.
- Move test of EvalUtils.getSkylarkType's behavior on lists to SkylarkListTest.
- Move other SkylarkType tests from ValidationTest to new SkylarkTypeTest and split them up a little.
- Throughout, don't use Bazel types like Artifact as test subjects.
RELNOTES: None
PiperOrigin-RevId: 193303463
|
|
|
|
|
|
|
|
|
| |
global skylark functions to use @SkylarkCallable instead of @SkylarkSignature.
Also migrate skylark's global "rule" function to @SkylarkCallable, thus demonstrating the new feature.
RELNOTES: None.
PiperOrigin-RevId: 193085313
|
|
|
|
|
|
|
|
| |
RELNOTES:
`FileType` is deprecated and will be removed soon.
Try the `--incompatible_disallow_filetype` flag to ensure your code
is forward-compatible.
PiperOrigin-RevId: 192758063
|
|
|
|
|
|
| |
RELNOTES:
Removed flag `--incompatible_disallow_toplevel_if_statement`.
PiperOrigin-RevId: 192621765
|
|
|
|
|
|
|
| |
StringModule is a special case in a number of places because it represents effectively methods which should be annotated on String.class. However, String may not be subclassed in Java. StringModule thus serves as a proxy module for String.
RELNOTES: None.
PiperOrigin-RevId: 192508607
|
|
|
|
|
|
|
|
|
|
| |
@SkylarkCallable.
@SkylarkSignature.parameters() treat named()=true for parameters regardless of whether named() was actually set to true, and thus for ease of migration we mark migrated parameters as legacyNamed() = true, which is currently semantically equivalent to named() = true.
We make a distinction so that it's easier to bulk fix these later.
RELNOTES: None.
PiperOrigin-RevId: 192477405
|
|
|
|
|
|
|
|
| |
RELNOTES:
The `/` operator is deprecated in favor of `//` (floor integer division).
Try the `--incompatible_disallow_slash_operator` flag to ensure your code
is forward-compatible.
PiperOrigin-RevId: 192430310
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 192425838
|
|
|
|
|
|
|
|
|
| |
option.
It was used for a migration, which is now done.
RELNOTES: None.
PiperOrigin-RevId: 192246659
|
|
|
|
|
|
|
| |
Also rename it to a separate function since boolean args are vague.
RELNOTES: None
PiperOrigin-RevId: 192201308
|
|
|
|
|
|
|
|
|
| |
parity with @SkylarkSignature.
This is necessary for several builtin functions that still use @SkylarkSignature, such as string format. These will be migrated in a future CL.
RELNOTES: None.
PiperOrigin-RevId: 192200282
|
|
|
|
|
|
|
| |
This involves enforcing additional compiletime restrictions on Param ordering and semantics.
RELNOTES: None.
PiperOrigin-RevId: 191927206
|
|
|
|
|
|
|
|
|
|
|
| |
Args#add(value, *, arg, format)
Args#add_all(value, *, arg, map_each, format_each, before_each, omit_if_empty, uniquify)
Args#add_joined(value, *, arg, join_with, map_each, format_each, format_joined, omit_if_empty, uniquify)
The old Args#add remains backwards compatible, but we add a flag to disable this compatibility mode.
RELNOTES: None
PiperOrigin-RevId: 191804482
|
|
|
|
|
|
|
| |
SourceArtifact.getPath() is considered safe and eventually we may restrict
getPath() to only SourceArtifact.
PiperOrigin-RevId: 191768519
|
|
|
|
|
|
|
|
|
| |
@SkylarkSignature
Most notably, this involves introduction of a new function abstraction, BuiltinMethod, which can wrap a {objc, SkylarkCallable} pair into a BaseFunction for later calling. (This is required due to the current layer of indirection on the end "native" module)
RELNOTES: None.
PiperOrigin-RevId: 191642467
|