diff options
author | Aaron McCarthy <mccarthy.aaron@gmail.com> | 2023-07-21 22:45:06 +1000 |
---|---|---|
committer | Aaron McCarthy <mccarthy.aaron@gmail.com> | 2023-10-17 08:30:02 +0000 |
commit | 5977c26f2e464e073f5f182785aec4176c03eaa9 (patch) | |
tree | 83eea28d33b96c09eba096e5c284ded74017e724 /src/plugins/qbsprojectmanager | |
parent | df7619de8dda2cf827f1ebe584572723b4417692 (diff) |
QbsProjectManager: Provide classpath data to Java language server
Change-Id: Idf09ae566139a752184defe26fee082af8be31aa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/qbsprojectmanager')
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsnodes.cpp | 16 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h | 1 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbssession.cpp | 1 |
3 files changed, 18 insertions, 0 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsnodes.cpp b/src/plugins/qbsprojectmanager/qbsnodes.cpp index 460be9f7d8e..2d034108811 100644 --- a/src/plugins/qbsprojectmanager/qbsnodes.cpp +++ b/src/plugins/qbsprojectmanager/qbsnodes.cpp @@ -219,6 +219,22 @@ QVariant QbsProductNode::data(Id role) const qbsAbis << archToAbi[architecture]; return qbsAbis; } + + if (role == Android::Constants::AndroidPackageSourceDir) { + return m_productData.value("properties").toObject() + .value("sourceDirectory").toString(); + } + + if (role == Android::Constants::AndroidClassPaths) { + QStringList paths; + for (const auto &p : m_productData.value("module-properties").toObject() + .value(Constants::JAVA_ADDITIONAL_CLASSPATHS).toArray()) { + if (p.isString()) + paths << p.toString(); + } + return paths; + } + return {}; } diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h b/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h index 8b35e0f0880..7334cea7381 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h +++ b/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h @@ -68,6 +68,7 @@ const char CPP_PLATFORMLINKERFLAGS[] = "cpp.platformLinkerFlags"; const char CPP_VCVARSALLPATH[] = "cpp.vcvarsallPath"; const char XCODE_DEVELOPERPATH[] = "xcode.developerPath"; const char XCODE_SDK[] = "xcode.sdk"; +const char JAVA_ADDITIONAL_CLASSPATHS[] = "java.additionalClassPaths"; // Settings page const char QBS_SETTINGS_CATEGORY[] = "K.Qbs"; diff --git a/src/plugins/qbsprojectmanager/qbssession.cpp b/src/plugins/qbsprojectmanager/qbssession.cpp index 49d8b31b56f..999e83d2d79 100644 --- a/src/plugins/qbsprojectmanager/qbssession.cpp +++ b/src/plugins/qbsprojectmanager/qbssession.cpp @@ -372,6 +372,7 @@ void QbsSession::insertRequestedModuleProperties(QJsonObject &request) "cpp.useObjcPrecompiledHeader", "cpp.useObjcxxPrecompiledHeader", "cpp.warningLevel", + "java.additionalClassPaths", "qbs.architecture", "qbs.architectures", "qbs.sysroot", |