Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  README.md   Sprache: unbekannt

 
Spracherkennung für: .md vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

# Roboleaf configuration files interpreter

Reads and executes Roboleaf product configuration files.

## Usage

`rbcrun` *options* *VAR=value*... [ *file* ]

A Roboleaf configuration file is a Starlark script. Usually it is read from *file*. The option `-c` allows to provide a
script directly on the command line. The option `-f` is there to allow the name of a file script to contain (`=`).
(i.e., `my=file.rbc` sets `my` to `file.rbc`, `-f my=file.rbc` runs the script from `my=file.rbc`).

### Options

`-d` *dir*\
Root directory for load("//path",...)

`-c` *text*\
Read script from *text*

`--perf` *file*\
Gather performance statistics and save it to *file*. Use \
`       go tool prof -top`*file*\
to show top CPU users

`-f` *file*\
File to run.

## Extensions

The runner allows Starlark scripts to use the following features that Bazel's Starlark interpreter does not support:

### Load statement URI

Starlark does not define the format of the load statement's first argument.
The Roboleaf configuration interpreter supports the format that Bazel uses
(`":file"` or `"//path:file"`). In addition, it allows the URI to end with
`"|symbol"` which defines a single variable `symbol` with `None` value if a
module does not exist. Thus,

```
load(":mymodule.rbc|init", mymodule_init="init")
```

will load the module `mymodule.rbc` and export a symbol `init` in it as
`mymodule_init` if `mymodule.rbc` exists. If `mymodule.rbc` is missing,
`mymodule_init` will be set to `None`

### Predefined Symbols

#### rblf_env

A `struct` containing environment variables. E.g., `rblf_env.USER` is the username when running on Unix.

#### rblf_cli

A `struct` containing the variable set by the interpreter's command line. That is, running

```
rbcrun FOO=bar myfile.rbc
```

will have the value of `rblf_cli.FOO` be `"bar"`

### Predefined Functions

#### rblf_file_exists(*file*)

Returns `True`  if *file* exists

#### rblf_find_files(*top*, *file-pattern*, only_files = 0)

Returns all the paths under *top* whose basename matches *pattern* (which is a shell's glob pattern). If *only_files* is
not zero, only the paths to the regular files are returned. The returned paths are relative to *top*.

#### rblf_wildcard(*glob*, *top* = None)

Expands *glob*. If *top* is supplied, expands "*top*/*glob*", then removes
"*top*/" prefix from the matching file names.

#### rblf_regex(*pattern*, *text*)

Returns *True* if *text* matches *pattern*.

#### rblf_shell(*command*)

Runs `sh -c "`*command*`"`, reads its output, converts all newlines into spaces, chops trailing newline returns this
string. This is equivalent to Make's
`shell` builtin function. *This function will be eventually removed*.

#### rblf_log(*arg*,..., sep=' ')

Same as `print` builtin but writes to stderr.

[Dauer der Verarbeitung: 0.18 Sekunden, vorverarbeitet 2026-06-28]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik