MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / performCheck

Method performCheck

launcher/java/JavaChecker.cpp:52–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50}
51
52void JavaChecker::performCheck()
53{
54 QString checkerJar = JavaUtils::getJavaCheckPath();
55
56 if (checkerJar.isEmpty())
57 {
58 qDebug() << "Java checker library could not be found. Please check your installation.";
59 return;
60 }
61
62 QStringList args;
63
64 process.reset(new QProcess());
65 if(m_args.size())
66 {
67 auto extraArgs = Commandline::splitArgs(m_args);
68 args.append(extraArgs);
69 }
70 if(m_minMem != 0)
71 {
72 args << QString("-Xms%1m").arg(m_minMem);
73 }
74 if(m_maxMem != 0)
75 {
76 args << QString("-Xmx%1m").arg(m_maxMem);
77 }
78 if(m_permGen != 64)
79 {
80 args << QString("-XX:PermSize=%1m").arg(m_permGen);
81 }
82
83 args.append({"-jar", checkerJar});
84 process->setArguments(args);
85 process->setProgram(m_path);
86 process->setProcessChannelMode(QProcess::SeparateChannels);
87 process->setProcessEnvironment(CleanEnviroment());
88 qDebug() << "Running java checker: " + m_path + args.join(" ");;
89
90 connect(process.get(), SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(finished(int, QProcess::ExitStatus)));
91#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
92 connect(process.get(), SIGNAL(errorOccurred(QProcess::ProcessError)), this, SLOT(error(QProcess::ProcessError)));
93#else
94 connect(process.get(), SIGNAL(error(QProcess::ProcessError)), this, SLOT(error(QProcess::ProcessError)));
95#endif
96 connect(process.get(), SIGNAL(readyReadStandardOutput()), this, SLOT(stdoutReady()));
97 connect(process.get(), SIGNAL(readyReadStandardError()), this, SLOT(stderrReady()));
98 connect(&killTimer, SIGNAL(timeout()), SLOT(timeout()));
99 killTimer.setSingleShot(true);
100 killTimer.start(15000);
101 process->start();
102}
103
104void JavaChecker::stdoutReady()
105{

Callers 6

runMethod · 0.80
checkFinishedMethod · 0.80
executeTaskMethod · 0.80
addJavaCheckerActionMethod · 0.80
executeTaskMethod · 0.80
checkJavaPathMethod · 0.80

Calls 8

splitArgsFunction · 0.85
QStringClass · 0.85
isEmptyMethod · 0.80
appendMethod · 0.80
resetMethod · 0.45
sizeMethod · 0.45
getMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected