Interface PythonPackagable

    • Method Detail

      • getPythonModules

        default Optional<? extends PythonComponents> getPythonModules​(PythonPlatform pythonPlatform,
                                                                      CxxPlatform cxxPlatform,
                                                                      ActionGraphBuilder graphBuilder)
        Python modules (i.e. sources, bytecode, or native extensions) associated with this rule.
        Returns:
        a map of modules, where the key is the module in Path form (including extension).
      • isPythonZipSafe

        default Optional<Boolean> isPythonZipSafe()
        Returns:
        whether the modules in this rule can be imported/run transparently from a Zip file (e.g. via zipimport). This is almost always the case, but in rare situations (e.g. execution expects to find packaged files in disk) rules can opt-out.
      • doesPythonPackageDisallowOmnibus

        default boolean doesPythonPackageDisallowOmnibus​(PythonPlatform pythonPlatform,
                                                         CxxPlatform cxxPlatform,
                                                         ActionGraphBuilder graphBuilder)
        Allow this rule to opt-out it's transitive dependencies from omnibus linking. This is mainly useful for the case of prebuilt python packages including prebuilt native extensions in their sources parameter, which expect any native library dependencies to not be merged.
        Returns:
        whether this PythonPackagable's transitive deps must be excluded from omnibus linking.