| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This reverts commit 14234ccce3e7eec1153e810fab75afb2e90a2b22.
|
|
|
|
|
| |
widget.py: Remove SequenceID from the list of widgets.
tests/frontend/logging.py: Remove %{sequence} check.
|
|
|
|
|
|
|
| |
Messages which come from the frontend do not have any backing log
file where the remainder of the message can be reviewed. In the
case of lengthly detailed messages originating from the frontend,
we dont allow any abbreviation of the message.
|
|
|
|
|
|
|
|
| |
Brackets can now be added as plain text in a custom logging format
string, so there's no need to add them in widgets.
widget.py: Remove brackets.
_status.py: Remove the 'brackets' optional argument to TimeCode.
|
|
|
|
|
|
| |
widget.py: Main body of tokenizer.
_context.py: Read message-format from user config YAML.
main.py: Pass in context message-format to LogLine constructor.
|
|
|
|
|
|
|
|
|
|
| |
WallclockTime is set at the time a message is created. Since messages
can be placed in queues before being rendered, this is not always
the same time as the wallclock time when rendering the message, so it
needs to be stored in the message.
widget.py: Add the two new widgets
_message.py: record system time when a message is created.
|
|
|
|
|
|
|
|
|
|
| |
The idea of a sequence number/ID is to tie together all messages
associated with a given timed activity, to make performance
analysis easier.
_context.py: Add sequence number with atomic increment
_widget.py: SequenceID widget, which displays this value
_message.py: sequence_id variable storing the sequence for a message.
|
| |
|
|
|
|
|
| |
Adds MessageOrLogFile widget, which contains the same functionality
previously used to display messages.
|
|
|
|
|
| |
This introduces junctions as a new kind of elements to allow
dependencies to cross project boundaries.
|
|
|
|
| |
Element and source factories use a project-specific search path.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes most of the usages of pkg_resources from the codebase, helping
the goal of getting rid of that completely.
With this change, version number is generated during install and embedded into
`__version__` which is then imported by root level `__init__`. From there,
it is used by other parts of the codebase when needed.
Generated `__version__` file is ignored and not tracked by git to prevent
unnecessary 'changes' messages and accidental commits of that file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o Now print the message itself on the same line in place of the abbreviated log file
o When reading back the last lines of the log file, prefix that
with an informative message about whence the log lines come,
showing the full unabbreviated log file.
o Fixed the behavior of read_last_lines() so that it works as
intended, problems were:
- Was prepending an additional newline when the log contains
more lines than we want to print
- Was not printing anything at all in the case we want to
print more lines than exist in the log
|
|
|
|
|
|
|
|
|
|
|
| |
Now we just assume that logging is turned on all the time, any
messages must now always go through the central context messaging
APIs.
As a side effect, we now send all output messages that
buildstream generates to stderr, leaving stdout only to
payload types of output, such as parsible `bst show` output,
the output of `bst workspace list` or `bst shell`.
|
| |
|
|
|
|
| |
Hide all of buildstream's internal exceptions from the API surface.
|
| |
|
| |
|
|
|
|
|
| |
These come exclusively from the frontend or _pipeline.py code, we just
avoid printing an element name or cache key for these messages.
|
| |
|
|
|
|
|
| |
No more variants on `bst show` or when printing the pipeline
at session startup time.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Retry network tasks up to two times by default.
Fixes #30
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Early return in print_summary() if scheduler.queues is None,
can happen when the pipeline early returns before running
the scheduler for any reason, in which case we dont care
about printing a summary of what never even happened.
|
|
|
|
|
| |
Used to print a summary at the end of a scheduler session, prints
the status of queues in order.
|
|
|
|
|
| |
Since now we can have a lot of different queues in play, things are
otherwise confusing without this hint, I think.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This command adds initial cross-compilation support to BuildStream.
It has been tested against a converted version of the Baserock
compiler bootstrap and used to cross build sysroots for armv8l64 and ppc64l
from an x86_64 host.
For example, to build a sysroot for ARM v8 64-bit you can do this:
bst build --target-arch=armv8b64 gnu-toolchain/stage2.bst
This would cause the adapted Baserock definitions to produce a stage1 simple
cross compiler that runs on the native architecture and produces armv8b64
binaries, and then cross build a stage2 sysroot that executes on armv8b64.
Currently the --host-arch option does nothing of use. It will one day
enable host-incompatible builds using a QEMU-powered cross sandbox.
The `--arch=` option is now shorthand for `--host-arch= --target-arch=`.
Elements have 2 new variables available, %{bst-host-arch} and
%{bst-target-arch}. The 'arches' conditional now follows %{bst-target-arch},
while the new 'host-arches' conditional follows %{bst-host-arch}. All
of --arch, --host-arch and --target-arch default to the output of `uname -a`.
There's no magic here that would make all BuildStream elements suddenly
able to cross compile. It is up to an individual element to support this by
honouring %{bst-target-arch} in whatever way makes sense.
|
|
|
|
| |
When we split up the frontend, these imports seem to have been left behind.
|
|
|
|
| |
This controls whether color is used in the output
|
| |
|
| |
|
|
|
|
| |
So we can control which elements we print in the heading.
|
|
|
|
|
|
| |
This could be further enhanced to also print the originating
element whenever message.task_id != message.unique_id, but for
now this is better.
|
| |
|
|
|
|
|
|
| |
This addresses issue #29 by making the frontend truncate detailed
messages to a configurable number of lines, default is 20 lines
maximum of message detail.
|
|
|
|
|
|
| |
inconsistent
Instead of showing an emtpy space and screwing with alignment.
|
|
|
|
|
|
|
|
|
|
|
| |
For any tasks which run the scheduler and have a heading, now
display the full pipeline dependencies in build/stage order
using the same formatting as `bst show`. The format is configurable
in the user preferences.
Also added a %{full-key} formatting value so the user can decide
to display full keys instead of abbreviated keys, this automatically
applies both to the startup summary and `bst show`.
|
|
|
|
|
| |
Also fix to CacheKey widget, fix display for elements before
pipeline is fully resolved (avoids exceptions thrown in debug mode)
|
|
|
|
| |
Handle BUG mostly in the same way as FAILURE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o The metaelements and metasources now carry the name, the loader
resolves source names now.
o Element/Source factories dont require a name anymore as they
are already in the meta objects
o Pipeline no longer composes names
o Element.name is now the original project relative filename,
this allows plugins to identify that name in their dependencies,
allowing one to express configuration which identifies elements
by the same name that the user used in the dependencies.
o Removed plugin._get_display_name() in favor of the plugin.name
o Added Element.normal_name, for the cases where we need to have
a normalized name for creating directories and log files
o Updated frontend and test cases and all callers to use the
new naming
|
|
|
|
| |
Used to print a heading before running a pipeline.
|
| |
|
|
Probably widget.py could be split up and cleaned up some more,
but at least this puts the frontend out of the way.
|