#include #include #include #include //========================================================================== 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::cout << "* Generating doc for '"<SetDocURL(pack_index); p->SetDocRelativeURL("index.html"); p->CreateHtmlPage(pack_index,"bbtk",pack_name,"","",0,0,true); } //========================================================================== int main(int argc, char **argv) { std::string pack("*"); if (argc==1) { /* // 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); */ } else if (argc==2) { pack = std::string(argv[1]); } else { std::cout << "usage : bbRegeneratePackageDoc [package-name]" << std::endl; 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"); 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 : "<