//==========================================================================
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,false); //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;
}
//==========================================================================