DebuggingHelpers: Put long argument list into one struct

This commit is contained in:
Kai Koehne
2011-04-29 13:35:19 +02:00
parent cc3aa73f5e
commit 001793fe79
11 changed files with 90 additions and 105 deletions

View File

@@ -223,58 +223,58 @@ static bool runBuildProcess(QProcess &proc,
}
bool BuildableHelperLibrary::buildHelper(const QString &helperName, const QString &proFilename,
const QString &directory, const QString &makeCommand,
const QString &qmakeCommand, const QString &mkspec,
const Utils::Environment &env, const QString &targetMode,
const QStringList &qmakeArguments, QString *output,
QString *errorMessage)
bool BuildableHelperLibrary::buildHelper(const BuildHelperArguments &arguments,
QString *log, QString *errorMessage)
{
const QChar newline = QLatin1Char('\n');
// Setup process
QProcess proc;
proc.setEnvironment(env.toStringList());
proc.setWorkingDirectory(directory);
proc.setEnvironment(arguments.environment.toStringList());
proc.setWorkingDirectory(arguments.directory);
proc.setProcessChannelMode(QProcess::MergedChannels);
output->append(QCoreApplication::translate("ProjectExplorer::BuildableHelperLibrary",
"Building helper '%1' in %2\n").arg(helperName, directory));
output->append(newline);
log->append(QCoreApplication::translate("ProjectExplorer::BuildableHelperLibrary",
"Building helper '%1' in %2\n").arg(arguments.helperName,
arguments.directory));
log->append(newline);
const QString makeFullPath = env.searchInPath(makeCommand);
if (QFileInfo(directory + QLatin1String("/Makefile")).exists()) {
const QString makeFullPath = arguments.environment.searchInPath(arguments.makeCommand);
if (QFileInfo(arguments.directory + QLatin1String("/Makefile")).exists()) {
if (makeFullPath.isEmpty()) {
*errorMessage = QCoreApplication::translate("ProjectExplorer::DebuggingHelperLibrary",
"%1 not found in PATH\n").arg(makeCommand);
"%1 not found in PATH\n").arg(arguments.makeCommand);
return false;
}
const QString cleanTarget = QLatin1String("distclean");
output->append(QCoreApplication::translate("ProjectExplorer::BuildableHelperLibrary",
log->append(QCoreApplication::translate("ProjectExplorer::BuildableHelperLibrary",
"Running %1 %2...\n").arg(makeFullPath, cleanTarget));
if (!runBuildProcess(proc, makeFullPath, QStringList(cleanTarget), 30000, true, output, errorMessage))
if (!runBuildProcess(proc, makeFullPath, QStringList(cleanTarget), 30000, true, log, errorMessage))
return false;
}
QStringList qmakeArgs;
if (!targetMode.isEmpty())
qmakeArgs << targetMode;
if (!mkspec.isEmpty())
qmakeArgs << QLatin1String("-spec") << mkspec;
qmakeArgs << proFilename;
qmakeArgs << qmakeArguments;
if (!arguments.targetMode.isEmpty())
qmakeArgs << arguments.targetMode;
if (!arguments.mkspec.isEmpty())
qmakeArgs << QLatin1String("-spec") << arguments.mkspec;
qmakeArgs << arguments.proFilename;
qmakeArgs << arguments.qmakeArguments;
output->append(newline);
output->append(QCoreApplication::translate("ProjectExplorer::BuildableHelperLibrary", "Running %1 %2 ...\n").arg(qmakeCommand,
qmakeArgs.join(" ")));
log->append(newline);
log->append(QCoreApplication::translate("ProjectExplorer::BuildableHelperLibrary",
"Running %1 %2 ...\n").arg(arguments.qmakeCommand,
arguments.qmakeArguments.join(" ")));
if (!runBuildProcess(proc, qmakeCommand, qmakeArgs, 30000, false, output, errorMessage))
if (!runBuildProcess(proc, arguments.qmakeCommand, arguments.qmakeArguments, 30000, false, log, errorMessage))
return false;
output->append(newline);
log->append(newline);
if (makeFullPath.isEmpty()) {
*errorMessage = QCoreApplication::translate("ProjectExplorer::BuildableHelperLibrary", "%1 not found in PATH\n").arg(makeCommand);
*errorMessage = QCoreApplication::translate("ProjectExplorer::BuildableHelperLibrary",
"%1 not found in PATH\n").arg(arguments.makeCommand);
return false;
}
output->append(QCoreApplication::translate("ProjectExplorer::BuildableHelperLibrary", "Running %1 ...\n").arg(makeFullPath));
if (!runBuildProcess(proc, makeFullPath, QStringList(), 120000, false, output, errorMessage))
log->append(QCoreApplication::translate("ProjectExplorer::BuildableHelperLibrary",
"Running %1 ...\n").arg(makeFullPath));
if (!runBuildProcess(proc, makeFullPath, QStringList(), 120000, false, log, errorMessage))
return false;
return true;
}