diff options
author | Brad King <brad.king@kitware.com> | 2009-02-04 19:34:12 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-02-04 19:34:12 (GMT) |
commit | 5f65e04ea2f348bd4584a14afa32a32725f77ce4 (patch) | |
tree | e3b8244d4dfa1f8c1e2a7e3821544d6f597a3c22 /Source/CTest | |
parent | c6d499aba5c8848a559a76ee67c84abb992b138b (diff) | |
download | CMake-5f65e04ea2f348bd4584a14afa32a32725f77ce4.zip CMake-5f65e04ea2f348bd4584a14afa32a32725f77ce4.tar.gz CMake-5f65e04ea2f348bd4584a14afa32a32725f77ce4.tar.bz2 |
ENH: Refactor Build.xml generation
This divides cmCTestBuildHandler::GenerateDartBuildOutput into three
methods to generate the header, content, and footer components of
Build.xml files. It will allow the content generation to be replaced
later.
Diffstat (limited to 'Source/CTest')
-rw-r--r-- | Source/CTest/cmCTestBuildHandler.cxx | 23 | ||||
-rw-r--r-- | Source/CTest/cmCTestBuildHandler.h | 7 |
2 files changed, 19 insertions, 11 deletions
diff --git a/Source/CTest/cmCTestBuildHandler.cxx b/Source/CTest/cmCTestBuildHandler.cxx index ab19b7b..5b5c68e 100644 --- a/Source/CTest/cmCTestBuildHandler.cxx +++ b/Source/CTest/cmCTestBuildHandler.cxx @@ -473,16 +473,14 @@ int cmCTestBuildHandler::ProcessHandler() << std::endl); return -1; } - this->GenerateDartBuildOutput( - xofs, this->ErrorsAndWarnings, elapsed_build_time); + this->GenerateXMLHeader(xofs); + this->GenerateXMLLogScraped(xofs); + this->GenerateXMLFooter(xofs, elapsed_build_time); return retVal; } -//---------------------------------------------------------------------- -void cmCTestBuildHandler::GenerateDartBuildOutput( - std::ostream& os, - std::vector<cmCTestBuildErrorWarning> ew, - double elapsed_build_time) +//---------------------------------------------------------------------------- +void cmCTestBuildHandler::GenerateXMLHeader(std::ostream& os) { this->CTest->StartXML(os, this->AppendXML); os << "<Build>\n" @@ -494,7 +492,12 @@ void cmCTestBuildHandler::GenerateDartBuildOutput( << this->CTest->MakeXMLSafe( this->CTest->GetCTestConfiguration("MakeCommand")) << "</BuildCommand>" << std::endl; +} +//---------------------------------------------------------------------------- +void cmCTestBuildHandler::GenerateXMLLogScraped(std::ostream& os) +{ + std::vector<cmCTestBuildErrorWarning>& ew = this->ErrorsAndWarnings; std::vector<cmCTestBuildErrorWarning>::iterator it; // only report the first 50 warnings and first 50 errors @@ -591,6 +594,12 @@ void cmCTestBuildHandler::GenerateDartBuildOutput( << std::endl; } } +} + +//---------------------------------------------------------------------------- +void cmCTestBuildHandler::GenerateXMLFooter(std::ostream& os, + double elapsed_build_time) +{ os << "\t<Log Encoding=\"base64\" Compression=\"/bin/gzip\">\n\t</Log>\n" << "\t<EndDateTime>" << this->EndBuild << "</EndDateTime>\n" << "\t<EndBuildTime>" << static_cast<unsigned int>(this->EndBuildTime) diff --git a/Source/CTest/cmCTestBuildHandler.h b/Source/CTest/cmCTestBuildHandler.h index cdc1b68..a922977 100644 --- a/Source/CTest/cmCTestBuildHandler.h +++ b/Source/CTest/cmCTestBuildHandler.h @@ -86,10 +86,9 @@ private: }; // generate the XML output - void GenerateDartBuildOutput(std::ostream& os, - std::vector<cmCTestBuildErrorWarning>, - double elapsed_time); - + void GenerateXMLHeader(std::ostream& os); + void GenerateXMLLogScraped(std::ostream& os); + void GenerateXMLFooter(std::ostream& os, double elapsed_build_time); std::string StartBuild; std::string EndBuild; |