]> Creatis software - bbtk.git/blobdiff - kernel/appli/bbRegeneratePackageDoc/bbRegeneratePackageDoc.cpp
*** empty log message ***
[bbtk.git] / kernel / appli / bbRegeneratePackageDoc / bbRegeneratePackageDoc.cpp
index bc1fc449b84f220655c7e02a910bf88ce49cf1a6..9faa7d56b429a860da732a44964672510b24ddca 100644 (file)
@@ -7,85 +7,98 @@
 //==========================================================================
 void RegenerateDoc ( bbtk::Package::Pointer p, std::string& doc_path )
 {
-       std::string pack_name(p->GetName());
-       std::string pack_path = doc_path + pack_name;
-       // Creating directory
-       if ( ! bbtk::Utilities::FileExists(pack_path) )
-       {
-               std::string command("mkdir \"" +pack_path+ "\"");
-               system( command.c_str() );
-       }
-       std::string pack_index(pack_path);
-       pack_index += bbtk::ConfigurationFile::GetInstance().Get_file_separator();
-       pack_index += "index.html";
+  std::string pack_name(p->GetName());
+  std::string pack_path = doc_path + pack_name;
+  // Creating directory
+  if ( ! bbtk::Utilities::FileExists(pack_path) )
+    {
+      std::string command("mkdir \"" +pack_path+ "\"");
+      system( command.c_str() );
+    }
+  std::string pack_index(pack_path);
+  pack_index += bbtk::ConfigurationFile::GetInstance().Get_file_separator();
+  pack_index += "index.html";
+  
+  std::cout << "* Generating doc for package '"<<pack_name<<"' in "
+           << pack_index << std::endl;
+  
+  p->SetDocURL(pack_index);
+  p->SetDocRelativeURL("index.html");
+  p->CreateHtmlPage(pack_index,"bbtk",pack_name,"","",0,0,false); //true);
+}
 
-       std::cout << "* Generating doc for '"<<pack_name<<"' in "
-                         << pack_index << std::endl;
-                       
-       p->SetDocURL(pack_index);
-       p->SetDocRelativeURL("index.html");
-       p->CreateHtmlPage(pack_index,"bbtk",pack_name,"","",0,0,true);
+
+void Usage()
+{
+  std::cout << "usage : bbRegeneratePackageDoc [<package name>|-a] [-q|-v]" 
+           << std::endl
+           << "        -a : All packages"<<std::endl
+           << "        -q : Quiet"<<std::endl
+           << "        -v : Verbose"<<std::endl;
 }
 
 //==========================================================================
 int main(int argc, char **argv)
 {
-       std::string pack("*");
-       if (argc==1)
+  std::string pack("-a");
+  if (argc==2) 
+    {
+      pack = std::string(argv[1]);
+    }
+  else if (argc==3)
+    {
+      pack = std::string(argv[1]);
+      std::string param(argv[2]);
+      if (param=="-q") bbtk::MessageManager::SetMessageLevel("max",0);
+      else if (param=="-v") bbtk::MessageManager::SetMessageLevel("all",9);
+      else 
        {
-               /*
-               // TO DO : make a Wx app
-          wxString name = wxGetTextFromUser(_T("Enter package name (* for all)"),
-                            _T("Regenerate package doc"),
-                            _T(""));
-          if (name.IsEmpty()) return 0;
-          pack = bbtk::wx2std(name);
-       */
+         Usage();
+         return 0;
        }
-       else if (argc==2) 
+    }
+  else 
+    {
+      Usage();
+      return 0;
+    }
+  
+  try
+    {
+      std::string doc_path = bbtk::ConfigurationFile::GetInstance().Get_doc_path();
+      doc_path += bbtk::ConfigurationFile::GetInstance().Get_file_separator();
+      doc_path += "bbdoc";
+      doc_path += bbtk::ConfigurationFile::GetInstance().Get_file_separator();
+      
+      bbtk::Interpreter::Pointer I = bbtk::Interpreter::New();
+      I->SetCommandLine(true);
+      I->SetThrow(false);
+      I->InterpretLine( "exec freeze");
+      if (pack != "-a") 
        {
-               pack = std::string(argv[1]);
+         I->InterpretLine( "include "+pack);
+         I->InterpretLine( "include "+pack+"-appli");
+         RegenerateDoc(I->GetExecuter()->GetFactory()->GetPackage(pack),doc_path);
        }
-       else 
+      else
        {
-               std::cout << "usage : bbRegeneratePackageDoc [package-name]" << std::endl;
-               return 0;
+         I->InterpretLine( "include *");
+         bbtk::Factory::PackageMapType::const_iterator i;
+         for (i  = I->GetExecuter()->GetFactory()->GetPackageMap().begin();
+              i != I->GetExecuter()->GetFactory()->GetPackageMap().end();
+              ++i)
+           {
+             if (i->second->GetName()=="user") continue;
+             RegenerateDoc(i->second,doc_path);
+           }
        }
-
-       try
+    }
+  catch (bbtk::Exception e)
     {
-               std::string doc_path = bbtk::ConfigurationFile::GetInstance().Get_doc_path();
-               doc_path += bbtk::ConfigurationFile::GetInstance().Get_file_separator();
-               doc_path += "bbdoc";
-               doc_path += bbtk::ConfigurationFile::GetInstance().Get_file_separator();
-
-               bbtk::Interpreter::Pointer I = bbtk::Interpreter::New();
-               I->SetCommandLine(true);
-               I->SetThrow(false);
-               I->InterpretLine( "exec freeze");
-               I->InterpretLine( "include "+pack);
-               if (pack != "*") 
-               {
-                       I->InterpretLine( "include "+pack+"-appli");
-                       RegenerateDoc(I->GetExecuter()->GetFactory()->GetPackage(pack),doc_path);
-               }
-               else
-               {
-                       bbtk::Factory::PackageMapType::const_iterator i;
-                       for (i  = I->GetExecuter()->GetFactory()->GetPackageMap().begin();
-                               i != I->GetExecuter()->GetFactory()->GetPackageMap().end();
-                               ++i)
-                       {
-                               RegenerateDoc(i->second,doc_path);
-                       }
-               }
-       }
-       catch (bbtk::Exception e)
-       {
-               std::cout << "* ERROR : "<<e.GetErrorMessage()<<std::endl;
-               return 1;
-       }
-       return 0;
+      std::cout << "* ERROR : "<<e.GetErrorMessage()<<std::endl;
+      return 1;
+    }
+  return 0;
 }
 //==========================================================================