docs: public void exportModule(String moduleName) throws Exception {
  
          CmsModule module = OpenCms.getModuleManager().getModule(moduleName);
  
          if (module == null) {
              throw new CmsDbEntryNotFoundException(Messages.get().container(Messages.ERR_UNKNOWN_MODULE_1, moduleName));
          }
  
          String filename = OpenCms.getSystemInfo().getAbsoluteRfsPathRelativeToWebInf(
              OpenCms.getSystemInfo().getPackagesRfsPath()
                  + CmsSystemInfo.FOLDER_MODULES
                  + moduleName
                  + "_"
                  + OpenCms.getModuleManager().getModule(moduleName).getVersion().toString());
  
          List<String> moduleResources = CmsModule.calculateModuleResourceNames(m_cms, module);
          String[] resources = new String[moduleResources.size()];
          System.arraycopy(moduleResources.toArray(), 0, resources, 0, resources.length);
  
          // generate a module export handler
          CmsModuleImportExportHandler moduleExportHandler = new CmsModuleImportExportHandler();
          moduleExportHandler.setFileName(filename);
          moduleExportHandler.setAdditionalResources(resources);
          moduleExportHandler.setModuleName(module.getName().replace('\\', '/'));
          moduleExportHandler.setDescription(
              getMessages().key(
                  Messages.GUI_SHELL_IMPORTEXPORT_MODULE_HANDLER_NAME_1,
                  new Object[] {moduleExportHandler.getModuleName()}));
  
          // export the module
          OpenCms.getImportExportManager().exportData(
              m_cms,
              moduleExportHandler,
              new CmsShellReport(m_cms.getRequestContext().getLocale()));
      }