在文件 plantuml.cpp 第 134 行定义.
159 auto it = pumlIncludePathList.begin();
160 if (it!=pumlIncludePathList.end())
162 pumlArgs +=
"-Dplantuml.include.path=\"";
163 pumlArgs += it->c_str();
166 while (it!=pumlIncludePathList.end())
169 pumlArgs += it->c_str();
173 if (!pumlIncludePathList.empty()) pumlArgs +=
"\" ";
174 pumlArgs +=
"-Djava.awt.headless=true -jar \""+plantumlJarPath+
"plantuml.jar\" ";
175 if (!plantumlConfigFile.
isEmpty())
177 pumlArgs +=
"-config \"";
178 pumlArgs += plantumlConfigFile;
183 pumlArgs +=
"-graphvizdot \"";
203 for (
const auto &kv : plantumlContent)
209 msg(
"Generating PlantUML %s Files in %s\n",
qPrint(pumlType),kv.first.c_str());
210 pumlArguments+=
"-o \"";
212 pumlArguments+=
"\" ";
213 pumlArguments+=
"-charset UTF-8 -t";
214 pumlArguments+=pumlType;
220 pumlOutDir=puFileName;
221 puFileName+=
"inline_umlgraph_";
222 puFileName+=pumlType;
223 puFileName+=kv.first.c_str();
227 pumlArguments+=puFileName;
228 pumlArguments+=
"\" ";
238 std::ofstream file(puFileName.str(),std::ofstream::out | std::ofstream::binary);
247 if (cachedContent == nb.
content)
continue;
252 err_full(nb.
srcFile,nb.
srcLine,
"Problems running PlantUML. Verify that the command 'java -jar \"%splantuml.jar\" -h' works from the command line. Exit code: %d\n",
253 plantumlJarPath.
data(),exitCode);
260 auto files_kv = plantumlFiles.find(kv.first);
261 if (files_kv!=plantumlFiles.end())
263 for (
const auto &str : files_kv->second)
267 epstopdfArgs.sprintf(
"\"%s%s.eps\" --outfile=\"%s%s.pdf\"",
268 pumlOutDir.
data(),str.c_str(), pumlOutDir.
data(),str.c_str());
272 err_full(nb.
srcFile,nb.
srcLine,
"Problems running epstopdf. Check your TeX installation! Exit code: %d\n",exitCode);
引用了 Portable::commandExtension(), Config_getBool, Config_getList, Config_getString, PlantumlContent::content, QCString::data(), err_full(), FileInfo::exists(), fileToString(), QCString::isEmpty(), QCString::length(), maxCmdLine, msg(), PlantumlContent::outDir, Portable::pathListSeparator(), Debug::Plantuml, Debug::print(), PlantumlManager::PUML_BITMAP, PlantumlManager::PUML_EPS, PlantumlManager::PUML_SVG, qPrint(), QCString::sprintf(), PlantumlContent::srcFile, PlantumlContent::srcLine, QCString::str(), Portable::system(), Portable::sysTimerStart(), Portable::sysTimerStop() , 以及 TRUE.
被这些函数引用 PlantumlManager::run().