From 5f65e04ea2f348bd4584a14afa32a32725f77ce4 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 4 Feb 2009 14:34:12 -0500 Subject: [PATCH] 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. --- Source/CTest/cmCTestBuildHandler.cxx | 23 ++++++++++++++++------- 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 ab19b7b2e4..5b5c68ec83 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 ew, - double elapsed_build_time) +//---------------------------------------------------------------------------- +void cmCTestBuildHandler::GenerateXMLHeader(std::ostream& os) { this->CTest->StartXML(os, this->AppendXML); os << "\n" @@ -494,7 +492,12 @@ void cmCTestBuildHandler::GenerateDartBuildOutput( << this->CTest->MakeXMLSafe( this->CTest->GetCTestConfiguration("MakeCommand")) << "" << std::endl; +} +//---------------------------------------------------------------------------- +void cmCTestBuildHandler::GenerateXMLLogScraped(std::ostream& os) +{ + std::vector& ew = this->ErrorsAndWarnings; std::vector::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\n\t\n" << "\t" << this->EndBuild << "\n" << "\t" << static_cast(this->EndBuildTime) diff --git a/Source/CTest/cmCTestBuildHandler.h b/Source/CTest/cmCTestBuildHandler.h index cdc1b68a42..a9229773c8 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, - 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;