This commit introduces the 'pythonmaker' executable, a new tool in the codemaker module. pythonmaker generates Python type stub files (.pyi) from UNO IDL type libraries (.rdb files). This enables static type checking and modern IDE features like auto-completion for developers writing Python scripts for LibreOffice. This commit includes the complete, feature-complete tool capable of handling all major IDL entity types (enums, constants, typedefs, structs, exceptions, interfaces, services, and singletons). Change-Id: I52f783aa982e1de04a207a9a884aee207f99d193 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185498 Tested-by: Jenkins Tested-by: Hossein <hossein@libreoffice.org> Reviewed-by: Hossein <hossein@libreoffice.org> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
22 lines
1014 B
Markdown
22 lines
1014 B
Markdown
# Language Code Generators for UNOIDL Entities
|
|
|
|
Generators for language-binding--specific representations of UNOIDL entities:
|
|
|
|
- `cppumaker` generates header (`.hdl` and `.hpp`) files for the C++ UNO language
|
|
binding
|
|
- `javamaker` generates class files for the JVM language binding
|
|
- `netmaker` generates C# code files for the .NET language binding
|
|
- `climaker` (the old codemaker for .NET Framework) is in module `cli_ure`
|
|
- `pythonmaker` generates Python stub (pyi) files for the Python UNO language binding
|
|
|
|
Some of the code is re-used by the skeletonmakers in module `unodevtools`.
|
|
|
|
Note the different terminology used by cppumaker vs. gbuild for the three
|
|
variants that can be generated by cppumaker for some of the inline functions:
|
|
|
|
cppumaker switch: -L; cpputype.cxx: light; gbuild: normal;
|
|
cppumaker switch: none; cpputype.cxx: normal; gbuild: bootstrap;
|
|
cppumaker switch: -C; cpputype.cxx: comprehensive; gbuild: comprehensive;
|
|
|
|
which can be a source of confusion.
|