Symbian: Correctly ignore certain deployment rules

Reviewed-By: Pawel Polanski
Task-Nr: QTCREATORBUG-4840
This commit is contained in:
dt_
2011-05-10 16:18:04 +02:00
parent 4e83d167ae
commit c450abfe3f
4 changed files with 21 additions and 22 deletions

View File

@@ -152,26 +152,9 @@ bool S60DeployConfiguration::isApplication(const Qt4ProFileNode &projectNode) co
return projectNode.projectType() == ApplicationTemplate; return projectNode.projectType() == ApplicationTemplate;
} }
bool S60DeployConfiguration::isDeployable(const Qt4ProFileNode &projectNode) const
{
const QStringList &deployment(projectNode.variableValue(Deployment));
// default_*deployment are default for DEPLOYMENT
const char * defaultDeploymentStart = "default_";
const char * defaultDeploymentEnd = "deployment";
//we need to filter out the default_*deployment
for (int i = deployment.count() - 1; i >= 0; --i) {
const QString var = deployment.at(i);
if (!var.startsWith(QLatin1String(defaultDeploymentStart))
|| !var.endsWith(QLatin1String(defaultDeploymentEnd)))
return true;
}
return false;
}
bool S60DeployConfiguration::hasSisPackage(const Qt4ProFileNode &projectNode) const bool S60DeployConfiguration::hasSisPackage(const Qt4ProFileNode &projectNode) const
{ {
return isDeployable(projectNode) || isApplication(projectNode); return projectNode.isDeployable();
} }
QStringList S60DeployConfiguration::signedPackages() const QStringList S60DeployConfiguration::signedPackages() const

View File

@@ -129,7 +129,6 @@ private:
QString symbianTarget() const; QString symbianTarget() const;
QString createPackageName(const QString &baseName) const; QString createPackageName(const QString &baseName) const;
bool isDebug() const; bool isDebug() const;
bool isDeployable(const Qt4ProFileNode &projectNode) const;
bool isStaticLibrary(const Qt4ProFileNode &projectNode) const; bool isStaticLibrary(const Qt4ProFileNode &projectNode) const;
bool isApplication(const Qt4ProFileNode &projectNode) const; bool isApplication(const Qt4ProFileNode &projectNode) const;
bool hasSisPackage(const Qt4ProFileNode &projectNode) const; bool hasSisPackage(const Qt4ProFileNode &projectNode) const;

View File

@@ -1321,6 +1321,11 @@ QStringList Qt4ProFileNode::symbianCapabilities() const
return result; return result;
} }
bool Qt4ProFileNode::isDeployable() const
{
return m_isDeployable;
}
/*! /*!
\class Qt4ProFileNode \class Qt4ProFileNode
Implements abstract ProjectNode class Implements abstract ProjectNode class
@@ -1753,7 +1758,18 @@ void Qt4ProFileNode::applyEvaluate(EvalResult evalResult, bool async)
QLatin1String("QML_IMPORT_PATH"), m_projectDir); QLatin1String("QML_IMPORT_PATH"), m_projectDir);
newVarValues[Makefile] = m_readerExact->values("MAKEFILE"); newVarValues[Makefile] = m_readerExact->values("MAKEFILE");
newVarValues[SymbianCapabilities] = m_readerExact->values("TARGET.CAPABILITY"); newVarValues[SymbianCapabilities] = m_readerExact->values("TARGET.CAPABILITY");
newVarValues[Deployment] = m_readerExact->values("DEPLOYMENT");
m_isDeployable = false;
if (m_projectType == ApplicationTemplate) {
m_isDeployable = true;
} else {
foreach (const QString &item, m_readerExact->values("DEPLOYMENT")) {
if (!m_readerExact->values(item + ".sources").isEmpty()) {
m_isDeployable = true;
break;
}
}
}
if (m_varValues != newVarValues) { if (m_varValues != newVarValues) {
Qt4VariablesHash oldValues = m_varValues; Qt4VariablesHash oldValues = m_varValues;

View File

@@ -104,8 +104,7 @@ enum Qt4Variable {
ConfigVar, ConfigVar,
QmlImportPathVar, QmlImportPathVar,
Makefile, Makefile,
SymbianCapabilities, SymbianCapabilities
Deployment
}; };
class Qt4PriFileNode; class Qt4PriFileNode;
@@ -305,6 +304,7 @@ public:
QString makefile() const; QString makefile() const;
QStringList symbianCapabilities() const; QStringList symbianCapabilities() const;
bool isDeployable() const;
void update(); void update();
void scheduleUpdate(); void scheduleUpdate();
@@ -348,6 +348,7 @@ private:
Qt4ProjectType m_projectType; Qt4ProjectType m_projectType;
Qt4VariablesHash m_varValues; Qt4VariablesHash m_varValues;
bool m_isDeployable;
QMap<QString, QDateTime> m_uitimestamps; QMap<QString, QDateTime> m_uitimestamps;
TargetInformation m_qt4targetInformation; TargetInformation m_qt4targetInformation;