Files
Manish Bera 2bdf17ee6e Add initial scaffolding for pythonmaker
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>
2025-08-28 15:21:01 +02:00

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.