dwww Home | Manual pages | Find package

STONE(1)                    General Commands Manual                   STONE(1)

NAME
       stone — interface description language (IDL) for APIs

SYNOPSIS
       stone  [-h]   [-v]   [--clean-build]   [-f  FILTER_BY_ROUTE_ATTR]   [-r
       ROUTE_WHITELIST_FILTER]    [-a    ATTRIBUTE]     [-w    WHITELIST_NAME-
       SPACE_ROUTES]   [-b  BLACKLIST_NAMESPACE_ROUTES]   [backend]   [output]
       [spec ...]

DESCRIPTION
       This manual page documents briefly the stone command.

       This manual page was written for the Debian  distribution  because  the
       original program does not have a manual page.

       stone  is  a  code generator, used to translate your specification into
       objects and functions in the programming languages of your choice.

OPTIONS
       This program follows the usual GNU command line syntax, with  long  op-
       tions starting with two dashes (`-').  A summary of options is included
       below.

                 -h           --help
                 Show help message and exit.

                 -v           --verbose
                 Print debugging statements.

                 --clean-build
                 Remove build_path before source files are compiled into them.

                 -f           --filter-by-route-attr
                 Removes routes that do not match the expression. The  expres-
                 sion must specify a route attribute on the left-hand side and
                 a value on the right-hand side. Use quotes  for  strings  and
                 bytes. The only supported operators are "=" and "!=". For ex-
                 ample, if "hide" is a route attribute, we can use  this  fil-
                 ter:  "hide!=true". You can combine multiple expressions with
                 "and"/"or" and use parentheses to enforce precedence.

                 -r           --route-whitelist-filter
                 Restrict datatype generation to only the routes specified  in
                 the  whitelist and their dependencies. Input should be a file
                 containing   a   JSON   dict   with   the   following   form:
                 {"route_whitelist":  {}, "datatype_whitelist": {}} where each
                 object maps namespaces to lists of  routes  or  datatypes  to
                 whitelist.

                 -a           --attribute
                 Route  attributes  that  the  backend will have access to and
                 presumably expose in generated code. Use ":all" to select all
                 attributes defined in stone_cfg.Route. Note that you can fil-
                 ter (-f) by attributes that are not listed here.

                 -w           --whitelist-namespace-routes
                 If set, backends will only see the  specified  namespaces  as
                 having routes.

                 -b           --blacklist-namespace-routes
                 If  set,  backends  will not see any routes for the specified
                 namespaces.

ARGUMENTS
       backend   Either the name of a built-in backend or the path to a  back-
                 end  module.  Paths  to  backend  modules  must  end  with  a
                 stoneg.py extension.  The following  backends  are  built-in:
                 obj_c_client,  obj_c_types, obj_c_tests, js_client, js_types,
                 tsd_client,   tsd_types,   python_types,   python_type_stubs,
                 python_client, swift_types, swift_client.

       output    The folder to save generated files to.

       spec      Path  to  API  specifications. Each must have a .stone exten-
                 sion. If omitted or set to "-", the spec is read from  stdin.
                 Multiple namespaces can be provided over stdin by concatenat-
                 ing multiple specs together.

AUTHOR
       This manual page was written by fladi fladi@debian.org for  the  Debian
       system  (and  may  be  used by others).  Permission is granted to copy,
       distribute and/or modify this document under the terms of the GNU  Gen-
       eral  Public License, Version 2 any later version published by the Free
       Software Foundation.

       On Debian systems, the complete text of the GNU General Public  License
       can be found in /usr/share/common-licenses/GPL.

                                                                      STONE(1)

Generated by dwww version 1.14 on Fri Jan 24 06:24:21 CET 2025.