17 PString scriptContent;
18 scriptContent +=
"#!/bin/bash\n\n";
19 scriptContent +=
"echo \"Regenerating classes from pdata configuration files...\"\n\n";
20 for(
const PPath & classConfigFile : vecClassConfigFile){
21 PString fileName = classConfigFile.getFileName();
22 PString className = classConfigFile.getFileName().eraseExtension();
23 PPath pdataFileInProject = scriptDir / classConfigFile.getFileName();
24 scriptContent +=
"echo \"Generating class " + className +
" from " + pdataFileInProject +
"\"\n";
26 scriptContent +=
"phoenix_filegenerator class -c " + fileName +
" -o ../src -u -d ../";
28 scriptContent +=
" --wrapper";
30 scriptContent +=
"\n\n";
32 scriptContent +=
"echo \"Class regeneration completed.\"\n";
34 PPath scriptPath = scriptDir / PPath(
"generate_class.sh");
35 scriptPath.saveFileContent(scriptContent);
37 if(!phoenix_popen(PPath(
"project_path_test.log"), PString(
"chmod +x " + scriptPath),
true)){
38 std::cerr <<
"generateClassGeneratorScript : cannot make script executable '"<<scriptPath<<
"'" << std::endl;
bool generateClassGeneratorScript(const PVecPath &vecClassConfigFile, const PPath &scriptDir, const GeneratorMode &mode)
Generate a bash script to re generate all the classes from their pdata configuration files.