diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2013-04-19 11:04:43 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-05-23 15:32:46 +0200 |
commit | 64c9bf5e3696834c5b865205e92cb4da675c7c97 (patch) | |
tree | 8130cecae3d0c8a486d5aeb7192301d568513d90 /src/app/qbs | |
parent | 03f6ea7f86088399879aea6ee93d4e3a09674dcb (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.cpp | 30 | ||||
-rw-r--r-- | src/app/qbs/parser/commandlineparser.cpp | 43 | ||||
-rw-r--r-- | src/app/qbs/status.cpp | 8 |
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) { |