std::set<std::string>m_ListOutputChangedOK;// idem but dependencies did not change, so ok
std::set<std::string>m_ListOutputChangedOK;// idem but dependencies did not change, so ok
std::set<std::string>m_ListOutputRemoved;// changed_ng and removed end up being the same, it needs to be rebuilt ;)
std::set<std::string>m_ListOutputRemoved;// changed_ng and removed end up being the same, it needs to be rebuilt ;)
// TODO: Make maps of the dependent files and directories after the vectors no longer needed
std::set<std::string>m_ListDependentDirectories;
// Provide a function to check if a dependency is either in the dependent files or inside one of the directories to ensure the plugin is behaving sanely
std::set<std::string>m_ListDependentFiles;
// Slave should check this when it reads the depend log of a tool
// TODO: Provide a function: bool needsToBeRebuilt(inputpaths, outputfiles)
// It should check if anything was added, changed or removed in the input paths.
// It should check if the output files were changed or removed.
// NOT NECESSARY AT ALL --- It should check if the dependencies in the metadata of the output in case the dependencies are not given in the inputpaths.
// NOT NECESSARY --- TODO: Provide a function for removing output files, it will also erase the status file and create a remove metadata file.
// PROBABLY NOT NECESSARY -- Could check the .depend of all output files from the previous build if necessary instead of having output files and use those to flag additional removals.
// TODO: (use this one for known input to unknown output) Also, instead of the .output file, we can check outputfileremoved and outputfilechanged's depend to flag input files that have lost output files!!!
//m_SubTaskErrorMessage = std::string("Changed output files not implemented yet. Previous build was likely incomplete. Please wipe the output directory");
//return false; // Error, cannot rebuild.
}
}
m_SubTaskResult=FINISH_SUCCESS;
returnfalse;// Does not need rebuild.
}
/*void findInputFilesNeedingRebuild()
{
// A Function that lists all known changed input files & that checks----
// write the .output file instead for .max style files! (by choice when parsing the depends log)
// need to check in the needstoberebuilt or earlier if an output file exists for all input files and inside all input directories if there are any output files & check & cache those
}*/
/// Set the exit message, exit the plugin immediately afterwards.
/// Must verify this regularly to exit the plugin in case something went wrong.
boolneedsExit()
{
// TODO: Bypass error feature.
if(m_SubTaskResult!=FINISH_SUCCESS)
returntrue;
returnfalse;
}
// TODO: Make maps of the dependent files and directories after the vectors no longer needed
// Provide a function to check if a dependency is either in the dependent files or inside one of the directories to ensure the plugin is behaving sanely
// Slave should check this when it reads the depend log of a tool
// TODO: Provide a function: bool needsToBeRebuilt(inputpaths, outputfiles)
// It should check if anything was added, changed or removed in the input paths.
// It should check if the output files were changed or removed.
// NOT NECESSARY AT ALL --- It should check if the dependencies in the metadata of the output in case the dependencies are not given in the inputpaths.
// NOT NECESSARY --- TODO: Provide a function for removing output files, it will also erase the status file and create a remove metadata file.
// PROBABLY NOT NECESSARY -- Could check the .depend of all output files from the previous build if necessary instead of having output files and use those to flag additional removals.
// TODO: (use this one for known input to unknown output) Also, instead of the .output file, we can check outputfileremoved and outputfilechanged's depend to flag input files that have lost output files!!!
// TODO: If the state of an output file that is changed & ok or not changed is error, return error!