code: public CmsUUID publishProject(CmsObject cms, CmsPublishList publishList, I_CmsReport report) throws CmsException {
  
          CmsRequestContext context = cms.getRequestContext();
          CmsDbContext dbc = m_dbContextFactory.getDbContext(context);
          try {
              // check if the current user has the required publish permissions
              checkPublishPermissions(dbc, publishList);
              m_driverManager.publishProject(cms, dbc, publishList, report);
          } finally {
              dbc.clear();
          }
          return publishList.getPublishHistoryId();
      }
docs: Publishes the resources of a specified publish list.<p>
  
  @param cms the current request context
  @param publishList a publish list
  @param report an instance of <code>{@link I_CmsReport}</code> to print messages
  
  @return the publish history id of the published project
  
  @throws CmsException if something goes wrong
  
  @see #fillPublishList(CmsRequestContext, CmsPublishList)