aboutsummaryrefslogtreecommitdiffstats
path: root/src/app/qbs
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2013-04-19 11:04:43 +0200
committerJoerg Bornemann <joerg.bornemann@digia.com>2013-05-23 15:32:46 +0200
commit64c9bf5e3696834c5b865205e92cb4da675c7c97 (patch)
tree8130cecae3d0c8a486d5aeb7192301d568513d90 /src/app/qbs
parent03f6ea7f86088399879aea6ee93d4e3a09674dcb (diff)
Use private implementation in API classes.
While we do not promise a stable ABI at the moment, this is conceptually correct and has to be done sooner or later, with increasing effort the longer we delay it. Change-Id: Icc98443974e54d377167480ace601db4981ed43c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/app/qbs')
-rw-r--r--src/app/qbs/commandlinefrontend.cpp30
-rw-r--r--src/app/qbs/parser/commandlineparser.cpp43
-rw-r--r--src/app/qbs/status.cpp8
3 files changed, 42 insertions, 39 deletions
diff --git a/src/app/qbs/commandlinefrontend.cpp b/src/app/qbs/commandlinefrontend.cpp
index 8ac89d0b2..d734b9120 100644
--- a/src/app/qbs/commandlinefrontend.cpp
+++ b/src/app/qbs/commandlinefrontend.cpp
@@ -99,15 +99,15 @@ void CommandLineFrontend::start()
const QString qbsRootPath = QDir::cleanPath(QCoreApplication::applicationDirPath()
+ QLatin1String("/../"));
SetupProjectParameters params;
- params.projectFilePath = m_parser.projectFilePath();
- params.buildRoot = QDir::currentPath();
- params.searchPaths = Preferences(m_settings).searchPaths(qbsRootPath);
- params.pluginPaths = Preferences(m_settings).pluginPaths(qbsRootPath);
- params.ignoreDifferentProjectFilePath = m_parser.force();
- params.dryRun = m_parser.dryRun();
- params.logElapsedTime = m_parser.logTime();
+ params.setProjectFilePath(m_parser.projectFilePath());
+ params.setBuildRoot(QDir::currentPath());
+ params.setSearchPaths(Preferences(m_settings).searchPaths(qbsRootPath));
+ params.setPluginPaths(Preferences(m_settings).pluginPaths(qbsRootPath));
+ params.setIgnoreDifferentProjectFilePath(m_parser.force());
+ params.setDryRun(m_parser.dryRun());
+ params.setLogElapsedTime(m_parser.logTime());
foreach (const QVariantMap &buildConfig, m_parser.buildConfigurations()) {
- params.buildConfiguration = buildConfig;
+ params.setBuildConfiguration(buildConfig);
SetupProjectJob * const job = Project::setupProject(params, m_settings,
ConsoleLogger::instance().logSink(), this);
connectJob(job);
@@ -236,15 +236,15 @@ void CommandLineFrontend::handleWarningReport(const qbs::Error &warning)
void CommandLineFrontend::handleProcessResultReport(const qbs::ProcessResult &result)
{
- bool hasOutput = !result.stdOut.isEmpty() || !result.stdErr.isEmpty();
- if (!hasOutput && result.success)
+ bool hasOutput = !result.stdOut().isEmpty() || !result.stdErr().isEmpty();
+ if (!hasOutput && result.success())
return;
- (result.success ? qbsInfo() : qbsError())
- << result.binary << " " << result.arguments.join(QLatin1String(" "))
+ (result.success() ? qbsInfo() : qbsError())
+ << result.executableFilePath() << " " << result.arguments().join(QLatin1String(" "))
<< (hasOutput ? QString::fromLatin1("\n") : QString())
- << (result.stdOut.isEmpty() ? QString() : result.stdOut.join(QLatin1String("\n")))
- << (result.stdErr.isEmpty() ? QString() : result.stdErr.join(QLatin1String("\n")));
+ << (result.stdOut().isEmpty() ? QString() : result.stdOut().join(QLatin1String("\n")))
+ << (result.stdErr().isEmpty() ? QString() : result.stdErr().join(QLatin1String("\n")));
}
bool CommandLineFrontend::resolvingMultipleProjects() const
@@ -395,7 +395,7 @@ int CommandLineFrontend::runTarget()
Q_ASSERT(products.count() == 1);
const ProductData productToRun = products.first();
const QString executableFilePath = project.targetExecutable(productToRun,
- m_parser.installOptions().installRoot);
+ m_parser.installOptions().installRoot());
if (executableFilePath.isEmpty()) {
throw Error(Tr::tr("Cannot run: Product '%1' is not an application.")
.arg(productToRun.name()));
diff --git a/src/app/qbs/parser/commandlineparser.cpp b/src/app/qbs/parser/commandlineparser.cpp
index 1b8a657c6..cea0c8587 100644
--- a/src/app/qbs/parser/commandlineparser.cpp
+++ b/src/app/qbs/parser/commandlineparser.cpp
@@ -138,11 +138,11 @@ CleanOptions CommandLineParser::cleanOptions() const
{
Q_ASSERT(command() == CleanCommandType);
CleanOptions options;
- options.cleanType = d->optionPool.allArtifactsOption()->enabled()
- ? CleanOptions::CleanupAll : CleanOptions::CleanupTemporaries;
- options.dryRun = buildOptions().dryRun;
- options.keepGoing = buildOptions().keepGoing;
- options.logElapsedTime = logTime();
+ options.setCleanType(d->optionPool.allArtifactsOption()->enabled()
+ ? CleanOptions::CleanupAll : CleanOptions::CleanupTemporaries);
+ options.setDryRun(buildOptions().dryRun());
+ options.setKeepGoing(buildOptions().keepGoing());
+ options.setLogElapsedTime(logTime());
return options;
}
@@ -150,16 +150,16 @@ InstallOptions CommandLineParser::installOptions() const
{
Q_ASSERT(command() == InstallCommandType || command() == RunCommandType);
InstallOptions options;
- options.removeFirst = d->optionPool.removeFirstoption()->enabled();
- options.installRoot = d->optionPool.installRootOption()->installRoot();
- if (!options.installRoot.isEmpty()) {
- QFileInfo fi(options.installRoot);
+ options.setRemoveExistingInstallation(d->optionPool.removeFirstoption()->enabled());
+ options.setInstallRoot(d->optionPool.installRootOption()->installRoot());
+ if (!options.installRoot().isEmpty()) {
+ QFileInfo fi(options.installRoot());
if (!fi.isAbsolute())
- options.installRoot = fi.absoluteFilePath();
+ options.setInstallRoot(fi.absoluteFilePath());
}
- options.dryRun = buildOptions().dryRun;
- options.keepGoing = buildOptions().keepGoing;
- options.logElapsedTime = logTime();
+ options.setDryRun(buildOptions().dryRun());
+ options.setKeepGoing(buildOptions().keepGoing());
+ options.setLogElapsedTime(logTime());
return options;
}
@@ -462,18 +462,19 @@ void CommandLineParser::CommandLineParserPrivate::setupProjectFile()
void CommandLineParser::CommandLineParserPrivate::setupBuildOptions()
{
- buildOptions.dryRun = dryRun();
- buildOptions.changedFiles = optionPool.changedFilesOption()->arguments();
+ buildOptions.setDryRun(dryRun());
+ QStringList changedFiles = optionPool.changedFilesOption()->arguments();
QDir currentDir;
- for (int i = 0; i < buildOptions.changedFiles.count(); ++i) {
- QString &file = buildOptions.changedFiles[i];
+ for (int i = 0; i < changedFiles.count(); ++i) {
+ QString &file = changedFiles[i];
file = QDir::fromNativeSeparators(currentDir.absoluteFilePath(file));
}
- buildOptions.keepGoing = optionPool.keepGoingOption()->enabled();
+ buildOptions.setChangedFiles(changedFiles);
+ buildOptions.setKeepGoing(optionPool.keepGoingOption()->enabled());
const JobsOption * jobsOption = optionPool.jobsOption();
- buildOptions.maxJobCount = jobsOption->jobCount() > 0
- ? jobsOption->jobCount() : Preferences(settings).jobs();
- buildOptions.logElapsedTime = logTime;
+ buildOptions.setMaxJobCount(jobsOption->jobCount() > 0
+ ? jobsOption->jobCount() : Preferences(settings).jobs());
+ buildOptions.setLogElapsedTime(logTime);
}
void CommandLineParser::CommandLineParserPrivate::setupProgress()
diff --git a/src/app/qbs/status.cpp b/src/app/qbs/status.cpp
index 2683d468a..c09190f5e 100644
--- a/src/app/qbs/status.cpp
+++ b/src/app/qbs/status.cpp
@@ -112,7 +112,7 @@ QStringList allFiles(const ProductData &product)
int printStatus(const ProjectData &project)
{
- const QString projectFilePath = project.location().fileName;
+ const QString projectFilePath = project.location().fileName();
QString projectDirectory = QFileInfo(projectFilePath).dir().path();
int projectDirectoryPathLength = projectDirectory.length();
@@ -120,10 +120,12 @@ int printStatus(const ProjectData &project)
QStringList missingFiles;
foreach (const ProductData &product, project.products()) {
qbsInfo() << "\nProduct: " << product.name()
- << " (" << product.location().fileName << ":" << product.location().line << ")";
+ << " (" << product.location().fileName() << ":"
+ << product.location().line() << ")";
foreach (const GroupData &group, product.groups()) {
qbsInfo() << " Group: " << group.name()
- << " (" << group.location().fileName << ":" << group.location().line << ")";
+ << " (" << group.location().fileName() << ":"
+ << group.location().line() << ")";
QStringList sourceFiles = group.allFilePaths();
qSort(sourceFiles);
foreach (const QString &sourceFile, sourceFiles) {