Changeset 8 for CMT/v1r19/source/cmt_project.cxx
- Timestamp:
- Mar 3, 2005, 5:23:09 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
CMT/v1r19/source/cmt_project.cxx
r3 r8 16 16 #include "cmt_syntax.h" 17 17 #include "cmt_tag.h" 18 #include "cmt_error.h" 18 19 19 20 class ProjectReader : public Awk … … 128 129 if (!CmtSystem::cd (compressed_path)) return; 129 130 131 cmt_string name; 132 cmt_string release; 133 CmtSystem::basename (compressed_path, release); 134 130 135 // 131 136 // Figure out if this is the current project … … 149 154 reader.run (text); 150 155 151 cmt_stringname = reader.get_project_name ();156 name = reader.get_project_name (); 152 157 if (name == "") 153 158 { 159 CmtSystem::dirname (compressed_path, name); 160 CmtSystem::basename (name, name); 161 162 /* 154 163 char buffer[20]; 155 164 m_id++; 156 165 sprintf (buffer, "Project%d", m_id); 157 166 name = buffer; 158 } 159 160 project = Project::add (name); 161 167 */ 168 } 162 169 } 163 170 else … … 167 174 { 168 175 strcpy (buffer, "CMT"); 176 name = buffer; 169 177 } 170 178 else 171 179 { 172 m_id++; 173 sprintf (buffer, "Project%d", m_id); 174 } 175 project = Project::add (buffer); 176 } 180 CmtSystem::dirname (compressed_path, name); 181 CmtSystem::basename (name, name); 182 //m_id++; 183 //sprintf (buffer, "Project%d", m_id); 184 } 185 } 186 187 project = Project::add (name, release); 177 188 178 189 if (source == "default path") … … 337 348 338 349 //---------------------------------------------------------- 339 Project* Project::add (const cmt_string& name) 350 Project* Project::add (const cmt_string& name, 351 const cmt_string& release) 340 352 { 341 353 static ProjectVector& Projects = projects (); … … 349 361 if (project != 0) 350 362 { 363 if (!Cmt::get_quiet ()) 364 { 365 if (release != project->get_release ()) 366 { 367 cerr << "#CMT> Project " << name << " requested with conflicting releases " << project->get_release () << " and " << release << endl; 368 CmtError::set (CmtError::project_release_conflict, name); 369 } 370 } 371 372 // Project objects are recreated here to follow the hierarchy 373 // This duplication is needed for properly applying the strategies 351 374 Project& p = Projects.add (); 352 375 353 376 project->set_reference (&p); 354 377 p.set_name (name); 378 p.set_release (release); 355 379 356 380 return (&p); 381 382 //return (project); 357 383 } 358 384 } … … 360 386 Project& project = Projects.add (); 361 387 project.set_name (name); 388 project.set_release (release); 362 389 363 390 return (&project); … … 613 640 614 641 //---------------------------------------------------------- 642 const cmt_string& Project::get_release () const 643 { 644 return (m_release); 645 } 646 647 //---------------------------------------------------------- 615 648 const cmt_string& Project::get_cmtpath () const 616 649 { … … 638 671 639 672 //---------------------------------------------------------- 673 void Project::set_release (const cmt_string& release) 674 { 675 m_release = release; 676 } 677 678 //---------------------------------------------------------- 640 679 void Project::set_cmtpath (const cmt_string& path) 641 680 { … … 671 710 { 672 711 m_name = ""; 712 m_release = ""; 673 713 m_cmtpath = ""; 674 714 m_cmtpath_pwd = ""; … … 814 854 // + the new project is then parsed ... etc... 815 855 816 // Question : do we consider by default pwd/../.. ???817 818 856 cmt_string cmtprojectpath = CmtSystem::getenv ("CMTPROJECTPATH"); 819 857 cmt_string sep; … … 884 922 } 885 923 886 cout << m_name << " (in " << m_cmtpath << ")";924 cout << m_name << " " << m_release << " (in " << m_cmtpath << ")"; 887 925 888 926 if (is_current) cout << " (current)";
Note: See TracChangeset
for help on using the changeset viewer.