forked from qt-creator/qt-creator
Task: Make sure file contains non-native separators
This commit is contained in:
@@ -33,6 +33,7 @@
|
|||||||
|
|
||||||
#include <coreplugin/coreconstants.h>
|
#include <coreplugin/coreconstants.h>
|
||||||
|
|
||||||
|
#include <QtCore/QDir>
|
||||||
#include <QtGui/QAction>
|
#include <QtGui/QAction>
|
||||||
#include <QtGui/QApplication>
|
#include <QtGui/QApplication>
|
||||||
#include <QtGui/QClipboard>
|
#include <QtGui/QClipboard>
|
||||||
@@ -48,16 +49,18 @@ void CopyTaskHandler::handle(const ProjectExplorer::Task &task)
|
|||||||
QString type;
|
QString type;
|
||||||
switch (task.type) {
|
switch (task.type) {
|
||||||
case Task::Error:
|
case Task::Error:
|
||||||
type = tr("error: ", "Task is of type error");
|
//: Task is of type: error
|
||||||
|
type = tr("error: ");
|
||||||
break;
|
break;
|
||||||
case Task::Warning:
|
case Task::Warning:
|
||||||
type = tr("warning: ", "Task is of type warning");
|
//: Task is of type: warning
|
||||||
|
type = tr("warning: ");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
QApplication::clipboard()->setText(task.file + ':' +
|
QApplication::clipboard()->setText(QDir::toNativeSeparators(task.file) + ':' +
|
||||||
QString::number(task.line) + ": "
|
QString::number(task.line) + ": "
|
||||||
+ type + task.description);
|
+ type + task.description);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,8 @@
|
|||||||
#include "taskwindow.h"
|
#include "taskwindow.h"
|
||||||
#include "projectexplorerconstants.h"
|
#include "projectexplorerconstants.h"
|
||||||
|
|
||||||
|
#include <QtCore/QDir>
|
||||||
|
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
@@ -100,7 +102,7 @@ void GccParser::stdError(const QString &line)
|
|||||||
int lineno = m_regExp.cap(3).toInt();
|
int lineno = m_regExp.cap(3).toInt();
|
||||||
Task task(Task::Unknown,
|
Task task(Task::Unknown,
|
||||||
m_regExp.cap(8) /* description */,
|
m_regExp.cap(8) /* description */,
|
||||||
filename, lineno,
|
QDir::fromNativeSeparators(filename), lineno,
|
||||||
Constants::TASK_CATEGORY_COMPILE);
|
Constants::TASK_CATEGORY_COMPILE);
|
||||||
if (m_regExp.cap(7) == QLatin1String("warning"))
|
if (m_regExp.cap(7) == QLatin1String("warning"))
|
||||||
task.type = Task::Warning;
|
task.type = Task::Warning;
|
||||||
@@ -118,7 +120,7 @@ void GccParser::stdError(const QString &line)
|
|||||||
} else if (m_regExpIncluded.indexIn(lne) > -1) {
|
} else if (m_regExpIncluded.indexIn(lne) > -1) {
|
||||||
emit addTask(Task(Task::Unknown,
|
emit addTask(Task(Task::Unknown,
|
||||||
lne /* description */,
|
lne /* description */,
|
||||||
m_regExpIncluded.cap(1) /* filename */,
|
QDir::fromNativeSeparators(m_regExpIncluded.cap(1)) /* filename */,
|
||||||
m_regExpIncluded.cap(3).toInt() /* linenumber */,
|
m_regExpIncluded.cap(3).toInt() /* linenumber */,
|
||||||
Constants::TASK_CATEGORY_COMPILE));
|
Constants::TASK_CATEGORY_COMPILE));
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ void GnuMakeParser::stdError(const QString &line)
|
|||||||
m_suppressIssues = true;
|
m_suppressIssues = true;
|
||||||
addTask(Task(Task::Error,
|
addTask(Task(Task::Error,
|
||||||
m_makefileError.cap(3),
|
m_makefileError.cap(3),
|
||||||
m_makefileError.cap(1),
|
QDir::fromNativeSeparators(m_makefileError.cap(1)),
|
||||||
m_makefileError.cap(2).toInt(),
|
m_makefileError.cap(2).toInt(),
|
||||||
Constants::TASK_CATEGORY_BUILDSYSTEM));
|
Constants::TASK_CATEGORY_BUILDSYSTEM));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
#include "projectexplorerconstants.h"
|
#include "projectexplorerconstants.h"
|
||||||
#include "taskwindow.h"
|
#include "taskwindow.h"
|
||||||
|
|
||||||
|
#include <QtCore/QDir>
|
||||||
|
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
@@ -98,7 +100,7 @@ void LdParser::stdError(const QString &line)
|
|||||||
&& !m_regExpLinker.cap(4).startsWith(QLatin1String("(.text+0x")))
|
&& !m_regExpLinker.cap(4).startsWith(QLatin1String("(.text+0x")))
|
||||||
filename = m_regExpLinker.cap(4);
|
filename = m_regExpLinker.cap(4);
|
||||||
QString description = m_regExpLinker.cap(8).trimmed();
|
QString description = m_regExpLinker.cap(8).trimmed();
|
||||||
Task task(Task::Error, description, filename, lineno,
|
Task task(Task::Error, description, QDir::fromNativeSeparators(filename), lineno,
|
||||||
Constants::TASK_CATEGORY_COMPILE);
|
Constants::TASK_CATEGORY_COMPILE);
|
||||||
if (m_regExpInFunction.indexIn(description) > -1 ||
|
if (m_regExpInFunction.indexIn(description) > -1 ||
|
||||||
description.startsWith(QLatin1String("At global scope")) ||
|
description.startsWith(QLatin1String("At global scope")) ||
|
||||||
|
|||||||
@@ -31,7 +31,8 @@
|
|||||||
#include "ldparser.h"
|
#include "ldparser.h"
|
||||||
#include "taskwindow.h"
|
#include "taskwindow.h"
|
||||||
#include "projectexplorerconstants.h"
|
#include "projectexplorerconstants.h"
|
||||||
#include <QtCore/QDebug>
|
|
||||||
|
#include <QtCore/QDir>
|
||||||
|
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
|
|
||||||
@@ -71,7 +72,8 @@ void LinuxIccParser::stdError(const QString &line)
|
|||||||
if (m_expectFirstLine && m_firstLine.indexIn(line) != -1) {
|
if (m_expectFirstLine && m_firstLine.indexIn(line) != -1) {
|
||||||
// Clear out old task
|
// Clear out old task
|
||||||
m_temporary = ProjectExplorer::Task(Task::Unknown, m_firstLine.cap(6).trimmed(),
|
m_temporary = ProjectExplorer::Task(Task::Unknown, m_firstLine.cap(6).trimmed(),
|
||||||
m_firstLine.cap(1), m_firstLine.cap(2).toInt(),
|
QDir::fromNativeSeparators(m_firstLine.cap(1)),
|
||||||
|
m_firstLine.cap(2).toInt(),
|
||||||
QLatin1String(Constants::TASK_CATEGORY_COMPILE));
|
QLatin1String(Constants::TASK_CATEGORY_COMPILE));
|
||||||
QString category = m_firstLine.cap(4);
|
QString category = m_firstLine.cap(4);
|
||||||
if (category == QLatin1String("error"))
|
if (category == QLatin1String("error"))
|
||||||
|
|||||||
@@ -32,6 +32,8 @@
|
|||||||
#include <projectexplorer/projectexplorerconstants.h>
|
#include <projectexplorer/projectexplorerconstants.h>
|
||||||
#include <projectexplorer/taskwindow.h>
|
#include <projectexplorer/taskwindow.h>
|
||||||
|
|
||||||
|
#include <QtCore/QDir>
|
||||||
|
|
||||||
using namespace Qt4ProjectManager;
|
using namespace Qt4ProjectManager;
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
using namespace ProjectExplorer::Constants;
|
using namespace ProjectExplorer::Constants;
|
||||||
@@ -73,7 +75,7 @@ void AbldParser::stdOutput(const QString &line)
|
|||||||
|
|
||||||
if (m_perlIssue.indexIn(lne) > -1) {
|
if (m_perlIssue.indexIn(lne) > -1) {
|
||||||
m_waitingForStdOutContinuation = true;
|
m_waitingForStdOutContinuation = true;
|
||||||
m_currentFile = m_perlIssue.cap(2);
|
m_currentFile = QDir::fromNativeSeparators(m_perlIssue.cap(2));
|
||||||
m_currentLine = m_perlIssue.cap(3).toInt();
|
m_currentLine = m_perlIssue.cap(3).toInt();
|
||||||
|
|
||||||
Task task(Task::Unknown,
|
Task task(Task::Unknown,
|
||||||
@@ -143,7 +145,7 @@ void AbldParser::stdError(const QString &line)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (lne.startsWith(QLatin1String("MMPFILE \""))) {
|
if (lne.startsWith(QLatin1String("MMPFILE \""))) {
|
||||||
m_currentFile = lne.mid(9, lne.size() - 10);
|
m_currentFile = QDir::fromNativeSeparators(lne.mid(9, lne.size() - 10));
|
||||||
m_waitingForStdErrContinuation = false;
|
m_waitingForStdErrContinuation = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
#include <projectexplorer/projectexplorerconstants.h>
|
#include <projectexplorer/projectexplorerconstants.h>
|
||||||
#include <projectexplorer/taskwindow.h>
|
#include <projectexplorer/taskwindow.h>
|
||||||
|
|
||||||
|
#include <QtCore/QDir>
|
||||||
|
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
using namespace ProjectExplorer::Constants;
|
using namespace ProjectExplorer::Constants;
|
||||||
using namespace Qt4ProjectManager;
|
using namespace Qt4ProjectManager;
|
||||||
@@ -80,7 +82,8 @@ void RvctParser::stdError(const QString &line)
|
|||||||
|
|
||||||
m_task = new Task(Task::Unknown,
|
m_task = new Task(Task::Unknown,
|
||||||
m_warningOrError.cap(5) /* description */,
|
m_warningOrError.cap(5) /* description */,
|
||||||
m_warningOrError.cap(1) /* file */, m_warningOrError.cap(2).toInt() /* line */,
|
QDir::fromNativeSeparators(m_warningOrError.cap(1)) /* file */,
|
||||||
|
m_warningOrError.cap(2).toInt() /* line */,
|
||||||
TASK_CATEGORY_COMPILE);
|
TASK_CATEGORY_COMPILE);
|
||||||
if (m_warningOrError.cap(4) == "Warning")
|
if (m_warningOrError.cap(4) == "Warning")
|
||||||
m_task->type = Task::Warning;
|
m_task->type = Task::Warning;
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ void SbsV2Parser::stdOutput(const QString &line)
|
|||||||
{
|
{
|
||||||
// Eat most output!
|
// Eat most output!
|
||||||
if (line.startsWith(QLatin1String("sbs: build log in "))) {
|
if (line.startsWith(QLatin1String("sbs: build log in "))) {
|
||||||
QString logfile = line.mid(18).trimmed();
|
QString logfile = QDir::fromNativeSeparators(line.mid(18).trimmed());
|
||||||
parseLogFile(logfile);
|
parseLogFile(logfile);
|
||||||
addTask(ProjectExplorer::Task(Task::Unknown, tr("SBSv2 build log"),
|
addTask(ProjectExplorer::Task(Task::Unknown, tr("SBSv2 build log"),
|
||||||
logfile, -1,
|
logfile, -1,
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
#include <projectexplorer/projectexplorerconstants.h>
|
#include <projectexplorer/projectexplorerconstants.h>
|
||||||
#include <projectexplorer/taskwindow.h>
|
#include <projectexplorer/taskwindow.h>
|
||||||
|
|
||||||
|
#include <QtCore/QDir>
|
||||||
|
|
||||||
using namespace Qt4ProjectManager;
|
using namespace Qt4ProjectManager;
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
using namespace ProjectExplorer::Constants;
|
using namespace ProjectExplorer::Constants;
|
||||||
@@ -54,7 +56,7 @@ void WinscwParser::stdOutput(const QString &line)
|
|||||||
if (m_compilerProblem.indexIn(lne) > -1) {
|
if (m_compilerProblem.indexIn(lne) > -1) {
|
||||||
Task task(Task::Error,
|
Task task(Task::Error,
|
||||||
m_compilerProblem.cap(3) /* description */,
|
m_compilerProblem.cap(3) /* description */,
|
||||||
m_compilerProblem.cap(1) /* filename */,
|
QDir::fromNativeSeparators(m_compilerProblem.cap(1)) /* filename */,
|
||||||
m_compilerProblem.cap(2).toInt() /* linenumber */,
|
m_compilerProblem.cap(2).toInt() /* linenumber */,
|
||||||
TASK_CATEGORY_COMPILE);
|
TASK_CATEGORY_COMPILE);
|
||||||
if (task.description.startsWith(QLatin1String("warning: "))) {
|
if (task.description.startsWith(QLatin1String("warning: "))) {
|
||||||
@@ -74,7 +76,7 @@ void WinscwParser::stdError(const QString &line)
|
|||||||
if (m_linkerProblem.indexIn(lne) > -1) {
|
if (m_linkerProblem.indexIn(lne) > -1) {
|
||||||
emit addTask(Task(Task::Error,
|
emit addTask(Task(Task::Error,
|
||||||
m_linkerProblem.cap(2) /* description */,
|
m_linkerProblem.cap(2) /* description */,
|
||||||
m_linkerProblem.cap(1) /* filename */,
|
QDir::fromNativeSeparators(m_linkerProblem.cap(1)) /* filename */,
|
||||||
-1 /* linenumber */,
|
-1 /* linenumber */,
|
||||||
TASK_CATEGORY_COMPILE));
|
TASK_CATEGORY_COMPILE));
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -41,6 +41,7 @@
|
|||||||
#include <projectexplorer/task.h>
|
#include <projectexplorer/task.h>
|
||||||
#include <projectexplorer/taskhub.h>
|
#include <projectexplorer/taskhub.h>
|
||||||
|
|
||||||
|
#include <QtCore/QDir>
|
||||||
#include <QtCore/QStringList>
|
#include <QtCore/QStringList>
|
||||||
#include <QtCore/QtPlugin>
|
#include <QtCore/QtPlugin>
|
||||||
|
|
||||||
@@ -105,6 +106,7 @@ public:
|
|||||||
description = chunks.at(3);
|
description = chunks.at(3);
|
||||||
}
|
}
|
||||||
if (!file.isEmpty()) {
|
if (!file.isEmpty()) {
|
||||||
|
file = QDir::fromNativeSeparators(file);
|
||||||
QFileInfo fi(file);
|
QFileInfo fi(file);
|
||||||
if (fi.isRelative() && context) {
|
if (fi.isRelative() && context) {
|
||||||
QString fullPath = context->projectDirectory() + '/' + file;
|
QString fullPath = context->projectDirectory() + '/' + file;
|
||||||
|
|||||||
Reference in New Issue
Block a user