#include <cmt_generators.h>
Inheritance diagram for ReadmeGenerator:
Public Member Functions | |
ReadmeGenerator () | |
void | build (const CmtSystem::cmt_string_vector &arguments) |
Private Member Functions | |
void | reset () |
Private Attributes | |
FragmentHandle | readme_header_fragment |
FragmentHandle | readme_fragment |
FragmentHandle | readme_doc_fragment |
FragmentHandle | readme_use_fragment |
FragmentHandle | readme_trailer_fragment |
|
Definition at line 1132 of file cmt_generators.cxx. References readme_doc_fragment, readme_fragment, readme_header_fragment, readme_trailer_fragment, readme_use_fragment, and FragmentHandle::set().
01133 { 01134 readme_header_fragment.set ("readme_header"); 01135 readme_fragment.set ("readme"); 01136 readme_doc_fragment.set ("readme_doc"); 01137 readme_use_fragment.set ("readme_use"); 01138 readme_trailer_fragment.set ("readme_trailer"); 01139 } |
|
Definition at line 1153 of file cmt_generators.cxx. References cmt_string::c_str(), CmtSystem::cmt_string_vector, FragmentHandle::copy(), Use::discarded, cmt_string::erase(), CmtSystem::file_separator(), cmt_string::find_last_of(), Cmt::get_current_package(), Cmt::get_current_version(), Use::get_ordered_uses(), Use::get_package(), Use::get_package_name(), Package::is_cmt(), mgr_style, CmtSystem::now(), readme_doc_fragment, readme_fragment, readme_header_fragment, readme_trailer_fragment, readme_use_fragment, Use::real_path, reset(), cmt_vector< T >::size(), Use::specified_path, Use::style, cmt_string::substr(), CmtGenerator::terminate(), Use::UsePtrVector, CmtSystem::user(), and Use::version. Referenced by Generator::build_readme().
01154 { 01155 reset (); 01156 01157 m_PACKAGE = Cmt::get_current_package (); 01158 m_VERSION = Cmt::get_current_version (); 01159 m_DATE = CmtSystem::now (); 01160 m_USER = CmtSystem::user (); 01161 01162 cmt_string url; 01163 cmt_string doc; 01164 01165 for (int i = 0; i < arguments.size (); i++) 01166 { 01167 cmt_string arg = arguments[i]; 01168 01169 if (arg.substr (0, 5) == "-url=") 01170 { 01171 arg.substr (5, url); 01172 } 01173 else if (arg.substr (0, 5) == "-doc=") 01174 { 01175 arg.substr (5, doc); 01176 } 01177 } 01178 01179 m_output_file_name = cmtdir + "README.html"; 01180 01181 m_output_file = fopen (m_output_file_name.c_str (), "wb"); 01182 if (m_output_file != NULL) 01183 { 01184 readme_header_fragment.copy (m_output_file, 2, 01185 &m_PACKAGE, &m_VERSION); 01186 01187 if (doc != "") 01188 { 01189 m_DOCPATH = doc; 01190 readme_doc_fragment.copy (m_output_file, 3, 01191 &m_PACKAGE, 01192 &m_VERSION, 01193 &m_DOCPATH); 01194 } 01195 01196 readme_fragment.copy (m_output_file, 2, 01197 &m_PACKAGE, 01198 &m_VERSION); 01199 01200 int number; 01201 const Use::UsePtrVector& uses = Use::get_ordered_uses (); 01202 01203 for (number = 0; number < uses.size (); number++) 01204 { 01205 const Use* use = uses[number]; 01206 01207 if (use == 0) continue; 01208 if (use->discarded) continue; 01209 01210 Package* p = use->get_package (); 01211 if (p->is_cmt ()) continue; 01212 01213 cmt_string selected_path; 01214 01215 if (url == "") 01216 { 01217 selected_path = use->real_path; 01218 01219 if (use->specified_path != "") 01220 { 01221 int pos = selected_path.find_last_of (use->specified_path); 01222 if (pos != cmt_string::npos) 01223 { 01224 selected_path.erase (pos); 01225 } 01226 } 01227 } 01228 else 01229 { 01230 selected_path = url; 01231 01232 if (use->specified_path != "") 01233 { 01234 selected_path += CmtSystem::file_separator (); 01235 } 01236 } 01237 01238 m_PACKAGEPATH = selected_path; 01239 m_PACKAGEPREFIX = use->specified_path; 01240 m_PACKAGE = use->get_package_name (); 01241 m_VERSION = use->version; 01242 m_MGRSTYLE = (use->style == mgr_style) ? "mgr" : "cmt"; 01243 readme_use_fragment.copy (m_output_file, 5, 01244 &m_PACKAGEPATH, 01245 &m_PACKAGEPREFIX, 01246 &m_PACKAGE, 01247 &m_VERSION, 01248 &m_MGRSTYLE); 01249 } 01250 01251 m_PACKAGE = Cmt::get_current_package (); 01252 m_VERSION = Cmt::get_current_version (); 01253 readme_trailer_fragment.copy (m_output_file, 4, 01254 &m_PACKAGE, 01255 &m_VERSION, 01256 &m_DATE, 01257 &m_USER); 01258 01259 terminate (); 01260 } 01261 } |
|
Reimplemented from CmtGenerator. Definition at line 1141 of file cmt_generators.cxx. References readme_doc_fragment, readme_fragment, readme_header_fragment, readme_trailer_fragment, readme_use_fragment, FragmentHandle::reset(), and CmtGenerator::reset(). Referenced by build().
01142 { 01143 CmtGenerator::reset (); 01144 01145 readme_header_fragment.reset (); 01146 readme_fragment.reset (); 01147 readme_doc_fragment.reset (); 01148 readme_use_fragment.reset (); 01149 readme_trailer_fragment.reset (); 01150 } |
|
Definition at line 99 of file cmt_generators.h. Referenced by build(), ReadmeGenerator(), and reset(). |
|
Definition at line 98 of file cmt_generators.h. Referenced by build(), ReadmeGenerator(), and reset(). |
|
Definition at line 97 of file cmt_generators.h. Referenced by build(), ReadmeGenerator(), and reset(). |
|
Definition at line 101 of file cmt_generators.h. Referenced by build(), ReadmeGenerator(), and reset(). |
|
Definition at line 100 of file cmt_generators.h. Referenced by build(), ReadmeGenerator(), and reset(). |