diff --git a/CMakeLists.txt b/CMakeLists.txt index 6fcc3e24dd..76e842cb90 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,177 +1,168 @@ cmake_minimum_required(VERSION 3.0) project(KDevelop) # KDevelop version set(KDEVELOP_VERSION_MAJOR 5) set(KDEVELOP_VERSION_MINOR 1) set(KDEVELOP_VERSION_PATCH 40) set( KDEVELOP_VERSION "${KDEVELOP_VERSION_MAJOR}.${KDEVELOP_VERSION_MINOR}.${KDEVELOP_VERSION_PATCH}" ) # plugin versions listed in the .desktop files set(KDEV_PLUGIN_VERSION 30) # we need some parts of the ECM CMake helpers find_package (ECM 5.14.0 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${KDevelop_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH}) include(KDECompilerSettings NO_POLICY_SCOPE) # needs to be first, as set policies influence following macros include(ECMOptionalAddSubdirectory) include(ECMInstallIcons) include(ECMAddAppIcon) include(ECMSetupVersion) include(ECMAddTests) include(ECMMarkNonGuiExecutable) include(ECMGenerateHeaders) include(ECMQtDeclareLoggingCategory) include(GenerateExportHeader) include(CMakePackageConfigHelpers) include(FeatureSummary) include(WriteBasicConfigVersionFile) include(CheckFunctionExists) include(KDEInstallDirs) include(KDECMakeSettings) set(QT_MIN_VERSION "5.5.0") find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Widgets Concurrent Quick QuickWidgets) if(BUILD_TESTING) find_package(Qt5Test ${QT_MIN_VERSION} CONFIG REQUIRED) endif() set(KF5_DEP_VERSION "5.15.0") # we need KCrash::initialize find_package(KF5 ${KF5_DEP_VERSION} REQUIRED COMPONENTS Config Declarative DocTools IconThemes I18n ItemModels ItemViews JobWidgets KCMUtils KIO NewStuff NotifyConfig Parts Service TextEditor ThreadWeaver XmlGui WindowSystem Crash GuiAddons Archive Notifications ) find_package(KF5SysGuard CONFIG) set_package_properties(KF5SysGuard PROPERTIES PURPOSE "Framework for process listing. Required for the 'Attach to Process' feature" TYPE RECOMMENDED ) find_package(KDevelop-PG-Qt 1.90.90 CONFIG) set_package_properties(KDevelop-PG-Qt PROPERTIES PURPOSE "KDevelop parser generator library. Required for the QMake Builder/Manager plugin." TYPE RECOMMENDED ) find_package(SharedMimeInfo REQUIRED) add_definitions( -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050500 -DQT_NO_SIGNALS_SLOTS_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING -DQT_STRICT_ITERATORS -DQT_USE_QSTRINGBUILDER ) function(add_compile_flag_if_supported _flag) unset(_have_flag CACHE) string(REGEX REPLACE "[-=]" "_" _varname ${_flag}) string(TOUPPER ${_varname} _varname) set(_varname "HAVE${_varname}") check_cxx_compiler_flag("${_flag}" "${_varname}") if (${${_varname}}) add_compile_options(${_flag}) endif() endfunction() # Turn off missing-field-initializers warning for GCC to avoid noise from false positives with empty {} # See discussion: http://mail.kde.org/pipermail/kdevelop-devel/2014-February/046910.html add_compile_flag_if_supported(-Wno-missing-field-initializers) add_compile_flag_if_supported(-Werror=undefined-bool-conversion) add_compile_flag_if_supported(-Werror=tautological-undefined-compare) if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_flag_if_supported(-Wdocumentation) # This warning is triggered by every call to qCDebug() add_compile_flag_if_supported(-Wno-gnu-zero-variadic-macro-arguments) endif() if (CMAKE_COMPILER_CXX_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_flag_if_supported(-pedantic) endif() include_directories(${KDevelop_SOURCE_DIR} ${KDevelop_BINARY_DIR}) string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_TOLOWER) if(CMAKE_BUILD_TYPE_TOLOWER MATCHES "debug" OR CMAKE_BUILD_TYPE_TOLOWER STREQUAL "") set(COMPILER_OPTIMIZATIONS_DISABLED TRUE) else() set(COMPILER_OPTIMIZATIONS_DISABLED FALSE) endif() # create config-kdevelop.h configure_file(config-kdevelop.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kdevelop.h) add_subdirectory(kdevplatform) +add_subdirectory(plugins) + add_subdirectory(pics) add_subdirectory(app) -add_subdirectory(analyzers) -add_subdirectory(formatters) -add_subdirectory(languages) -add_subdirectory(projectbuilders) -add_subdirectory(projectmanagers) -add_subdirectory(debuggers) add_subdirectory(app_templates) -add_subdirectory(documentation) -add_subdirectory(kdeintegration) -add_subdirectory(utils) add_subdirectory(file_templates) -add_subdirectory(providers) -add_subdirectory(runtimes) add_subdirectory(shortcuts) add_subdirectory(doc) set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KDevelop") configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KDevelopConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/KDevelopConfig.cmake" INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} ) ecm_setup_version(${KDEVELOP_VERSION_MAJOR}.${KDEVELOP_VERSION_MINOR}.${KDEVELOP_VERSION_PATCH} VARIABLE_PREFIX KDEVELOP VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kdevelop_version.h" PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KDevelopConfigVersion.cmake" SOVERSION ${KDEVELOP_LIB_SOVERSION} ) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/kdevelop_version.h" DESTINATION "${KDE_INSTALL_INCLUDEDIR}/kdevelop") install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KDevelopConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/KDevelopConfigVersion.cmake" DESTINATION "${CMAKECONFIG_INSTALL_DIR}" ) install(EXPORT KDevelopTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" NAMESPACE KDev:: FILE KDevelopTargets.cmake) # kdebugsettings file install(FILES kdevelop.categories DESTINATION ${KDE_INSTALL_CONFDIR}) # CTestCustom.cmake has to be in the CTEST_BINARY_DIR. # in the KDE build system, this is the same as CMAKE_BINARY_DIR. configure_file(${CMAKE_SOURCE_DIR}/CTestCustom.cmake ${CMAKE_BINARY_DIR}/CTestCustom.cmake) install(FILES org.kde.kdevelop.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) # Make it possible to use the po files fetched by the fetch-translations step ki18n_install("${CMAKE_CURRENT_BINARY_DIR}/po") feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/analyzers/CMakeLists.txt b/analyzers/CMakeLists.txt deleted file mode 100644 index e2ecc53151..0000000000 --- a/analyzers/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ -add_subdirectory(cppcheck) -add_subdirectory(heaptrack) diff --git a/app_templates/cpp/CMake/cmake_qt5guiapp/src/%{APPNAMELC}.ui b/app_templates/cpp/CMake/cmake_qt5guiapp/src/%{APPNAMELC}.ui index 069982a1b2..9016e2e08c 100644 --- a/app_templates/cpp/CMake/cmake_qt5guiapp/src/%{APPNAMELC}.ui +++ b/app_templates/cpp/CMake/cmake_qt5guiapp/src/%{APPNAMELC}.ui @@ -1,24 +1,30 @@ + %{APPNAME} - - + + 0 0 400 300 - + %{APPNAME} - - - - + + + + + TopToolBarArea + + + false + + + - - diff --git a/app_templates/cpp/QMake/qmake_qt5guiapp/mainwindow.ui b/app_templates/cpp/QMake/qmake_qt5guiapp/mainwindow.ui index b068b73b28..59e0bcac66 100644 --- a/app_templates/cpp/QMake/qmake_qt5guiapp/mainwindow.ui +++ b/app_templates/cpp/QMake/qmake_qt5guiapp/mainwindow.ui @@ -1,19 +1,20 @@ - + + MainWindow - - + + 0 0 800 600 - + %{APPNAME} - + diff --git a/kdevplatform/cmake/modules/FindSubversionLibrary.cmake b/cmake/modules/FindSubversionLibrary.cmake similarity index 100% rename from kdevplatform/cmake/modules/FindSubversionLibrary.cmake rename to cmake/modules/FindSubversionLibrary.cmake diff --git a/debuggers/CMakeLists.txt b/debuggers/CMakeLists.txt deleted file mode 100644 index bb6f2b7a8d..0000000000 --- a/debuggers/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -include_directories(common) - -include_directories(${CMAKE_CURRENT_BINARY_DIR}) # for config files in common - -if(NOT WIN32) - # TODO: Make compile under Windows - add_subdirectory(common) - add_subdirectory(lldb) - add_subdirectory(gdb) -endif() diff --git a/kdeintegration/CMakeLists.txt b/kdeintegration/CMakeLists.txt deleted file mode 100644 index 68d9999f60..0000000000 --- a/kdeintegration/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -ecm_optional_add_subdirectory(executeplasmoid) diff --git a/kdevplatform/CMakeLists.txt b/kdevplatform/CMakeLists.txt index 7cdfceab47..12724fab97 100644 --- a/kdevplatform/CMakeLists.txt +++ b/kdevplatform/CMakeLists.txt @@ -1,95 +1,94 @@ # kdevplatform version set(KDEVPLATFORM_VERSION_MAJOR 5) set(KDEVPLATFORM_VERSION_MINOR 1) set(KDEVPLATFORM_VERSION_PATCH 40) set(KDEVPLATFORM_VERSION "${KDEVPLATFORM_VERSION_MAJOR}.${KDEVPLATFORM_VERSION_MINOR}.${KDEVPLATFORM_VERSION_PATCH}") # Increase this to reset incompatible item-repositories set(KDEV_ITEMREPOSITORY_VERSION 87) # library version / SO version set(KDEVPLATFORM_LIB_SOVERSION 10) set(KDevPlatform_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) set(KDevPlatform_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) set(CMAKE_MODULE_PATH ${KDevPlatform_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH}) include(KDevPlatformMacros) include(KDevPlatformMacrosInternal) find_package(Grantlee5 CONFIG) set_package_properties(Grantlee5 PROPERTIES PURPOSE "Grantlee templating library, needed for file templates" URL "http://www.grantlee.org/" TYPE REQUIRED) set(Boost_ADDITIONAL_VERSIONS 1.39.0 1.39) find_package(Boost 1.35.0) set_package_properties(Boost PROPERTIES PURPOSE "Boost libraries for enabling the classbrowser" URL "http://www.boost.org" TYPE REQUIRED) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config-kdevplatform.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kdevplatform.h ) include_directories(${KDevPlatform_SOURCE_DIR} ${KDevPlatform_BINARY_DIR}) string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_TOLOWER) if(CMAKE_BUILD_TYPE_TOLOWER MATCHES "debug" OR CMAKE_BUILD_TYPE_TOLOWER STREQUAL "") set(COMPILER_OPTIMIZATIONS_DISABLED TRUE) else() set(COMPILER_OPTIMIZATIONS_DISABLED FALSE) endif() add_subdirectory(sublime) add_subdirectory(interfaces) add_subdirectory(project) add_subdirectory(language) add_subdirectory(shell) add_subdirectory(util) add_subdirectory(outputview) add_subdirectory(vcs) add_subdirectory(pics) add_subdirectory(debugger) add_subdirectory(documentation) add_subdirectory(serialization) add_subdirectory(template) if(BUILD_TESTING) add_subdirectory(tests) endif() -add_subdirectory(plugins) set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KDevPlatform") if(BUILD_TESTING) set(KDEV_FIND_DEP_QT5TEST "find_dependency(Qt5Test \"${QT_MIN_VERSION}\")") endif() configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KDevPlatformConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/KDevPlatformConfig.cmake" INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} ) ecm_setup_version(${KDEVPLATFORM_VERSION_MAJOR}.${KDEVPLATFORM_VERSION_MINOR}.${KDEVPLATFORM_VERSION_PATCH} VARIABLE_PREFIX KDEVPLATFORM VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kdevplatform_version.h" PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KDevPlatformConfigVersion.cmake" SOVERSION ${KDEVPLATFORM_LIB_SOVERSION}) install( FILES "${KDevPlatform_BINARY_DIR}/kdevplatform_version.h" "${KDevPlatform_BINARY_DIR}/config-kdevplatform.h" DESTINATION "${KDE_INSTALL_INCLUDEDIR}/kdevplatform" ) install( FILES "${KDevPlatform_BINARY_DIR}/KDevPlatformConfig.cmake" "${KDevPlatform_BINARY_DIR}/KDevPlatformConfigVersion.cmake" cmake/modules/KDevPlatformMacros.cmake DESTINATION "${CMAKECONFIG_INSTALL_DIR}" ) install( EXPORT KDevPlatformTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" NAMESPACE KDev:: FILE KDevPlatformTargets.cmake ) # kdebugsettings file install( FILES kdevplatform.categories DESTINATION ${KDE_INSTALL_CONFDIR} ) diff --git a/kdevplatform/plugins/CMakeLists.txt b/kdevplatform/plugins/CMakeLists.txt deleted file mode 100644 index 3ff1506963..0000000000 --- a/kdevplatform/plugins/CMakeLists.txt +++ /dev/null @@ -1,48 +0,0 @@ -ecm_optional_add_subdirectory(konsole) -add_subdirectory(filemanager) -add_subdirectory(appwizard) -add_subdirectory(projectmanagerview) -add_subdirectory(genericprojectmanager) -add_subdirectory(standardoutputview) -add_subdirectory(documentview) -add_subdirectory(quickopen) -add_subdirectory(executescript) -add_subdirectory(contextbrowser) -ecm_optional_add_subdirectory(cvs) -add_subdirectory(problemreporter) -add_subdirectory(execute) -add_subdirectory(externalscript) -add_subdirectory(documentswitcher) -add_subdirectory(sourceformatter) -add_subdirectory(patchreview) -add_subdirectory(openwith) -add_subdirectory(grepview) -ecm_optional_add_subdirectory(git) -ecm_optional_add_subdirectory(bazaar) -ecm_optional_add_subdirectory(perforce) -add_subdirectory(vcschangesview) -if (UNIX) - add_subdirectory(flatpak) - add_subdirectory(docker) -endif () -add_subdirectory(filetemplates) -add_subdirectory(codeutils) -add_subdirectory(testview) -add_subdirectory(switchtobuddy) -add_subdirectory(projectfilter) -if (Qt5QuickWidgets_FOUND) - add_subdirectory(welcomepage) -endif() -add_subdirectory(outlineview) - -ecm_optional_add_subdirectory(classbrowser) - -find_package(SubversionLibrary) -set_package_properties(SubversionLibrary PROPERTIES - PURPOSE "Support for Subversion integration" - URL "http://subversion.tigris.org" - TYPE OPTIONAL) - -if(SubversionLibrary_FOUND) - ecm_optional_add_subdirectory(subversion) -endif() diff --git a/languages/.krazy b/languages/.krazy deleted file mode 100644 index dae47df223..0000000000 --- a/languages/.krazy +++ /dev/null @@ -1 +0,0 @@ -SKIP /cpp/app_templates/ diff --git a/languages/CMakeLists.txt b/languages/CMakeLists.txt deleted file mode 100644 index 72327d2b2e..0000000000 --- a/languages/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -ecm_optional_add_subdirectory(plugins) -ecm_optional_add_subdirectory(qmljs) - -find_package(Clang 3.8) -set(clangSearchHint "") -if (NOT CLANG_FOUND) - set(clangSearchHint "Please install a package providing libclang. Either pass -DLLVM_ROOT=/path/to/llvm-prefix or install the 'llvm-config' command-line utility for auto-detection.") -endif() -set_package_properties(Clang PROPERTIES - DESCRIPTION "Clang libraries from the LLVM project. ${clangSearchHint}" - PURPOSE "Used for KDevelop's C++/C support plugin." - TYPE REQUIRED -) - -if (CLANG_FOUND) - if (NOT CLANG_LIBCLANG_LIB) - message(FATAL_ERROR "Could not find the Clang C library: libclang") - endif() - - ecm_optional_add_subdirectory(clang) -endif() diff --git a/languages/plugins/CMakeLists.txt b/languages/plugins/CMakeLists.txt deleted file mode 100644 index b8ede3f5df..0000000000 --- a/languages/plugins/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -ecm_optional_add_subdirectory(custom-definesandincludes) diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt new file mode 100644 index 0000000000..bac6ae7bae --- /dev/null +++ b/plugins/CMakeLists.txt @@ -0,0 +1,150 @@ +# BEGIN: Analyzers +add_subdirectory(cppcheck) +add_subdirectory(heaptrack) +# END: Analyzers + +# BEGIN: Debuggers +if(NOT WIN32) + # TODO: Make compile under Windows + add_subdirectory(debuggercommon) + add_subdirectory(lldb) + add_subdirectory(gdb) +endif() +# END: Debuggers + +# BEGIN: Documentation +find_package(Qt5Help CONFIG) +set_package_properties(Qt5Help PROPERTIES + PURPOSE "The Help module for the Qt toolkit, needed for the qthelp plugin" + URL "https://www.qt.io/" + TYPE OPTIONAL) +if(Qt5Help_FOUND) + ecm_optional_add_subdirectory(qthelp) +endif() +ecm_optional_add_subdirectory(manpage) +# END: Documentation + +# BEGIN: Formatters +add_subdirectory(astyle) +add_subdirectory(customscript) +# END: Formatters + +# BEGIN: Languages +ecm_optional_add_subdirectory(custom-definesandincludes) +ecm_optional_add_subdirectory(qmljs) + +find_package(Clang 3.8) +set(clangSearchHint "") +if (NOT CLANG_FOUND) + set(clangSearchHint "Please install a package providing libclang. Either pass -DLLVM_ROOT=/path/to/llvm-prefix or install the 'llvm-config' command-line utility for auto-detection.") +endif() +set_package_properties(Clang PROPERTIES + DESCRIPTION "Clang libraries from the LLVM project. ${clangSearchHint}" + PURPOSE "Used for KDevelop's C++/C support plugin." + TYPE REQUIRED +) + +if (CLANG_FOUND) + if (NOT CLANG_LIBCLANG_LIB) + message(FATAL_ERROR "Could not find the Clang C library: libclang") + endif() + + ecm_optional_add_subdirectory(clang) +endif() +# END: Languages + +# BEGIN: Project builders +add_subdirectory(makebuilder) +add_subdirectory(ninjabuilder) +ecm_optional_add_subdirectory(cmakebuilder) +if (KDevelop-PG-Qt_FOUND) + ecm_optional_add_subdirectory(qmakebuilder) +endif() +# END: Project builders + +# BEGIN: Project managers +ecm_optional_add_subdirectory(cmake) +ecm_optional_add_subdirectory(custommake) +ecm_optional_add_subdirectory(custom-buildsystem) +if (KDevelop-PG-Qt_FOUND) + ecm_optional_add_subdirectory(qmakemanager) +endif() +ecm_optional_add_subdirectory(genericprojectmanager) +# END: Project managers + +# BEGIN: Runtimes +add_subdirectory(android) +if (UNIX) + add_subdirectory(docker) + add_subdirectory(flatpak) +endif() +# END: Runtimes + +# BEGIN: VCS +ecm_optional_add_subdirectory(bazaar) +ecm_optional_add_subdirectory(cvs) +ecm_optional_add_subdirectory(git) +ecm_optional_add_subdirectory(perforce) + +find_package(SubversionLibrary) +set_package_properties(SubversionLibrary PROPERTIES + PURPOSE "Support for Subversion integration" + URL "http://subversion.tigris.org" + TYPE OPTIONAL) + +if(SubversionLibrary_FOUND) + ecm_optional_add_subdirectory(subversion) +endif() + +add_subdirectory(vcschangesview) +# END: VCS + +# BEGIN: Others +add_subdirectory(appwizard) +add_subdirectory(codeutils) +add_subdirectory(contextbrowser) +add_subdirectory(documentswitcher) +add_subdirectory(documentview) +add_subdirectory(execute) +add_subdirectory(executescript) +add_subdirectory(externalscript) +add_subdirectory(filemanager) +add_subdirectory(filetemplates) +add_subdirectory(grepview) +add_subdirectory(openwith) +add_subdirectory(outlineview) +add_subdirectory(patchreview) +add_subdirectory(problemreporter) +add_subdirectory(projectfilter) +add_subdirectory(projectmanagerview) +add_subdirectory(quickopen) +add_subdirectory(sourceformatter) +add_subdirectory(standardoutputview) +add_subdirectory(switchtobuddy) +add_subdirectory(testview) +ecm_optional_add_subdirectory(classbrowser) +ecm_optional_add_subdirectory(executeplasmoid) +ecm_optional_add_subdirectory(ghprovider) +ecm_optional_add_subdirectory(kdeprovider) +ecm_optional_add_subdirectory(konsole) +if (Qt5QuickWidgets_FOUND) + add_subdirectory(welcomepage) +endif() + +find_package(OktetaKastenControllers 0.3.1) +set_package_properties(OktetaKastenControllers PROPERTIES + PURPOSE "Required for building Okteta KDevelop plugin." + URL "http://kde.org/" + TYPE OPTIONAL) +if (OktetaKastenControllers_FOUND) + find_package( KastenControllers ) + + set_package_properties(KastenControllers PROPERTIES + PURPOSE "Required for building Okteta KDevelop plugin." + URL "http://kde.org/" + TYPE OPTIONAL) +endif() +if (OktetaKastenControllers_FOUND AND KastenControllers_FOUND) + add_subdirectory(okteta) +endif() +# END: Others diff --git a/runtimes/android/CMakeLists.txt b/plugins/android/CMakeLists.txt similarity index 100% rename from runtimes/android/CMakeLists.txt rename to plugins/android/CMakeLists.txt diff --git a/runtimes/android/Messages.sh b/plugins/android/Messages.sh similarity index 100% rename from runtimes/android/Messages.sh rename to plugins/android/Messages.sh diff --git a/runtimes/android/androidplugin.cpp b/plugins/android/androidplugin.cpp similarity index 100% rename from runtimes/android/androidplugin.cpp rename to plugins/android/androidplugin.cpp diff --git a/runtimes/android/androidplugin.h b/plugins/android/androidplugin.h similarity index 100% rename from runtimes/android/androidplugin.h rename to plugins/android/androidplugin.h diff --git a/runtimes/android/androidpreferences.cpp b/plugins/android/androidpreferences.cpp similarity index 100% rename from runtimes/android/androidpreferences.cpp rename to plugins/android/androidpreferences.cpp diff --git a/runtimes/android/androidpreferences.h b/plugins/android/androidpreferences.h similarity index 100% rename from runtimes/android/androidpreferences.h rename to plugins/android/androidpreferences.h diff --git a/runtimes/android/androidpreferences.ui b/plugins/android/androidpreferences.ui similarity index 100% rename from runtimes/android/androidpreferences.ui rename to plugins/android/androidpreferences.ui diff --git a/runtimes/android/androidpreferencessettings.kcfg b/plugins/android/androidpreferencessettings.kcfg similarity index 100% rename from runtimes/android/androidpreferencessettings.kcfg rename to plugins/android/androidpreferencessettings.kcfg diff --git a/runtimes/android/androidpreferencessettings.kcfgc b/plugins/android/androidpreferencessettings.kcfgc similarity index 100% rename from runtimes/android/androidpreferencessettings.kcfgc rename to plugins/android/androidpreferencessettings.kcfgc diff --git a/runtimes/android/androidruntime.cpp b/plugins/android/androidruntime.cpp similarity index 100% rename from runtimes/android/androidruntime.cpp rename to plugins/android/androidruntime.cpp diff --git a/runtimes/android/androidruntime.h b/plugins/android/androidruntime.h similarity index 100% rename from runtimes/android/androidruntime.h rename to plugins/android/androidruntime.h diff --git a/runtimes/android/kdevandroid.json b/plugins/android/kdevandroid.json similarity index 100% rename from runtimes/android/kdevandroid.json rename to plugins/android/kdevandroid.json diff --git a/runtimes/android/kdevandroidplugin.qrc b/plugins/android/kdevandroidplugin.qrc similarity index 100% rename from runtimes/android/kdevandroidplugin.qrc rename to plugins/android/kdevandroidplugin.qrc diff --git a/runtimes/android/kdevandroidplugin.rc b/plugins/android/kdevandroidplugin.rc similarity index 100% rename from runtimes/android/kdevandroidplugin.rc rename to plugins/android/kdevandroidplugin.rc diff --git a/kdevplatform/plugins/appwizard/CMakeLists.txt b/plugins/appwizard/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/appwizard/CMakeLists.txt rename to plugins/appwizard/CMakeLists.txt diff --git a/kdevplatform/plugins/appwizard/Messages.sh b/plugins/appwizard/Messages.sh similarity index 100% rename from kdevplatform/plugins/appwizard/Messages.sh rename to plugins/appwizard/Messages.sh diff --git a/kdevplatform/plugins/appwizard/README.dox b/plugins/appwizard/README.dox similarity index 100% rename from kdevplatform/plugins/appwizard/README.dox rename to plugins/appwizard/README.dox diff --git a/kdevplatform/plugins/appwizard/appwizarddialog.cpp b/plugins/appwizard/appwizarddialog.cpp similarity index 100% rename from kdevplatform/plugins/appwizard/appwizarddialog.cpp rename to plugins/appwizard/appwizarddialog.cpp diff --git a/kdevplatform/plugins/appwizard/appwizarddialog.h b/plugins/appwizard/appwizarddialog.h similarity index 100% rename from kdevplatform/plugins/appwizard/appwizarddialog.h rename to plugins/appwizard/appwizarddialog.h diff --git a/kdevplatform/plugins/appwizard/appwizardpagewidget.cpp b/plugins/appwizard/appwizardpagewidget.cpp similarity index 100% rename from kdevplatform/plugins/appwizard/appwizardpagewidget.cpp rename to plugins/appwizard/appwizardpagewidget.cpp diff --git a/kdevplatform/plugins/appwizard/appwizardpagewidget.h b/plugins/appwizard/appwizardpagewidget.h similarity index 100% rename from kdevplatform/plugins/appwizard/appwizardpagewidget.h rename to plugins/appwizard/appwizardpagewidget.h diff --git a/kdevplatform/plugins/appwizard/appwizardplugin.cpp b/plugins/appwizard/appwizardplugin.cpp similarity index 100% rename from kdevplatform/plugins/appwizard/appwizardplugin.cpp rename to plugins/appwizard/appwizardplugin.cpp diff --git a/kdevplatform/plugins/appwizard/appwizardplugin.h b/plugins/appwizard/appwizardplugin.h similarity index 100% rename from kdevplatform/plugins/appwizard/appwizardplugin.h rename to plugins/appwizard/appwizardplugin.h diff --git a/kdevplatform/plugins/appwizard/kdevappwizard.json b/plugins/appwizard/kdevappwizard.json similarity index 100% rename from kdevplatform/plugins/appwizard/kdevappwizard.json rename to plugins/appwizard/kdevappwizard.json diff --git a/kdevplatform/plugins/appwizard/kdevappwizard.knsrc b/plugins/appwizard/kdevappwizard.knsrc similarity index 100% rename from kdevplatform/plugins/appwizard/kdevappwizard.knsrc rename to plugins/appwizard/kdevappwizard.knsrc diff --git a/kdevplatform/plugins/appwizard/kdevappwizard.qrc b/plugins/appwizard/kdevappwizard.qrc similarity index 100% rename from kdevplatform/plugins/appwizard/kdevappwizard.qrc rename to plugins/appwizard/kdevappwizard.qrc diff --git a/kdevplatform/plugins/appwizard/kdevappwizard.rc b/plugins/appwizard/kdevappwizard.rc similarity index 100% rename from kdevplatform/plugins/appwizard/kdevappwizard.rc rename to plugins/appwizard/kdevappwizard.rc diff --git a/kdevplatform/plugins/appwizard/projectselectionpage.cpp b/plugins/appwizard/projectselectionpage.cpp similarity index 100% rename from kdevplatform/plugins/appwizard/projectselectionpage.cpp rename to plugins/appwizard/projectselectionpage.cpp diff --git a/kdevplatform/plugins/appwizard/projectselectionpage.h b/plugins/appwizard/projectselectionpage.h similarity index 100% rename from kdevplatform/plugins/appwizard/projectselectionpage.h rename to plugins/appwizard/projectselectionpage.h diff --git a/kdevplatform/plugins/appwizard/projectselectionpage.ui b/plugins/appwizard/projectselectionpage.ui similarity index 100% rename from kdevplatform/plugins/appwizard/projectselectionpage.ui rename to plugins/appwizard/projectselectionpage.ui diff --git a/kdevplatform/plugins/appwizard/projecttemplatesmodel.cpp b/plugins/appwizard/projecttemplatesmodel.cpp similarity index 100% rename from kdevplatform/plugins/appwizard/projecttemplatesmodel.cpp rename to plugins/appwizard/projecttemplatesmodel.cpp diff --git a/kdevplatform/plugins/appwizard/projecttemplatesmodel.h b/plugins/appwizard/projecttemplatesmodel.h similarity index 100% rename from kdevplatform/plugins/appwizard/projecttemplatesmodel.h rename to plugins/appwizard/projecttemplatesmodel.h diff --git a/kdevplatform/plugins/appwizard/projectvcspage.cpp b/plugins/appwizard/projectvcspage.cpp similarity index 100% rename from kdevplatform/plugins/appwizard/projectvcspage.cpp rename to plugins/appwizard/projectvcspage.cpp diff --git a/kdevplatform/plugins/appwizard/projectvcspage.h b/plugins/appwizard/projectvcspage.h similarity index 100% rename from kdevplatform/plugins/appwizard/projectvcspage.h rename to plugins/appwizard/projectvcspage.h diff --git a/kdevplatform/plugins/appwizard/projectvcspage.ui b/plugins/appwizard/projectvcspage.ui similarity index 100% rename from kdevplatform/plugins/appwizard/projectvcspage.ui rename to plugins/appwizard/projectvcspage.ui diff --git a/formatters/astyle/3rdparty/libastyle/ASBeautifier.cpp b/plugins/astyle/3rdparty/libastyle/ASBeautifier.cpp similarity index 100% rename from formatters/astyle/3rdparty/libastyle/ASBeautifier.cpp rename to plugins/astyle/3rdparty/libastyle/ASBeautifier.cpp diff --git a/formatters/astyle/3rdparty/libastyle/ASEnhancer.cpp b/plugins/astyle/3rdparty/libastyle/ASEnhancer.cpp similarity index 100% rename from formatters/astyle/3rdparty/libastyle/ASEnhancer.cpp rename to plugins/astyle/3rdparty/libastyle/ASEnhancer.cpp diff --git a/formatters/astyle/3rdparty/libastyle/ASFormatter.cpp b/plugins/astyle/3rdparty/libastyle/ASFormatter.cpp similarity index 100% rename from formatters/astyle/3rdparty/libastyle/ASFormatter.cpp rename to plugins/astyle/3rdparty/libastyle/ASFormatter.cpp diff --git a/formatters/astyle/3rdparty/libastyle/ASLocalizer.cpp b/plugins/astyle/3rdparty/libastyle/ASLocalizer.cpp similarity index 100% rename from formatters/astyle/3rdparty/libastyle/ASLocalizer.cpp rename to plugins/astyle/3rdparty/libastyle/ASLocalizer.cpp diff --git a/formatters/astyle/3rdparty/libastyle/ASLocalizer.h b/plugins/astyle/3rdparty/libastyle/ASLocalizer.h similarity index 100% rename from formatters/astyle/3rdparty/libastyle/ASLocalizer.h rename to plugins/astyle/3rdparty/libastyle/ASLocalizer.h diff --git a/formatters/astyle/3rdparty/libastyle/ASResource.cpp b/plugins/astyle/3rdparty/libastyle/ASResource.cpp similarity index 100% rename from formatters/astyle/3rdparty/libastyle/ASResource.cpp rename to plugins/astyle/3rdparty/libastyle/ASResource.cpp diff --git a/formatters/astyle/3rdparty/libastyle/CMakeLists.txt b/plugins/astyle/3rdparty/libastyle/CMakeLists.txt similarity index 100% rename from formatters/astyle/3rdparty/libastyle/CMakeLists.txt rename to plugins/astyle/3rdparty/libastyle/CMakeLists.txt diff --git a/formatters/astyle/3rdparty/libastyle/README b/plugins/astyle/3rdparty/libastyle/README similarity index 100% rename from formatters/astyle/3rdparty/libastyle/README rename to plugins/astyle/3rdparty/libastyle/README diff --git a/formatters/astyle/3rdparty/libastyle/astyle.h b/plugins/astyle/3rdparty/libastyle/astyle.h similarity index 100% rename from formatters/astyle/3rdparty/libastyle/astyle.h rename to plugins/astyle/3rdparty/libastyle/astyle.h diff --git a/formatters/astyle/CMakeLists.txt b/plugins/astyle/CMakeLists.txt similarity index 93% rename from formatters/astyle/CMakeLists.txt rename to plugins/astyle/CMakeLists.txt index 78cba0a68b..6d144ec453 100644 --- a/formatters/astyle/CMakeLists.txt +++ b/plugins/astyle/CMakeLists.txt @@ -1,36 +1,38 @@ include_directories(lib) +add_definitions(-DTRANSLATION_DOMAIN=\"kdevastyle\") + ecm_qt_declare_logging_category(kdevastyle_LOG_SRCS HEADER debug.h IDENTIFIER KDEV_ASTYLE CATEGORY_NAME "kdevelop.formatters.astyle" ) set(kdevastyle_PART_SRCS astyle_plugin.cpp astyle_preferences.cpp astyle_formatter.cpp astyle_stringiterator.cpp ${kdevastyle_LOG_SRCS} ) set(astyle_preferences_UI astyle_preferences.ui ) ki18n_wrap_ui(kdevastyle_PART_SRCS ${astyle_preferences_UI} ) kdevplatform_add_plugin(kdevastyle JSON kdevastyle.json SOURCES ${kdevastyle_PART_SRCS}) target_link_libraries(kdevastyle astylelib KF5::Parts KF5::KIOWidgets KF5::TextEditor KDev::Interfaces KDev::Util) add_subdirectory(3rdparty/libastyle) if(BUILD_TESTING) add_subdirectory(tests) endif() diff --git a/analyzers/cppcheck/Messages.sh b/plugins/astyle/Messages.sh similarity index 86% copy from analyzers/cppcheck/Messages.sh copy to plugins/astyle/Messages.sh index 31ca95b09b..05ce893819 100644 --- a/analyzers/cppcheck/Messages.sh +++ b/plugins/astyle/Messages.sh @@ -1,4 +1,4 @@ #!/bin/sh $EXTRACTRC `find . -name \*.rc` `find . -name \*.ui` >>rc.cpp -$XGETTEXT `find . -name \*.cc -o -name \*.cpp -o -name \*.h` -o $podir/kdevcppcheck.pot +$XGETTEXT `find . -name \*.cc -o -name \*.cpp -o -name \*.h` -o $podir/kdevastyle.pot rm -f rc.cpp diff --git a/formatters/astyle/astyle_formatter.cpp b/plugins/astyle/astyle_formatter.cpp similarity index 100% rename from formatters/astyle/astyle_formatter.cpp rename to plugins/astyle/astyle_formatter.cpp diff --git a/formatters/astyle/astyle_formatter.h b/plugins/astyle/astyle_formatter.h similarity index 100% rename from formatters/astyle/astyle_formatter.h rename to plugins/astyle/astyle_formatter.h diff --git a/formatters/astyle/astyle_plugin.cpp b/plugins/astyle/astyle_plugin.cpp similarity index 100% rename from formatters/astyle/astyle_plugin.cpp rename to plugins/astyle/astyle_plugin.cpp diff --git a/formatters/astyle/astyle_plugin.h b/plugins/astyle/astyle_plugin.h similarity index 100% rename from formatters/astyle/astyle_plugin.h rename to plugins/astyle/astyle_plugin.h diff --git a/formatters/astyle/astyle_preferences.cpp b/plugins/astyle/astyle_preferences.cpp similarity index 100% rename from formatters/astyle/astyle_preferences.cpp rename to plugins/astyle/astyle_preferences.cpp diff --git a/formatters/astyle/astyle_preferences.h b/plugins/astyle/astyle_preferences.h similarity index 100% rename from formatters/astyle/astyle_preferences.h rename to plugins/astyle/astyle_preferences.h diff --git a/formatters/astyle/astyle_preferences.ui b/plugins/astyle/astyle_preferences.ui similarity index 100% rename from formatters/astyle/astyle_preferences.ui rename to plugins/astyle/astyle_preferences.ui diff --git a/formatters/astyle/astyle_stringiterator.cpp b/plugins/astyle/astyle_stringiterator.cpp similarity index 100% rename from formatters/astyle/astyle_stringiterator.cpp rename to plugins/astyle/astyle_stringiterator.cpp diff --git a/formatters/astyle/astyle_stringiterator.h b/plugins/astyle/astyle_stringiterator.h similarity index 100% rename from formatters/astyle/astyle_stringiterator.h rename to plugins/astyle/astyle_stringiterator.h diff --git a/formatters/astyle/kdevastyle.json b/plugins/astyle/kdevastyle.json similarity index 100% rename from formatters/astyle/kdevastyle.json rename to plugins/astyle/kdevastyle.json diff --git a/formatters/astyle/tests/CMakeLists.txt b/plugins/astyle/tests/CMakeLists.txt similarity index 100% rename from formatters/astyle/tests/CMakeLists.txt rename to plugins/astyle/tests/CMakeLists.txt diff --git a/formatters/astyle/tests/test_astyle.cpp b/plugins/astyle/tests/test_astyle.cpp similarity index 100% rename from formatters/astyle/tests/test_astyle.cpp rename to plugins/astyle/tests/test_astyle.cpp diff --git a/formatters/astyle/tests/test_astyle.h b/plugins/astyle/tests/test_astyle.h similarity index 100% rename from formatters/astyle/tests/test_astyle.h rename to plugins/astyle/tests/test_astyle.h diff --git a/kdevplatform/plugins/bazaar/CMakeLists.txt b/plugins/bazaar/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/bazaar/CMakeLists.txt rename to plugins/bazaar/CMakeLists.txt diff --git a/kdevplatform/plugins/bazaar/bazaar.kdev4 b/plugins/bazaar/bazaar.kdev4 similarity index 100% rename from kdevplatform/plugins/bazaar/bazaar.kdev4 rename to plugins/bazaar/bazaar.kdev4 diff --git a/kdevplatform/plugins/bazaar/bazaarplugin.cpp b/plugins/bazaar/bazaarplugin.cpp similarity index 100% rename from kdevplatform/plugins/bazaar/bazaarplugin.cpp rename to plugins/bazaar/bazaarplugin.cpp diff --git a/kdevplatform/plugins/bazaar/bazaarplugin.h b/plugins/bazaar/bazaarplugin.h similarity index 100% rename from kdevplatform/plugins/bazaar/bazaarplugin.h rename to plugins/bazaar/bazaarplugin.h diff --git a/kdevplatform/plugins/bazaar/bazaarpluginmetadata.cpp b/plugins/bazaar/bazaarpluginmetadata.cpp similarity index 100% rename from kdevplatform/plugins/bazaar/bazaarpluginmetadata.cpp rename to plugins/bazaar/bazaarpluginmetadata.cpp diff --git a/kdevplatform/plugins/bazaar/bazaarutils.cpp b/plugins/bazaar/bazaarutils.cpp similarity index 100% rename from kdevplatform/plugins/bazaar/bazaarutils.cpp rename to plugins/bazaar/bazaarutils.cpp diff --git a/kdevplatform/plugins/bazaar/bazaarutils.h b/plugins/bazaar/bazaarutils.h similarity index 100% rename from kdevplatform/plugins/bazaar/bazaarutils.h rename to plugins/bazaar/bazaarutils.h diff --git a/kdevplatform/plugins/bazaar/bzrannotatejob.cpp b/plugins/bazaar/bzrannotatejob.cpp similarity index 100% rename from kdevplatform/plugins/bazaar/bzrannotatejob.cpp rename to plugins/bazaar/bzrannotatejob.cpp diff --git a/kdevplatform/plugins/bazaar/bzrannotatejob.h b/plugins/bazaar/bzrannotatejob.h similarity index 100% rename from kdevplatform/plugins/bazaar/bzrannotatejob.h rename to plugins/bazaar/bzrannotatejob.h diff --git a/kdevplatform/plugins/bazaar/copyjob.cpp b/plugins/bazaar/copyjob.cpp similarity index 100% rename from kdevplatform/plugins/bazaar/copyjob.cpp rename to plugins/bazaar/copyjob.cpp diff --git a/kdevplatform/plugins/bazaar/copyjob.h b/plugins/bazaar/copyjob.h similarity index 100% rename from kdevplatform/plugins/bazaar/copyjob.h rename to plugins/bazaar/copyjob.h diff --git a/kdevplatform/plugins/bazaar/diffjob.cpp b/plugins/bazaar/diffjob.cpp similarity index 100% rename from kdevplatform/plugins/bazaar/diffjob.cpp rename to plugins/bazaar/diffjob.cpp diff --git a/kdevplatform/plugins/bazaar/diffjob.h b/plugins/bazaar/diffjob.h similarity index 100% rename from kdevplatform/plugins/bazaar/diffjob.h rename to plugins/bazaar/diffjob.h diff --git a/kdevplatform/plugins/bazaar/icons/128-apps-bazaar.png b/plugins/bazaar/icons/128-apps-bazaar.png similarity index 100% rename from kdevplatform/plugins/bazaar/icons/128-apps-bazaar.png rename to plugins/bazaar/icons/128-apps-bazaar.png diff --git a/kdevplatform/plugins/bazaar/icons/CMakeLists.txt b/plugins/bazaar/icons/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/bazaar/icons/CMakeLists.txt rename to plugins/bazaar/icons/CMakeLists.txt diff --git a/kdevplatform/plugins/bazaar/kdevbazaar.json b/plugins/bazaar/kdevbazaar.json similarity index 100% rename from kdevplatform/plugins/bazaar/kdevbazaar.json rename to plugins/bazaar/kdevbazaar.json diff --git a/kdevplatform/plugins/bazaar/tests/CMakeLists.txt b/plugins/bazaar/tests/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/bazaar/tests/CMakeLists.txt rename to plugins/bazaar/tests/CMakeLists.txt diff --git a/kdevplatform/plugins/bazaar/tests/test_bazaar.cpp b/plugins/bazaar/tests/test_bazaar.cpp similarity index 100% rename from kdevplatform/plugins/bazaar/tests/test_bazaar.cpp rename to plugins/bazaar/tests/test_bazaar.cpp diff --git a/kdevplatform/plugins/bazaar/tests/test_bazaar.h b/plugins/bazaar/tests/test_bazaar.h similarity index 100% rename from kdevplatform/plugins/bazaar/tests/test_bazaar.h rename to plugins/bazaar/tests/test_bazaar.h diff --git a/debuggers/gdb/.kateconfig b/plugins/clang/.kateconfig similarity index 100% rename from debuggers/gdb/.kateconfig rename to plugins/clang/.kateconfig diff --git a/languages/clang/.reviewboardrc b/plugins/clang/.reviewboardrc similarity index 100% rename from languages/clang/.reviewboardrc rename to plugins/clang/.reviewboardrc diff --git a/languages/clang/CMakeLists.txt b/plugins/clang/CMakeLists.txt similarity index 98% rename from languages/clang/CMakeLists.txt rename to plugins/clang/CMakeLists.txt index 7bfe334bcf..cbf6b2c9ce 100644 --- a/languages/clang/CMakeLists.txt +++ b/plugins/clang/CMakeLists.txt @@ -1,136 +1,138 @@ add_definitions(-DTRANSLATION_DOMAIN=\"kdevclang\") add_definitions(${LLVM_CFLAGS}) include_directories(${CLANG_INCLUDE_DIRS}) configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/version.h.cmake" "${CMAKE_CURRENT_BINARY_DIR}/version.h" @ONLY ) if(BUILD_TESTING) add_subdirectory(tests) endif() add_definitions( -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_BYTEARRAY ) # TODO: Move to kdevplatform function(add_private_library target) set(options) set(oneValueArgs) set(multiValueArgs SOURCES) cmake_parse_arguments(KDEV_ADD_PRIVATE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) string(REPLACE "KDev" "" shortTargetName ${target}) if (${shortTargetName} STREQUAL ${target}) message(FATAL_ERROR "Target passed to add_private_library needs to start with \"KDev\", was \"${target}\"") endif() string(TOLOWER ${shortTargetName} shortTargetNameToLower) add_library(${target} SHARED ${KDEV_ADD_PRIVATE_SOURCES}) generate_export_header(${target} EXPORT_FILE_NAME ${shortTargetNameToLower}export.h) set_target_properties(${target} PROPERTIES VERSION ${KDEV_PLUGIN_VERSION} SOVERSION ${KDEV_PLUGIN_VERSION} ) install(TARGETS ${target} ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP) endfunction() set(kdevclangprivate_SRCS clangsettings/clangsettingsmanager.cpp clangsettings/sessionsettings/sessionsettings.cpp codecompletion/completionhelper.cpp codecompletion/context.cpp codecompletion/includepathcompletioncontext.cpp codecompletion/model.cpp codegen/adaptsignatureaction.cpp codegen/adaptsignatureassistant.cpp codegen/codegenhelper.cpp codegen/clangrefactoring.cpp codegen/clangclasshelper.cpp codegen/sourcemanipulation.cpp duchain/builder.cpp duchain/clangdiagnosticevaluator.cpp duchain/clangducontext.cpp duchain/clanghelpers.cpp duchain/clangindex.cpp duchain/clangparsingenvironment.cpp duchain/clangparsingenvironmentfile.cpp duchain/clangpch.cpp duchain/clangproblem.cpp duchain/debugvisitor.cpp duchain/documentfinderhelpers.cpp duchain/duchainutils.cpp duchain/macrodefinition.cpp duchain/macronavigationcontext.cpp duchain/missingincludepathproblem.cpp duchain/navigationwidget.cpp duchain/parsesession.cpp duchain/todoextractor.cpp duchain/types/classspecializationtype.cpp duchain/unknowndeclarationproblem.cpp duchain/unsavedfile.cpp util/clangdebug.cpp util/clangtypes.cpp util/clangutils.cpp ) include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) ki18n_wrap_ui(kdevclangprivate_SRCS clangsettings/sessionsettings/sessionsettings.ui ) kconfig_add_kcfg_files(kdevclangprivate_SRCS clangsettings/sessionsettings/sessionconfig.kcfgc) add_private_library(KDevClangPrivate SOURCES ${kdevclangprivate_SRCS}) target_link_libraries(KDevClangPrivate LINK_PRIVATE Qt5::Core KF5::TextEditor KF5::ThreadWeaver + KDev::DefinesAndIncludesManager KDev::Util LINK_PUBLIC KDev::Language KDev::Project KDev::Util ${CLANG_LIBCLANG_LIB} ) install(FILES duchain/gcc_compat.h DESTINATION ${KDE_INSTALL_DATADIR}/kdevclangsupport PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) install(DIRECTORY duchain/wrappedQtHeaders DESTINATION ${KDE_INSTALL_DATADIR}/kdevclangsupport DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_EXECUTE FILE_PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) set(kdevclangsupport_SRCS clangparsejob.cpp clangsupport.cpp clanghighlighting.cpp ) qt5_add_resources(kdevclangsupport_SRCS kdevclangsupport.qrc) kdevplatform_add_plugin(kdevclangsupport JSON kdevclangsupport.json SOURCES ${kdevclangsupport_SRCS}) target_link_libraries(kdevclangsupport KDevClangPrivate KF5::ThreadWeaver KF5::TextEditor KDev::Util KDev::Project + KDev::DefinesAndIncludesManager ) install(FILES kdevclang.xml DESTINATION ${KDE_INSTALL_MIMEDIR}) update_xdg_mimetypes(${KDE_INSTALL_MIMEDIR}) diff --git a/languages/clang/Messages.sh b/plugins/clang/Messages.sh similarity index 100% rename from languages/clang/Messages.sh rename to plugins/clang/Messages.sh diff --git a/languages/clang/XmlMessages.sh b/plugins/clang/XmlMessages.sh similarity index 100% rename from languages/clang/XmlMessages.sh rename to plugins/clang/XmlMessages.sh diff --git a/languages/clang/clanghighlighting.cpp b/plugins/clang/clanghighlighting.cpp similarity index 100% rename from languages/clang/clanghighlighting.cpp rename to plugins/clang/clanghighlighting.cpp diff --git a/languages/clang/clanghighlighting.h b/plugins/clang/clanghighlighting.h similarity index 100% rename from languages/clang/clanghighlighting.h rename to plugins/clang/clanghighlighting.h diff --git a/languages/clang/clangparsejob.cpp b/plugins/clang/clangparsejob.cpp similarity index 99% rename from languages/clang/clangparsejob.cpp rename to plugins/clang/clangparsejob.cpp index c59398a82d..200772dc2c 100644 --- a/languages/clang/clangparsejob.cpp +++ b/plugins/clang/clangparsejob.cpp @@ -1,385 +1,385 @@ /* This file is part of KDevelop Copyright 2013 Olivier de Gaalon Copyright 2013 Milian Wolff This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "clangparsejob.h" #include #include #include #include #include #include #include #include #include #include #include #include -#include +#include #include #include #include "clangsettings/clangsettingsmanager.h" #include "duchain/clanghelpers.h" #include "duchain/clangpch.h" #include "duchain/duchainutils.h" #include "duchain/parsesession.h" #include "duchain/clangindex.h" #include "duchain/clangparsingenvironmentfile.h" #include "util/clangdebug.h" #include "util/clangtypes.h" #include "util/clangutils.h" #include "clangsupport.h" #include "duchain/documentfinderhelpers.h" #include #include #include #include #include using namespace KDevelop; namespace { QString findConfigFile(const QString& forFile, const QString& configFileName) { QDir dir = QFileInfo(forFile).dir(); while (dir.exists()) { const QFileInfo customIncludePaths(dir, configFileName); if (customIncludePaths.exists()) { return customIncludePaths.absoluteFilePath(); } if (!dir.cdUp()) { break; } } return {}; } Path::List readPathListFile(const QString& filepath) { if (filepath.isEmpty()) { return {}; } QFile f(filepath); if (!f.open(QIODevice::ReadOnly | QIODevice::Text)) { return {}; } const QString text = QString::fromLocal8Bit(f.readAll()); const QStringList lines = text.split(QLatin1Char('\n'), QString::SkipEmptyParts); Path::List paths; paths.reserve(lines.length()); for (const auto& line : lines) { paths << Path(line); } return paths; } /** * File should contain the header to precompile and use while parsing * @returns the first path in the file */ Path userDefinedPchIncludeForFile(const QString& sourcefile) { static const QString pchIncludeFilename = QStringLiteral(".kdev_pch_include"); const auto paths = readPathListFile(findConfigFile(sourcefile, pchIncludeFilename)); return paths.isEmpty() ? Path() : paths.first(); } ProjectFileItem* findProjectFileItem(const IndexedString& url, bool* hasBuildSystemInfo) { ProjectFileItem* file = nullptr; *hasBuildSystemInfo = false; for (auto project: ICore::self()->projectController()->projects()) { auto files = project->filesForPath(url); if (files.isEmpty()) { continue; } file = files.last(); // A file might be defined in different targets. // Prefer file items defined inside a target with non-empty includes. for (auto f: files) { if (!dynamic_cast(f->parent())) { continue; } file = f; if (!IDefinesAndIncludesManager::manager()->includes(f, IDefinesAndIncludesManager::ProjectSpecific).isEmpty()) { break; } } } if (file && file->project()) { if (auto bsm = file->project()->buildSystemManager()) { *hasBuildSystemInfo = bsm->hasBuildInfo(file); } } return file; } ClangParsingEnvironmentFile* parsingEnvironmentFile(const TopDUContext* context) { return dynamic_cast(context->parsingEnvironmentFile().data()); } DocumentChangeTracker* trackerForUrl(const IndexedString& url) { return ICore::self()->languageController()->backgroundParser()->trackerForUrl(url); } } ClangParseJob::ClangParseJob(const IndexedString& url, ILanguageSupport* languageSupport) : ParseJob(url, languageSupport) { const auto tuUrl = clang()->index()->translationUnitForUrl(url); bool hasBuildSystemInfo; if (auto file = findProjectFileItem(tuUrl, &hasBuildSystemInfo)) { m_environment.addIncludes(IDefinesAndIncludesManager::manager()->includes(file)); m_environment.addFrameworkDirectories(IDefinesAndIncludesManager::manager()->frameworkDirectories(file)); m_environment.addDefines(IDefinesAndIncludesManager::manager()->defines(file)); m_environment.setParserSettings(ClangSettingsManager::self()->parserSettings(file)); } else { m_environment.addIncludes(IDefinesAndIncludesManager::manager()->includes(tuUrl.str())); m_environment.addFrameworkDirectories(IDefinesAndIncludesManager::manager()->frameworkDirectories(tuUrl.str())); m_environment.addDefines(IDefinesAndIncludesManager::manager()->defines(tuUrl.str())); m_environment.setParserSettings(ClangSettingsManager::self()->parserSettings(tuUrl.str())); } const bool isSource = ClangHelpers::isSource(tuUrl.str()); m_environment.setQuality( isSource ? (hasBuildSystemInfo ? ClangParsingEnvironment::BuildSystem : ClangParsingEnvironment::Source) : ClangParsingEnvironment::Unknown ); m_environment.setTranslationUnitUrl(tuUrl); Path::List projectPaths; const auto& projects = ICore::self()->projectController()->projects(); projectPaths.reserve(projects.size()); foreach (auto project, projects) { projectPaths.append(project->path()); } m_environment.setProjectPaths(projectPaths); m_unsavedFiles = ClangUtils::unsavedFiles(); foreach(auto document, ICore::self()->documentController()->openDocuments()) { auto textDocument = document->textDocument(); if ( !textDocument ) { continue; } const IndexedString indexedUrl(textDocument->url()); if (indexedUrl == tuUrl) { m_tuDocumentIsUnsaved = true; } m_unsavedRevisions.insert(indexedUrl, ModificationRevision::revisionForFile(indexedUrl)); } if (auto tracker = trackerForUrl(url)) { tracker->reset(); } } ClangSupport* ClangParseJob::clang() const { return static_cast(languageSupport()); } void ClangParseJob::run(ThreadWeaver::JobPointer /*self*/, ThreadWeaver::Thread* /*thread*/) { QReadLocker parseLock(languageSupport()->parseLock()); if (abortRequested()) { return; } { const auto tuUrlStr = m_environment.translationUnitUrl().str(); if (!m_tuDocumentIsUnsaved && !QFile::exists(tuUrlStr)) { // maybe we requested a parse job some time ago but now the file // does not exist anymore. return early then clang()->index()->unpinTranslationUnitForUrl(document()); return; } m_environment.addIncludes(IDefinesAndIncludesManager::manager()->includesInBackground(tuUrlStr)); m_environment.addFrameworkDirectories(IDefinesAndIncludesManager::manager()->frameworkDirectoriesInBackground(tuUrlStr)); m_environment.addDefines(IDefinesAndIncludesManager::manager()->definesInBackground(tuUrlStr)); m_environment.setPchInclude(userDefinedPchIncludeForFile(tuUrlStr)); } if (abortRequested()) { return; } // NOTE: we must have all declarations, contexts and uses available for files that are opened in the editor // it is very hard to check this for all included files of this TU, and previously lead to problems // when we tried to skip function bodies as an optimization for files that where not open in the editor. // now, we always build everything, which is correct but a tad bit slower. we can try to optimize later. setMinimumFeatures(static_cast(minimumFeatures() | TopDUContext::AllDeclarationsContextsAndUses)); if (minimumFeatures() & AttachASTWithoutUpdating) { // The context doesn't need to be updated, but has no AST attached (restored from disk), // so attach AST to it, without updating DUChain ParseSession session(createSessionData()); DUChainWriteLocker lock; auto ctx = DUChainUtils::standardContextForUrl(document().toUrl()); if (!ctx) { clangDebug() << "Lost context while attaching AST"; return; } ctx->setAst(IAstContainer::Ptr(session.data())); if (minimumFeatures() & UpdateHighlighting) { lock.unlock(); languageSupport()->codeHighlighting()->highlightDUChain(ctx); } return; } { UrlParseLock urlLock(document()); if (abortRequested() || !isUpdateRequired(ParseSession::languageString())) { return; } } ParseSession session(ClangIntegration::DUChainUtils::findParseSessionData(document(), m_environment.translationUnitUrl())); if (abortRequested()) { return; } if (!session.data() || !session.reparse(m_unsavedFiles, m_environment)) { session.setData(createSessionData()); } if (!session.unit()) { // failed to parse file, unpin and don't try again clang()->index()->unpinTranslationUnitForUrl(document()); return; } if (!clang_getFile(session.unit(), document().byteArray().constData())) { // this parse job's document does not exist in the pinned translation unit // so we need to unpin and re-add this document // Ideally we'd reset m_environment and session, but this is much simpler // and shouldn't be a common case clang()->index()->unpinTranslationUnitForUrl(document()); if (!(minimumFeatures() & Rescheduled)) { auto features = static_cast(minimumFeatures() | Rescheduled); ICore::self()->languageController()->backgroundParser()->addDocument(document(), features, priority()); } return; } Imports imports = ClangHelpers::tuImports(session.unit()); IncludeFileContexts includedFiles; if (auto pch = clang()->index()->pch(m_environment)) { auto pchFile = pch->mapFile(session.unit()); includedFiles = pch->mapIncludes(session.unit()); includedFiles.insert(pchFile, pch->context()); auto tuFile = clang_getFile(session.unit(), m_environment.translationUnitUrl().byteArray().constData()); imports.insert(tuFile, { pchFile, CursorInRevision(0, 0) } ); } if (abortRequested()) { return; } auto context = ClangHelpers::buildDUChain(session.mainFile(), imports, session, minimumFeatures(), includedFiles, clang()->index(), [this] { return abortRequested(); }); setDuChain(context); if (abortRequested()) { return; } if (context) { if (minimumFeatures() & TopDUContext::AST) { DUChainWriteLocker lock; context->setAst(IAstContainer::Ptr(session.data())); } #ifdef QT_DEBUG DUChainReadLocker lock; auto file = parsingEnvironmentFile(context); Q_ASSERT(file); // verify that features and environment where properly set in ClangHelpers::buildDUChain Q_ASSERT(file->featuresSatisfied(TopDUContext::Features(minimumFeatures() & ~TopDUContext::ForceUpdateRecursive))); if (trackerForUrl(context->url())) { Q_ASSERT(file->featuresSatisfied(TopDUContext::AllDeclarationsContextsAndUses)); } #endif } foreach(const auto& context, includedFiles) { if (!context) { continue; } { // prefer the editor modification revision, instead of the on-disk revision auto it = m_unsavedRevisions.find(context->url()); if (it != m_unsavedRevisions.end()) { DUChainWriteLocker lock; auto file = parsingEnvironmentFile(context); Q_ASSERT(file); file->setModificationRevision(it.value()); } } if (trackerForUrl(context->url())) { if (clang()->index()->translationUnitForUrl(context->url()) == m_environment.translationUnitUrl()) { // cache the parse session and the contained translation unit for this chain // this then allows us to quickly reparse the document if it is changed by // the user // otherwise no editor component is open for this document and we can dispose // the TU to save memory // share the session data with all contexts that are pinned to this TU DUChainWriteLocker lock; context->setAst(IAstContainer::Ptr(session.data())); } languageSupport()->codeHighlighting()->highlightDUChain(context); } } } ParseSessionData::Ptr ClangParseJob::createSessionData() const { return ParseSessionData::Ptr(new ParseSessionData(m_unsavedFiles, clang()->index(), m_environment, ParseSessionData::NoOption)); } const ParsingEnvironment* ClangParseJob::environment() const { return &m_environment; } diff --git a/languages/clang/clangparsejob.h b/plugins/clang/clangparsejob.h similarity index 100% rename from languages/clang/clangparsejob.h rename to plugins/clang/clangparsejob.h diff --git a/languages/clang/clangsettings/clangsettingsmanager.cpp b/plugins/clang/clangsettings/clangsettingsmanager.cpp similarity index 97% rename from languages/clang/clangsettings/clangsettingsmanager.cpp rename to plugins/clang/clangsettings/clangsettingsmanager.cpp index 980c056771..48d6fc4e3f 100644 --- a/languages/clang/clangsettings/clangsettingsmanager.cpp +++ b/plugins/clang/clangsettings/clangsettingsmanager.cpp @@ -1,130 +1,130 @@ /* * This file is part of KDevelop * * Copyright 2015 Sergey Kalinichev * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License or (at your option) version 3 or any later version * accepted by the membership of KDE e.V. (or its successor approved * by the membership of KDE e.V.), which shall act as a proxy * defined in Section 14 of version 3 of the license. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include "clangsettingsmanager.h" #include #include #include #include #include -#include +#include #include #include using namespace KDevelop; namespace { const QString settingsGroup = QStringLiteral("Clang Settings"); const QString macros = QStringLiteral("macros"); const QString lookAhead = QStringLiteral("lookAhead"); const QString forwardDeclare = QStringLiteral("forwardDeclare"); AssistantsSettings readAssistantsSettings(KConfig* cfg) { auto grp = cfg->group(settingsGroup); AssistantsSettings settings; settings.forwardDeclare = grp.readEntry(forwardDeclare, true); return settings; } CodeCompletionSettings readCodeCompletionSettings(KConfig* cfg) { auto grp = cfg->group(settingsGroup); CodeCompletionSettings settings; settings.macros = grp.readEntry(macros, true); settings.lookAhead = grp.readEntry(lookAhead, false); return settings; } } ClangSettingsManager* ClangSettingsManager::self() { static ClangSettingsManager manager; return &manager; } AssistantsSettings ClangSettingsManager::assistantsSettings() const { auto cfg = ICore::self()->activeSession()->config(); return readAssistantsSettings(cfg.data()); } CodeCompletionSettings ClangSettingsManager::codeCompletionSettings() const { if (m_enableTesting) { CodeCompletionSettings settings; settings.lookAhead = true; settings.macros = true; return settings; } auto cfg = ICore::self()->activeSession()->config(); return readCodeCompletionSettings(cfg.data()); } ParserSettings ClangSettingsManager::parserSettings(KDevelop::ProjectBaseItem* item) const { return {IDefinesAndIncludesManager::manager()->parserArguments(item)}; } ParserSettings ClangSettingsManager::parserSettings(const QString& path) const { return {IDefinesAndIncludesManager::manager()->parserArguments(path)}; } ClangSettingsManager::ClangSettingsManager() {} bool ParserSettings::isCpp() const { return parserOptions.contains(QStringLiteral("-std=c++")); } QVector ParserSettings::toClangAPI() const { // TODO: This is not efficient. auto list = parserOptions.splitRef(QLatin1Char(' '), QString::SkipEmptyParts); QVector result; result.reserve(list.size()); std::transform(list.constBegin(), list.constEnd(), std::back_inserter(result), [] (const QStringRef &argument) { return argument.toUtf8(); }); return result; } bool ParserSettings::operator==(const ParserSettings& rhs) const { return parserOptions == rhs.parserOptions; } diff --git a/languages/clang/clangsettings/clangsettingsmanager.h b/plugins/clang/clangsettings/clangsettingsmanager.h similarity index 100% rename from languages/clang/clangsettings/clangsettingsmanager.h rename to plugins/clang/clangsettings/clangsettingsmanager.h diff --git a/languages/clang/clangsettings/sessionsettings/sessionconfig.kcfg b/plugins/clang/clangsettings/sessionsettings/sessionconfig.kcfg similarity index 100% rename from languages/clang/clangsettings/sessionsettings/sessionconfig.kcfg rename to plugins/clang/clangsettings/sessionsettings/sessionconfig.kcfg diff --git a/languages/clang/clangsettings/sessionsettings/sessionconfig.kcfgc b/plugins/clang/clangsettings/sessionsettings/sessionconfig.kcfgc similarity index 100% rename from languages/clang/clangsettings/sessionsettings/sessionconfig.kcfgc rename to plugins/clang/clangsettings/sessionsettings/sessionconfig.kcfgc diff --git a/languages/clang/clangsettings/sessionsettings/sessionconfigskeleton.h b/plugins/clang/clangsettings/sessionsettings/sessionconfigskeleton.h similarity index 100% rename from languages/clang/clangsettings/sessionsettings/sessionconfigskeleton.h rename to plugins/clang/clangsettings/sessionsettings/sessionconfigskeleton.h diff --git a/languages/clang/clangsettings/sessionsettings/sessionsettings.cpp b/plugins/clang/clangsettings/sessionsettings/sessionsettings.cpp similarity index 100% rename from languages/clang/clangsettings/sessionsettings/sessionsettings.cpp rename to plugins/clang/clangsettings/sessionsettings/sessionsettings.cpp diff --git a/languages/clang/clangsettings/sessionsettings/sessionsettings.h b/plugins/clang/clangsettings/sessionsettings/sessionsettings.h similarity index 100% rename from languages/clang/clangsettings/sessionsettings/sessionsettings.h rename to plugins/clang/clangsettings/sessionsettings/sessionsettings.h diff --git a/languages/clang/clangsettings/sessionsettings/sessionsettings.ui b/plugins/clang/clangsettings/sessionsettings/sessionsettings.ui similarity index 100% rename from languages/clang/clangsettings/sessionsettings/sessionsettings.ui rename to plugins/clang/clangsettings/sessionsettings/sessionsettings.ui diff --git a/languages/clang/clangsupport.cpp b/plugins/clang/clangsupport.cpp similarity index 100% rename from languages/clang/clangsupport.cpp rename to plugins/clang/clangsupport.cpp diff --git a/languages/clang/clangsupport.h b/plugins/clang/clangsupport.h similarity index 100% rename from languages/clang/clangsupport.h rename to plugins/clang/clangsupport.h diff --git a/languages/clang/codecompletion/completionhelper.cpp b/plugins/clang/codecompletion/completionhelper.cpp similarity index 100% rename from languages/clang/codecompletion/completionhelper.cpp rename to plugins/clang/codecompletion/completionhelper.cpp diff --git a/languages/clang/codecompletion/completionhelper.h b/plugins/clang/codecompletion/completionhelper.h similarity index 100% rename from languages/clang/codecompletion/completionhelper.h rename to plugins/clang/codecompletion/completionhelper.h diff --git a/languages/clang/codecompletion/context.cpp b/plugins/clang/codecompletion/context.cpp similarity index 100% rename from languages/clang/codecompletion/context.cpp rename to plugins/clang/codecompletion/context.cpp diff --git a/languages/clang/codecompletion/context.h b/plugins/clang/codecompletion/context.h similarity index 100% rename from languages/clang/codecompletion/context.h rename to plugins/clang/codecompletion/context.h diff --git a/languages/clang/codecompletion/includepathcompletioncontext.cpp b/plugins/clang/codecompletion/includepathcompletioncontext.cpp similarity index 100% rename from languages/clang/codecompletion/includepathcompletioncontext.cpp rename to plugins/clang/codecompletion/includepathcompletioncontext.cpp diff --git a/languages/clang/codecompletion/includepathcompletioncontext.h b/plugins/clang/codecompletion/includepathcompletioncontext.h similarity index 100% rename from languages/clang/codecompletion/includepathcompletioncontext.h rename to plugins/clang/codecompletion/includepathcompletioncontext.h diff --git a/languages/clang/codecompletion/model.cpp b/plugins/clang/codecompletion/model.cpp similarity index 100% rename from languages/clang/codecompletion/model.cpp rename to plugins/clang/codecompletion/model.cpp diff --git a/languages/clang/codecompletion/model.h b/plugins/clang/codecompletion/model.h similarity index 100% rename from languages/clang/codecompletion/model.h rename to plugins/clang/codecompletion/model.h diff --git a/languages/clang/codegen/adaptsignatureaction.cpp b/plugins/clang/codegen/adaptsignatureaction.cpp similarity index 100% rename from languages/clang/codegen/adaptsignatureaction.cpp rename to plugins/clang/codegen/adaptsignatureaction.cpp diff --git a/languages/clang/codegen/adaptsignatureaction.h b/plugins/clang/codegen/adaptsignatureaction.h similarity index 100% rename from languages/clang/codegen/adaptsignatureaction.h rename to plugins/clang/codegen/adaptsignatureaction.h diff --git a/languages/clang/codegen/adaptsignatureassistant.cpp b/plugins/clang/codegen/adaptsignatureassistant.cpp similarity index 100% rename from languages/clang/codegen/adaptsignatureassistant.cpp rename to plugins/clang/codegen/adaptsignatureassistant.cpp diff --git a/languages/clang/codegen/adaptsignatureassistant.h b/plugins/clang/codegen/adaptsignatureassistant.h similarity index 100% rename from languages/clang/codegen/adaptsignatureassistant.h rename to plugins/clang/codegen/adaptsignatureassistant.h diff --git a/languages/clang/codegen/clangclasshelper.cpp b/plugins/clang/codegen/clangclasshelper.cpp similarity index 99% rename from languages/clang/codegen/clangclasshelper.cpp rename to plugins/clang/codegen/clangclasshelper.cpp index fe2e5c5a2f..9cf34bca0b 100644 --- a/languages/clang/codegen/clangclasshelper.cpp +++ b/plugins/clang/codegen/clangclasshelper.cpp @@ -1,305 +1,305 @@ /* * KDevelop C++ Language Support * * Copyright 2008 Hamish Rodda * Copyright 2012 Miha Čančula * Copyright 2017 Friedrich W. H. Kossebau * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "clangclasshelper.h" #include "util/clangdebug.h" #include "duchain/unknowndeclarationproblem.h" #include #include #include #include #include #include #include -#include +#include #include #include #include #include using namespace KDevelop; ClangClassHelper::ClangClassHelper() { } ClangClassHelper::~ClangClassHelper() = default; TemplateClassGenerator* ClangClassHelper::createGenerator(const QUrl& baseUrl) { return new ClangTemplateNewClass(baseUrl); } QList ClangClassHelper::defaultMethods(const QString& name) const { // TODO: this is the oldcpp approach, perhaps clang provides this directly? // TODO: default destructor misses info about virtualness, possible needs ICreateClassHelper change? QTemporaryFile file(QDir::tempPath() + QLatin1String("/class_") + name + QLatin1String("_XXXXXX.cpp")); file.open(); QTextStream stream(&file); stream << "class " << name << " {\n" << " public:\n" // default ctor << " " << name << "();\n" // copy ctor << " " << name << "(const " << name << "& other);\n" // default dtor << " ~" << name << "();\n" // assignment operator << " " << name << "& operator=(const " << name << "& other);\n" // equality operators << " bool operator==(const " << name << "& other) const;\n" << " bool operator!=(const " << name << "& other) const;\n" << "};\n"; file.close(); ReferencedTopDUContext context(DUChain::self()->waitForUpdate(IndexedString(file.fileName()), TopDUContext::AllDeclarationsAndContexts)); QList methods; { DUChainReadLocker lock; if (context && context->childContexts().size() == 1) { for (auto* declaration : context->childContexts().first()->localDeclarations()) { methods << DeclarationPointer(declaration); } } } return methods; } ClangTemplateNewClass::ClangTemplateNewClass(const QUrl& url) : TemplateClassGenerator(url) { } ClangTemplateNewClass::~ClangTemplateNewClass() = default; namespace { QString includeArgumentForFile(const QString& includefile, const Path::List& includePaths, const Path& source) { const auto sourceFolder = source.parent(); const Path canonicalFile(QFileInfo(includefile).canonicalFilePath()); QString shortestDirective; bool isRelative = false; // we can include the file directly if (sourceFolder == canonicalFile.parent()) { shortestDirective = canonicalFile.lastPathSegment(); isRelative = true; } else { // find the include directive with the shortest length for (const auto& includePath : includePaths) { QString relative = includePath.relativePath(canonicalFile); if (relative.startsWith(QLatin1String("./"))) { relative.remove(0, 2); } if (shortestDirective.isEmpty() || relative.length() < shortestDirective.length()) { shortestDirective = relative; isRelative = (includePath == sourceFolder); } } } // Item not found in include path? if (shortestDirective.isEmpty()) { return {}; } if (isRelative) { return QLatin1Char('\"') + shortestDirective + QLatin1Char('\"'); } return QLatin1Char('<') + shortestDirective + QLatin1Char('>'); } QString includeDirectiveArgumentFromPath(const Path& file, const DeclarationPointer& declaration) { const auto includeManager = IDefinesAndIncludesManager::manager(); const auto filePath = file.toLocalFile(); const auto projectModel = ICore::self()->projectController()->projectModel(); auto item = projectModel->itemForPath(IndexedString(filePath)); if (!item) { // try the folder where the file is placed and guess includes from there // prefer target over file const auto folderPath = IndexedString(file.parent().toLocalFile()); clangDebug() << "File not known, guessing includes from items in folder:" << folderPath.str(); // default to the folder, if no targets or files item = projectModel->itemForPath(folderPath); if (item) { const auto targetItems = item->targetList(); bool itemChosen = false; // Prefer items defined inside a target with non-empty includes. for (const auto& targetItem : targetItems) { item = targetItem; if (!includeManager->includes(targetItem, IDefinesAndIncludesManager::ProjectSpecific).isEmpty()) { clangDebug() << "Guessing includes from target" << targetItem->baseName(); itemChosen = true; break; } } if (!itemChosen) { const auto fileItems = item->fileList(); // Prefer items defined inside a target with non-empty includes. for (const auto& fileItem : fileItems) { item = fileItem; if (!includeManager->includes(fileItem, IDefinesAndIncludesManager::ProjectSpecific).isEmpty()) { clangDebug() << "Guessing includes from file" << fileItem->baseName(); break; } } } } } const auto includePaths = includeManager->includes(item); if (includePaths.isEmpty()) { clangDebug() << "Include path is empty"; return {}; } clangDebug() << "found include paths for" << file << ":" << includePaths; const auto includeFiles = UnknownDeclarationProblem::findMatchingIncludeFiles(QVector {declaration.data()}); if (includeFiles.isEmpty()) { // return early as the computation of the include paths is quite expensive return {}; } // create include arguments for all candidates QStringList includeArguments; for (const auto& includeFile : includeFiles) { const auto includeArgument = includeArgumentForFile(includeFile, includePaths, file); if (includeArgument.isEmpty()) { clangDebug() << "unable to create include argument for" << includeFile << "in" << file.toLocalFile(); } includeArguments << includeArgument; } if (includeArguments.isEmpty()) { return {}; } std::sort(includeArguments.begin(), includeArguments.end(), [](const QString& lhs, const QString& rhs) { return lhs.length() < rhs.length(); }); return includeArguments.at(0); } template void addVariables(QVariantHash* variables, QLatin1String suffix, const Map& map) { for (auto it = map.begin(), end = map.end(); it != end; ++it) { variables->insert(it.key() + suffix, CodeDescription::toVariantList(it.value())); } } } QVariantHash ClangTemplateNewClass::extraVariables() const { QVariantHash variables; const QString publicAccess = QStringLiteral("public"); QHash variableDescriptions; QHash functionDescriptions; QHash slotDescriptions; FunctionDescriptionList signalDescriptions; const auto desc = description(); for (const auto& function : desc.methods) { const QString& access = function.access.isEmpty() ? publicAccess : function.access; if (function.isSignal) { signalDescriptions << function; } else if (function.isSlot) { slotDescriptions[access] << function; } else { functionDescriptions[access] << function; } } for (const auto& variable : desc.members) { const QString& access = variable.access.isEmpty() ? publicAccess : variable.access; variableDescriptions[access] << variable; } ::addVariables(&variables, QLatin1String("_members"), variableDescriptions); ::addVariables(&variables, QLatin1String("_functions"), functionDescriptions); ::addVariables(&variables, QLatin1String("_slots"), slotDescriptions); variables[QStringLiteral("signals")] = CodeDescription::toVariantList(signalDescriptions); variables[QStringLiteral("needs_qobject_macro")] = !slotDescriptions.isEmpty() || !signalDescriptions.isEmpty(); QStringList includedFiles; DUChainReadLocker locker(DUChain::lock()); QUrl sourceUrl; const auto urls = fileUrls(); if (!urls.isEmpty()) { sourceUrl = urls.constBegin().value(); } else { // includeDirectiveArgumentFromPath() expects a path to the folder where includes are used from sourceUrl = baseUrl(); sourceUrl.setPath(sourceUrl.path() + QLatin1String("/.h")); } const Path sourcePath(sourceUrl); for (const auto& baseClass : directBaseClasses()) { if (!baseClass) { continue; } clangDebug() << "Looking for includes for class" << baseClass->identifier().toString(); const QString includeDirective = includeDirectiveArgumentFromPath(sourcePath, baseClass); if (!includeDirective.isEmpty()) { includedFiles << includeDirective; } } variables[QStringLiteral("included_files")] = includedFiles; return variables; } DocumentChangeSet ClangTemplateNewClass::generate() { addVariables(extraVariables()); return TemplateClassGenerator::generate(); } diff --git a/languages/clang/codegen/clangclasshelper.h b/plugins/clang/codegen/clangclasshelper.h similarity index 100% rename from languages/clang/codegen/clangclasshelper.h rename to plugins/clang/codegen/clangclasshelper.h diff --git a/languages/clang/codegen/clangrefactoring.cpp b/plugins/clang/codegen/clangrefactoring.cpp similarity index 100% rename from languages/clang/codegen/clangrefactoring.cpp rename to plugins/clang/codegen/clangrefactoring.cpp diff --git a/languages/clang/codegen/clangrefactoring.h b/plugins/clang/codegen/clangrefactoring.h similarity index 100% rename from languages/clang/codegen/clangrefactoring.h rename to plugins/clang/codegen/clangrefactoring.h diff --git a/languages/clang/codegen/codegenexport.h b/plugins/clang/codegen/codegenexport.h similarity index 100% rename from languages/clang/codegen/codegenexport.h rename to plugins/clang/codegen/codegenexport.h diff --git a/languages/clang/codegen/codegenhelper.cpp b/plugins/clang/codegen/codegenhelper.cpp similarity index 100% rename from languages/clang/codegen/codegenhelper.cpp rename to plugins/clang/codegen/codegenhelper.cpp diff --git a/languages/clang/codegen/codegenhelper.h b/plugins/clang/codegen/codegenhelper.h similarity index 100% rename from languages/clang/codegen/codegenhelper.h rename to plugins/clang/codegen/codegenhelper.h diff --git a/languages/clang/codegen/sourcemanipulation.cpp b/plugins/clang/codegen/sourcemanipulation.cpp similarity index 100% rename from languages/clang/codegen/sourcemanipulation.cpp rename to plugins/clang/codegen/sourcemanipulation.cpp diff --git a/languages/clang/codegen/sourcemanipulation.h b/plugins/clang/codegen/sourcemanipulation.h similarity index 100% rename from languages/clang/codegen/sourcemanipulation.h rename to plugins/clang/codegen/sourcemanipulation.h diff --git a/languages/clang/duchain/builder.cpp b/plugins/clang/duchain/builder.cpp similarity index 100% rename from languages/clang/duchain/builder.cpp rename to plugins/clang/duchain/builder.cpp diff --git a/languages/clang/duchain/builder.h b/plugins/clang/duchain/builder.h similarity index 100% rename from languages/clang/duchain/builder.h rename to plugins/clang/duchain/builder.h diff --git a/languages/clang/duchain/clangdiagnosticevaluator.cpp b/plugins/clang/duchain/clangdiagnosticevaluator.cpp similarity index 100% rename from languages/clang/duchain/clangdiagnosticevaluator.cpp rename to plugins/clang/duchain/clangdiagnosticevaluator.cpp diff --git a/languages/clang/duchain/clangdiagnosticevaluator.h b/plugins/clang/duchain/clangdiagnosticevaluator.h similarity index 100% rename from languages/clang/duchain/clangdiagnosticevaluator.h rename to plugins/clang/duchain/clangdiagnosticevaluator.h diff --git a/languages/clang/duchain/clangducontext.cpp b/plugins/clang/duchain/clangducontext.cpp similarity index 100% rename from languages/clang/duchain/clangducontext.cpp rename to plugins/clang/duchain/clangducontext.cpp diff --git a/languages/clang/duchain/clangducontext.h b/plugins/clang/duchain/clangducontext.h similarity index 100% rename from languages/clang/duchain/clangducontext.h rename to plugins/clang/duchain/clangducontext.h diff --git a/languages/clang/duchain/clanghelpers.cpp b/plugins/clang/duchain/clanghelpers.cpp similarity index 100% rename from languages/clang/duchain/clanghelpers.cpp rename to plugins/clang/duchain/clanghelpers.cpp diff --git a/languages/clang/duchain/clanghelpers.h b/plugins/clang/duchain/clanghelpers.h similarity index 100% rename from languages/clang/duchain/clanghelpers.h rename to plugins/clang/duchain/clanghelpers.h diff --git a/languages/clang/duchain/clangindex.cpp b/plugins/clang/duchain/clangindex.cpp similarity index 100% rename from languages/clang/duchain/clangindex.cpp rename to plugins/clang/duchain/clangindex.cpp diff --git a/languages/clang/duchain/clangindex.h b/plugins/clang/duchain/clangindex.h similarity index 100% rename from languages/clang/duchain/clangindex.h rename to plugins/clang/duchain/clangindex.h diff --git a/languages/clang/duchain/clangparsingenvironment.cpp b/plugins/clang/duchain/clangparsingenvironment.cpp similarity index 100% rename from languages/clang/duchain/clangparsingenvironment.cpp rename to plugins/clang/duchain/clangparsingenvironment.cpp diff --git a/languages/clang/duchain/clangparsingenvironment.h b/plugins/clang/duchain/clangparsingenvironment.h similarity index 100% rename from languages/clang/duchain/clangparsingenvironment.h rename to plugins/clang/duchain/clangparsingenvironment.h diff --git a/languages/clang/duchain/clangparsingenvironmentfile.cpp b/plugins/clang/duchain/clangparsingenvironmentfile.cpp similarity index 100% rename from languages/clang/duchain/clangparsingenvironmentfile.cpp rename to plugins/clang/duchain/clangparsingenvironmentfile.cpp diff --git a/languages/clang/duchain/clangparsingenvironmentfile.h b/plugins/clang/duchain/clangparsingenvironmentfile.h similarity index 100% rename from languages/clang/duchain/clangparsingenvironmentfile.h rename to plugins/clang/duchain/clangparsingenvironmentfile.h diff --git a/languages/clang/duchain/clangpch.cpp b/plugins/clang/duchain/clangpch.cpp similarity index 100% rename from languages/clang/duchain/clangpch.cpp rename to plugins/clang/duchain/clangpch.cpp diff --git a/languages/clang/duchain/clangpch.h b/plugins/clang/duchain/clangpch.h similarity index 100% rename from languages/clang/duchain/clangpch.h rename to plugins/clang/duchain/clangpch.h diff --git a/languages/clang/duchain/clangproblem.cpp b/plugins/clang/duchain/clangproblem.cpp similarity index 100% rename from languages/clang/duchain/clangproblem.cpp rename to plugins/clang/duchain/clangproblem.cpp diff --git a/languages/clang/duchain/clangproblem.h b/plugins/clang/duchain/clangproblem.h similarity index 100% rename from languages/clang/duchain/clangproblem.h rename to plugins/clang/duchain/clangproblem.h diff --git a/languages/clang/duchain/cursorkindtraits.h b/plugins/clang/duchain/cursorkindtraits.h similarity index 100% rename from languages/clang/duchain/cursorkindtraits.h rename to plugins/clang/duchain/cursorkindtraits.h diff --git a/languages/clang/duchain/debugvisitor.cpp b/plugins/clang/duchain/debugvisitor.cpp similarity index 100% rename from languages/clang/duchain/debugvisitor.cpp rename to plugins/clang/duchain/debugvisitor.cpp diff --git a/languages/clang/duchain/debugvisitor.h b/plugins/clang/duchain/debugvisitor.h similarity index 100% rename from languages/clang/duchain/debugvisitor.h rename to plugins/clang/duchain/debugvisitor.h diff --git a/languages/clang/duchain/documentfinderhelpers.cpp b/plugins/clang/duchain/documentfinderhelpers.cpp similarity index 100% rename from languages/clang/duchain/documentfinderhelpers.cpp rename to plugins/clang/duchain/documentfinderhelpers.cpp diff --git a/languages/clang/duchain/documentfinderhelpers.h b/plugins/clang/duchain/documentfinderhelpers.h similarity index 100% rename from languages/clang/duchain/documentfinderhelpers.h rename to plugins/clang/duchain/documentfinderhelpers.h diff --git a/languages/clang/duchain/duchainutils.cpp b/plugins/clang/duchain/duchainutils.cpp similarity index 100% rename from languages/clang/duchain/duchainutils.cpp rename to plugins/clang/duchain/duchainutils.cpp diff --git a/languages/clang/duchain/duchainutils.h b/plugins/clang/duchain/duchainutils.h similarity index 100% rename from languages/clang/duchain/duchainutils.h rename to plugins/clang/duchain/duchainutils.h diff --git a/languages/clang/duchain/gcc_compat.h b/plugins/clang/duchain/gcc_compat.h similarity index 100% rename from languages/clang/duchain/gcc_compat.h rename to plugins/clang/duchain/gcc_compat.h diff --git a/languages/clang/duchain/macrodefinition.cpp b/plugins/clang/duchain/macrodefinition.cpp similarity index 100% rename from languages/clang/duchain/macrodefinition.cpp rename to plugins/clang/duchain/macrodefinition.cpp diff --git a/languages/clang/duchain/macrodefinition.h b/plugins/clang/duchain/macrodefinition.h similarity index 100% rename from languages/clang/duchain/macrodefinition.h rename to plugins/clang/duchain/macrodefinition.h diff --git a/languages/clang/duchain/macronavigationcontext.cpp b/plugins/clang/duchain/macronavigationcontext.cpp similarity index 100% rename from languages/clang/duchain/macronavigationcontext.cpp rename to plugins/clang/duchain/macronavigationcontext.cpp diff --git a/languages/clang/duchain/macronavigationcontext.h b/plugins/clang/duchain/macronavigationcontext.h similarity index 100% rename from languages/clang/duchain/macronavigationcontext.h rename to plugins/clang/duchain/macronavigationcontext.h diff --git a/languages/clang/duchain/missingincludepathproblem.cpp b/plugins/clang/duchain/missingincludepathproblem.cpp similarity index 97% rename from languages/clang/duchain/missingincludepathproblem.cpp rename to plugins/clang/duchain/missingincludepathproblem.cpp index f38f80e381..7d648e88fb 100644 --- a/languages/clang/duchain/missingincludepathproblem.cpp +++ b/plugins/clang/duchain/missingincludepathproblem.cpp @@ -1,116 +1,116 @@ /* * This file is part of KDevelop * * Copyright 2014 Sergey Kalinichev * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "missingincludepathproblem.h" #include #include #include -#include +#include #include namespace { void openConfigurationPage(const QString& path) { KDevelop::IDefinesAndIncludesManager::manager()->openConfigurationDialog(path); } } class AddCustomIncludePathAction : public KDevelop::IAssistantAction { Q_OBJECT public: explicit AddCustomIncludePathAction(const KDevelop::IndexedString& path) : m_path(path) {} QString description() const override { return i18n("Add Custom Include Path"); } void execute() override { openConfigurationPage(m_path.str()); emit executed(this); } private: KDevelop::IndexedString m_path; }; class OpenProjectForFileAssistant : public KDevelop::IAssistantAction { public: explicit OpenProjectForFileAssistant(const KDevelop::IndexedString& path) : m_path(path) {} QString description() const override { return i18n("Open Project"); }; void execute() override { KDevelop::ICore::self()->projectController()->openProjectForUrl(m_path.toUrl()); emit executed(this); } private: KDevelop::IndexedString m_path; }; class MissingIncludePathAssistant : public ClangFixitAssistant { public: MissingIncludePathAssistant(const QString& title, const KDevelop::IndexedString& path) : ClangFixitAssistant(title, {}) , m_path(path) {} void createActions() override { auto project = KDevelop::ICore::self()->projectController()->findProjectForUrl(m_path.toUrl()); if (!project) { addAction(KDevelop::IAssistantAction::Ptr(new OpenProjectForFileAssistant(m_path))); } addAction(KDevelop::IAssistantAction::Ptr(new AddCustomIncludePathAction(m_path))); } private: KDevelop::IndexedString m_path; }; MissingIncludePathProblem::MissingIncludePathProblem(CXDiagnostic diagnostic, CXTranslationUnit unit) : ClangProblem(diagnostic, unit) {} KDevelop::IAssistant::Ptr MissingIncludePathProblem::solutionAssistant() const { return KDevelop::IAssistant::Ptr(new MissingIncludePathAssistant(description(), finalLocation().document)); } #include "missingincludepathproblem.moc" diff --git a/languages/clang/duchain/missingincludepathproblem.h b/plugins/clang/duchain/missingincludepathproblem.h similarity index 100% rename from languages/clang/duchain/missingincludepathproblem.h rename to plugins/clang/duchain/missingincludepathproblem.h diff --git a/languages/clang/duchain/navigationwidget.cpp b/plugins/clang/duchain/navigationwidget.cpp similarity index 100% rename from languages/clang/duchain/navigationwidget.cpp rename to plugins/clang/duchain/navigationwidget.cpp diff --git a/languages/clang/duchain/navigationwidget.h b/plugins/clang/duchain/navigationwidget.h similarity index 100% rename from languages/clang/duchain/navigationwidget.h rename to plugins/clang/duchain/navigationwidget.h diff --git a/languages/clang/duchain/parsesession.cpp b/plugins/clang/duchain/parsesession.cpp similarity index 100% rename from languages/clang/duchain/parsesession.cpp rename to plugins/clang/duchain/parsesession.cpp diff --git a/languages/clang/duchain/parsesession.h b/plugins/clang/duchain/parsesession.h similarity index 100% rename from languages/clang/duchain/parsesession.h rename to plugins/clang/duchain/parsesession.h diff --git a/languages/clang/duchain/templatehelpers.h b/plugins/clang/duchain/templatehelpers.h similarity index 100% rename from languages/clang/duchain/templatehelpers.h rename to plugins/clang/duchain/templatehelpers.h diff --git a/languages/clang/duchain/todoextractor.cpp b/plugins/clang/duchain/todoextractor.cpp similarity index 100% rename from languages/clang/duchain/todoextractor.cpp rename to plugins/clang/duchain/todoextractor.cpp diff --git a/languages/clang/duchain/todoextractor.h b/plugins/clang/duchain/todoextractor.h similarity index 100% rename from languages/clang/duchain/todoextractor.h rename to plugins/clang/duchain/todoextractor.h diff --git a/languages/clang/duchain/types/classspecializationtype.cpp b/plugins/clang/duchain/types/classspecializationtype.cpp similarity index 100% rename from languages/clang/duchain/types/classspecializationtype.cpp rename to plugins/clang/duchain/types/classspecializationtype.cpp diff --git a/languages/clang/duchain/types/classspecializationtype.h b/plugins/clang/duchain/types/classspecializationtype.h similarity index 100% rename from languages/clang/duchain/types/classspecializationtype.h rename to plugins/clang/duchain/types/classspecializationtype.h diff --git a/languages/clang/duchain/unknowndeclarationproblem.cpp b/plugins/clang/duchain/unknowndeclarationproblem.cpp similarity index 99% rename from languages/clang/duchain/unknowndeclarationproblem.cpp rename to plugins/clang/duchain/unknowndeclarationproblem.cpp index b47a6ed378..9f27d335e5 100644 --- a/languages/clang/duchain/unknowndeclarationproblem.cpp +++ b/plugins/clang/duchain/unknowndeclarationproblem.cpp @@ -1,557 +1,557 @@ /* * Copyright 2014 Jørgen Kvalsvik * Copyright 2014 Kevin Funk * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License or (at your option) version 3 or any later version * accepted by the membership of KDE e.V. (or its successor approved * by the membership of KDE e.V.), which shall act as a proxy * defined in Section 14 of version 3 of the license. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include "unknowndeclarationproblem.h" #include "clanghelpers.h" #include "parsesession.h" #include "../util/clangdebug.h" #include "../util/clangutils.h" #include "../util/clangtypes.h" #include "../clangsettings/clangsettingsmanager.h" #include #include #include #include #include #include #include #include #include #include -#include +#include #include #include #include #include #include #include using namespace KDevelop; namespace { /** Under some conditions, such as when looking up suggestions * for the undeclared namespace 'std' we will get an awful lot * of suggestions. This parameter limits how many suggestions * will pop up, as rarely more than a few will be relevant anyways * * Forward declaration suggestions are included in this number */ const int maxSuggestions = 5; /** * We don't want anything from the bits directory - * we'd rather prefer forwarding includes, such as */ bool isBlacklisted(const QString& path) { if (ClangHelpers::isSource(path)) return true; // Do not allow including directly from the bits directory. // Instead use one of the forwarding headers in other directories, when possible. if (path.contains( QLatin1String("bits") ) && path.contains(QLatin1String("/include/c++/"))) return true; return false; } QStringList scanIncludePaths( const QString& identifier, const QDir& dir, int maxDepth = 3 ) { if (!maxDepth) { return {}; } QStringList candidates; const auto path = dir.absolutePath(); if( isBlacklisted( path ) ) { return {}; } const QStringList nameFilters = {identifier, identifier + QLatin1String(".*")}; for (const auto& file : dir.entryList(nameFilters, QDir::Files)) { if (identifier.compare(file, Qt::CaseInsensitive) == 0 || ClangHelpers::isHeader(file)) { const QString filePath = path + QLatin1Char('/') + file; clangDebug() << "Found candidate file" << filePath; candidates.append( filePath ); } } maxDepth--; for( const auto& subdir : dir.entryList( QDir::Dirs | QDir::NoDotAndDotDot ) ) candidates += scanIncludePaths( identifier, QDir{ path + QLatin1Char('/') + subdir }, maxDepth ); return candidates; } /** * Find files in dir that match the given identifier. Matches common C++ header file extensions only. */ QStringList scanIncludePaths( const QualifiedIdentifier& identifier, const KDevelop::Path::List& includes ) { const auto stripped_identifier = identifier.last().toString(); QStringList candidates; for( const auto& include : includes ) { candidates += scanIncludePaths( stripped_identifier, QDir{ include.toLocalFile() } ); } std::sort( candidates.begin(), candidates.end() ); candidates.erase( std::unique( candidates.begin(), candidates.end() ), candidates.end() ); return candidates; } /** * Determine how much path is shared between two includes. * boost/tr1/unordered_map * boost/tr1/unordered_set * have a shared path of 2 where * boost/tr1/unordered_map * boost/vector * have a shared path of 1 */ int sharedPathLevel(const QString& a, const QString& b) { int shared = -1; for(auto x = a.begin(), y = b.begin(); *x == *y && x != a.end() && y != b.end() ; ++x, ++y ) { if( *x == QDir::separator() ) { ++shared; } } return shared; } /** * Try to find a proper include position from the DUChain: * * look at existing imports (i.e. #include's) and find a fitting * file with the same/similar path to the new include file and use that * * TODO: Implement a fallback scheme */ KDevelop::DocumentRange includeDirectivePosition(const KDevelop::Path& source, const QString& includeFile) { static const QRegularExpression mocFilenameExpression(QStringLiteral("(moc_[^\\/\\\\]+\\.cpp$|\\.moc$)") ); DUChainReadLocker lock; const TopDUContext* top = DUChainUtils::standardContextForUrl( source.toUrl() ); if( !top ) { clangDebug() << "unable to find standard context for" << source.toLocalFile() << "Creating null range"; return KDevelop::DocumentRange::invalid(); } int line = -1; // look at existing #include statements and re-use them int currentMatchQuality = -1; for( const auto& import : top->importedParentContexts() ) { const auto importFilename = import.context(top)->url().str(); const int matchQuality = sharedPathLevel( importFilename , includeFile ); if( matchQuality < currentMatchQuality ) { continue; } const auto match = mocFilenameExpression.match(importFilename); if (match.hasMatch()) { clangDebug() << "moc file detected in" << source.toUrl().toDisplayString() << ":" << importFilename << "-- not using as include insertion location"; continue; } line = import.position.line + 1; currentMatchQuality = matchQuality; } if( line == -1 ) { /* Insert at the top of the document */ return {IndexedString(source.pathOrUrl()), {0, 0, 0, 0}}; } return {IndexedString(source.pathOrUrl()), {line, 0, line, 0}}; } KDevelop::DocumentRange forwardDeclarationPosition(const QualifiedIdentifier& identifier, const KDevelop::Path& source) { DUChainReadLocker lock; const TopDUContext* top = DUChainUtils::standardContextForUrl( source.toUrl() ); if( !top ) { clangDebug() << "unable to find standard context for" << source.toLocalFile() << "Creating null range"; return KDevelop::DocumentRange::invalid(); } if (!top->findDeclarations(identifier).isEmpty()) { // Already forward-declared return KDevelop::DocumentRange::invalid(); } int line = std::numeric_limits< int >::max(); for( const auto decl : top->localDeclarations() ) { line = std::min( line, decl->range().start.line ); } if( line == std::numeric_limits< int >::max() ) { return KDevelop::DocumentRange::invalid(); } // We want it one line above the first declaration line = std::max( line - 1, 0 ); return {IndexedString(source.pathOrUrl()), {line, 0, line, 0}}; } /** * Iteratively build all levels of the current scope. A (missing) type anywhere * can be arbitrarily namespaced, so we create the permutations of possible * nestings of namespaces it can currently be in, * * TODO: add detection of namespace aliases, such as 'using namespace KDevelop;' * * namespace foo { * namespace bar { * function baz() { * type var; * } * } * } * * Would give: * foo::bar::baz::type * foo::bar::type * foo::type * type */ QVector findPossibleQualifiedIdentifiers( const QualifiedIdentifier& identifier, const KDevelop::Path& file, const KDevelop::CursorInRevision& cursor ) { DUChainReadLocker lock; const TopDUContext* top = DUChainUtils::standardContextForUrl( file.toUrl() ); if( !top ) { clangDebug() << "unable to find standard context for" << file.toLocalFile() << "Not creating duchain candidates"; return {}; } const auto* context = top->findContextAt( cursor ); if( !context ) { clangDebug() << "No context found at" << cursor; return {}; } QVector declarations{ identifier }; for( auto scopes = context->scopeIdentifier(); !scopes.isEmpty(); scopes.pop() ) { declarations.append( scopes + identifier ); } clangDebug() << "Possible declarations:" << declarations; return declarations; } } QStringList UnknownDeclarationProblem::findMatchingIncludeFiles(const QVector& declarations) { DUChainReadLocker lock; QStringList candidates; for (const auto decl: declarations) { // skip declarations that don't belong to us const auto& file = decl->topContext()->parsingEnvironmentFile(); if (!file || file->language() != ParseSession::languageString()) { continue; } if( dynamic_cast( decl ) ) { continue; } if( decl->isForwardDeclaration() ) { continue; } const auto filepath = decl->url().toUrl().toLocalFile(); if( !isBlacklisted( filepath ) ) { candidates << filepath; clangDebug() << "Adding" << filepath << "determined from candidate" << decl->toString(); } for( const auto importer : file->importers() ) { if( importer->imports().count() != 1 && !isBlacklisted( filepath ) ) { continue; } if( importer->topContext()->localDeclarations().count() ) { continue; } const auto filePath = importer->url().toUrl().toLocalFile(); if( isBlacklisted( filePath ) ) { continue; } /* This file is a forwarder, such as * does not actually implement the functions, but include other headers that do * we prefer this to other headers */ candidates << filePath; clangDebug() << "Adding forwarder file" << filePath << "to the result set"; } } std::sort( candidates.begin(), candidates.end() ); candidates.erase( std::unique( candidates.begin(), candidates.end() ), candidates.end() ); clangDebug() << "Candidates: " << candidates; return candidates; } namespace { /** * Takes a filepath and the include paths and determines what directive to use. */ ClangFixit directiveForFile( const QString& includefile, const KDevelop::Path::List& includepaths, const KDevelop::Path& source ) { const auto sourceFolder = source.parent(); const Path canonicalFile( QFileInfo( includefile ).canonicalFilePath() ); QString shortestDirective; bool isRelative = false; // we can include the file directly if (sourceFolder == canonicalFile.parent()) { shortestDirective = canonicalFile.lastPathSegment(); isRelative = true; } else { // find the include directive with the shortest length for( const auto& includePath : includepaths ) { QString relative = includePath.relativePath( canonicalFile ); if( relative.startsWith( QLatin1String("./") ) ) relative = relative.mid( 2 ); if( shortestDirective.isEmpty() || relative.length() < shortestDirective.length() ) { shortestDirective = relative; isRelative = includePath == sourceFolder; } } } if( shortestDirective.isEmpty() ) { // Item not found in include path return {}; } const auto range = DocumentRange(IndexedString(source.pathOrUrl()), includeDirectivePosition(source, canonicalFile.lastPathSegment())); if( !range.isValid() ) { clangDebug() << "unable to determine valid position for" << includefile << "in" << source.pathOrUrl(); return {}; } QString directive; if( isRelative ) { directive = QStringLiteral("#include \"%1\"").arg(shortestDirective); } else { directive = QStringLiteral("#include <%1>").arg(shortestDirective); } return ClangFixit{directive + QLatin1Char('\n'), range, i18n("Insert \'%1\'", directive)}; } KDevelop::Path::List includePaths( const KDevelop::Path& file ) { // Find project's custom include paths const auto source = file.toLocalFile(); const auto item = ICore::self()->projectController()->projectModel()->itemForPath( KDevelop::IndexedString( source ) ); return IDefinesAndIncludesManager::manager()->includes(item); } /** * Return a list of header files viable for inclusions. All elements will be unique */ QStringList includeFiles(const QualifiedIdentifier& identifier, const QVector& declarations, const KDevelop::Path& file) { const auto includes = includePaths( file ); if( includes.isEmpty() ) { clangDebug() << "Include path is empty"; return {}; } const auto candidates = UnknownDeclarationProblem::findMatchingIncludeFiles(declarations); if( !candidates.isEmpty() ) { // If we find a candidate from the duchain we don't bother scanning the include paths return candidates; } return scanIncludePaths(identifier, includes); } /** * Construct viable forward declarations for the type name. */ ClangFixits forwardDeclarations(const QVector& matchingDeclarations, const Path& source) { DUChainReadLocker lock; ClangFixits fixits; for (const auto decl : matchingDeclarations) { const auto qid = decl->qualifiedIdentifier(); if (qid.count() > 1) { // TODO: Currently we're not able to determine what is namespaces, class names etc // and makes a suitable forward declaration, so just suggest "vanilla" declarations. continue; } const auto range = forwardDeclarationPosition(qid, source); if (!range.isValid()) { continue; // do not know where to insert } if (const auto classDecl = dynamic_cast(decl)) { const auto name = qid.last().toString(); switch (classDecl->classType()) { case ClassDeclarationData::Class: fixits += { QLatin1String("class ") + name + QLatin1String(";\n"), range, i18n("Forward declare as 'class'") }; break; case ClassDeclarationData::Struct: fixits += { QLatin1String("struct ") + name + QLatin1String(";\n"), range, i18n("Forward declare as 'struct'") }; break; default: break; } } } return fixits; } /** * Search the persistent symbol table for matching declarations for identifiers @p identifiers */ QVector findMatchingDeclarations(const QVector& identifiers) { DUChainReadLocker lock; QVector matchingDeclarations; matchingDeclarations.reserve(identifiers.size()); for (const auto& declaration : identifiers) { clangDebug() << "Considering candidate declaration" << declaration; const IndexedDeclaration* declarations; uint declarationCount; PersistentSymbolTable::self().declarations( declaration , declarationCount, declarations ); for (uint i = 0; i < declarationCount; ++i) { // Skip if the declaration is invalid or if it is an alias declaration - // we want the actual declaration (and its file) if (auto decl = declarations[i].declaration()) { matchingDeclarations << decl; } } } return matchingDeclarations; } ClangFixits fixUnknownDeclaration( const QualifiedIdentifier& identifier, const KDevelop::Path& file, const KDevelop::DocumentRange& docrange ) { ClangFixits fixits; const CursorInRevision cursor{docrange.start().line(), docrange.start().column()}; const auto possibleIdentifiers = findPossibleQualifiedIdentifiers(identifier, file, cursor); const auto matchingDeclarations = findMatchingDeclarations(possibleIdentifiers); if (ClangSettingsManager::self()->assistantsSettings().forwardDeclare) { for (const auto& fixit : forwardDeclarations(matchingDeclarations, file)) { fixits << fixit; if (fixits.size() == maxSuggestions) { return fixits; } } } const auto includefiles = includeFiles(identifier, matchingDeclarations, file); if (includefiles.isEmpty()) { // return early as the computation of the include paths is quite expensive return fixits; } const auto includepaths = includePaths( file ); clangDebug() << "found include paths for" << file << ":" << includepaths; /* create fixits for candidates */ for( const auto& includeFile : includefiles ) { const auto fixit = directiveForFile( includeFile, includepaths, file /* UP */ ); if (!fixit.range.isValid()) { clangDebug() << "unable to create directive for" << includeFile << "in" << file.toLocalFile(); continue; } fixits << fixit; if (fixits.size() == maxSuggestions) { return fixits; } } return fixits; } QString symbolFromDiagnosticSpelling(const QString& str) { /* in all error messages the symbol is in in the first pair of quotes */ const auto split = str.split( QLatin1Char('\'') ); auto symbol = split.value( 1 ); if( str.startsWith( QLatin1String("No member named") ) ) { symbol = split.value( 3 ) + QLatin1String("::") + split.value( 1 ); } return symbol; } } UnknownDeclarationProblem::UnknownDeclarationProblem(CXDiagnostic diagnostic, CXTranslationUnit unit) : ClangProblem(diagnostic, unit) { setSymbol(QualifiedIdentifier(symbolFromDiagnosticSpelling(description()))); } void UnknownDeclarationProblem::setSymbol(const QualifiedIdentifier& identifier) { m_identifier = identifier; } IAssistant::Ptr UnknownDeclarationProblem::solutionAssistant() const { const Path path(finalLocation().document.str()); const auto fixits = allFixits() + fixUnknownDeclaration(m_identifier, path, finalLocation()); return IAssistant::Ptr(new ClangFixitAssistant(fixits)); } diff --git a/languages/clang/duchain/unknowndeclarationproblem.h b/plugins/clang/duchain/unknowndeclarationproblem.h similarity index 100% rename from languages/clang/duchain/unknowndeclarationproblem.h rename to plugins/clang/duchain/unknowndeclarationproblem.h diff --git a/languages/clang/duchain/unsavedfile.cpp b/plugins/clang/duchain/unsavedfile.cpp similarity index 100% rename from languages/clang/duchain/unsavedfile.cpp rename to plugins/clang/duchain/unsavedfile.cpp diff --git a/languages/clang/duchain/unsavedfile.h b/plugins/clang/duchain/unsavedfile.h similarity index 100% rename from languages/clang/duchain/unsavedfile.h rename to plugins/clang/duchain/unsavedfile.h diff --git a/languages/clang/duchain/wrappedQtHeaders/QtCore/qobjectdefs.h b/plugins/clang/duchain/wrappedQtHeaders/QtCore/qobjectdefs.h similarity index 100% rename from languages/clang/duchain/wrappedQtHeaders/QtCore/qobjectdefs.h rename to plugins/clang/duchain/wrappedQtHeaders/QtCore/qobjectdefs.h diff --git a/languages/clang/kdevclang.xml b/plugins/clang/kdevclang.xml similarity index 100% rename from languages/clang/kdevclang.xml rename to plugins/clang/kdevclang.xml diff --git a/languages/clang/kdevclangsupport.json b/plugins/clang/kdevclangsupport.json similarity index 100% rename from languages/clang/kdevclangsupport.json rename to plugins/clang/kdevclangsupport.json diff --git a/languages/clang/kdevclangsupport.qrc b/plugins/clang/kdevclangsupport.qrc similarity index 100% rename from languages/clang/kdevclangsupport.qrc rename to plugins/clang/kdevclangsupport.qrc diff --git a/languages/clang/kdevclangsupport.rc b/plugins/clang/kdevclangsupport.rc similarity index 100% rename from languages/clang/kdevclangsupport.rc rename to plugins/clang/kdevclangsupport.rc diff --git a/languages/clang/tests/CMakeLists.txt b/plugins/clang/tests/CMakeLists.txt similarity index 98% rename from languages/clang/tests/CMakeLists.txt rename to plugins/clang/tests/CMakeLists.txt index 12770d716f..dd9321135b 100644 --- a/languages/clang/tests/CMakeLists.txt +++ b/plugins/clang/tests/CMakeLists.txt @@ -1,104 +1,105 @@ add_executable(clang-parser clang-parser.cpp ) target_link_libraries(clang-parser KDev::Tests KDevClangPrivate ) add_library(codecompletiontestbase STATIC codecompletiontestbase.cpp) target_link_libraries(codecompletiontestbase PUBLIC KDev::Tests Qt5::Test KDevClangPrivate ) add_executable(clang-minimal-visitor WIN32 minimal_visitor.cpp ) ecm_mark_nongui_executable(clang-minimal-visitor) target_link_libraries(clang-minimal-visitor ${CLANG_LIBCLANG_LIB} ) ecm_add_test(test_buddies.cpp TEST_NAME test_buddies-clang LINK_LIBRARIES KDev::Tests Qt5::Test ) ecm_add_test(test_codecompletion.cpp TEST_NAME test_codecompletion LINK_LIBRARIES codecompletiontestbase ) ecm_add_test(test_assistants.cpp TEST_NAME test_assistants LINK_LIBRARIES KDev::Tests Qt5::Test KDevClangPrivate ) ecm_add_test(test_clangutils.cpp TEST_NAME test_clangutils LINK_LIBRARIES KDev::Tests Qt5::Test ${CLANG_LIBCLANG_LIB} KDevClangPrivate ) ecm_add_test(test_duchain.cpp TEST_NAME test_duchain-clang LINK_LIBRARIES KDev::Tests Qt5::Test KDevClangPrivate + KDev::DefinesAndIncludesManager ) ecm_add_test(test_refactoring.cpp TEST_NAME test_refactoring-clang LINK_LIBRARIES KDev::Tests Qt5::Test KDevClangPrivate ) ecm_add_test(test_duchainutils.cpp TEST_NAME test_duchainutils LINK_LIBRARIES KDev::Tests Qt5::Test KDevClangPrivate ) ecm_add_test(test_problems.cpp TEST_NAME test_problems LINK_LIBRARIES KDev::Tests Qt5::Test KDevClangPrivate ) configure_file("testfilepaths.h.cmake" "testfilepaths.h" ESCAPE_QUOTES) ecm_add_test(test_files.cpp TEST_NAME test_files-clang LINK_LIBRARIES Qt5::Test Qt5::Core KDev::Language KDev::Tests ) if(NOT COMPILER_OPTIMIZATIONS_DISABLED) ecm_add_test(bench_codecompletion.cpp TEST_NAME bench_codecompletion LINK_LIBRARIES codecompletiontestbase ) set_tests_properties(bench_codecompletion PROPERTIES TIMEOUT 30) endif() diff --git a/languages/clang/tests/bench_codecompletion.cpp b/plugins/clang/tests/bench_codecompletion.cpp similarity index 100% rename from languages/clang/tests/bench_codecompletion.cpp rename to plugins/clang/tests/bench_codecompletion.cpp diff --git a/languages/clang/tests/bench_codecompletion.h b/plugins/clang/tests/bench_codecompletion.h similarity index 100% rename from languages/clang/tests/bench_codecompletion.h rename to plugins/clang/tests/bench_codecompletion.h diff --git a/languages/clang/tests/clang-parser.cpp b/plugins/clang/tests/clang-parser.cpp similarity index 100% rename from languages/clang/tests/clang-parser.cpp rename to plugins/clang/tests/clang-parser.cpp diff --git a/languages/clang/tests/codecompletiontestbase.cpp b/plugins/clang/tests/codecompletiontestbase.cpp similarity index 100% rename from languages/clang/tests/codecompletiontestbase.cpp rename to plugins/clang/tests/codecompletiontestbase.cpp diff --git a/languages/clang/tests/codecompletiontestbase.h b/plugins/clang/tests/codecompletiontestbase.h similarity index 100% rename from languages/clang/tests/codecompletiontestbase.h rename to plugins/clang/tests/codecompletiontestbase.h diff --git a/languages/clang/tests/files/basicdeclsandcontexts.cpp b/plugins/clang/tests/files/basicdeclsandcontexts.cpp similarity index 100% rename from languages/clang/tests/files/basicdeclsandcontexts.cpp rename to plugins/clang/tests/files/basicdeclsandcontexts.cpp diff --git a/languages/clang/tests/files/cuda.cu b/plugins/clang/tests/files/cuda.cu similarity index 100% rename from languages/clang/tests/files/cuda.cu rename to plugins/clang/tests/files/cuda.cu diff --git a/languages/clang/tests/files/defaultparameters.cpp b/plugins/clang/tests/files/defaultparameters.cpp similarity index 100% rename from languages/clang/tests/files/defaultparameters.cpp rename to plugins/clang/tests/files/defaultparameters.cpp diff --git a/languages/clang/tests/files/forwarddeclarations.cpp b/plugins/clang/tests/files/forwarddeclarations.cpp similarity index 100% rename from languages/clang/tests/files/forwarddeclarations.cpp rename to plugins/clang/tests/files/forwarddeclarations.cpp diff --git a/languages/clang/tests/files/friends.cpp b/plugins/clang/tests/files/friends.cpp similarity index 100% rename from languages/clang/tests/files/friends.cpp rename to plugins/clang/tests/files/friends.cpp diff --git a/languages/clang/tests/files/functiondefinitiondeclarations.cpp b/plugins/clang/tests/files/functiondefinitiondeclarations.cpp similarity index 100% rename from languages/clang/tests/files/functiondefinitiondeclarations.cpp rename to plugins/clang/tests/files/functiondefinitiondeclarations.cpp diff --git a/languages/clang/tests/files/functions.cpp b/plugins/clang/tests/files/functions.cpp similarity index 100% rename from languages/clang/tests/files/functions.cpp rename to plugins/clang/tests/files/functions.cpp diff --git a/languages/clang/tests/files/imports.cpp b/plugins/clang/tests/files/imports.cpp similarity index 100% rename from languages/clang/tests/files/imports.cpp rename to plugins/clang/tests/files/imports.cpp diff --git a/languages/clang/tests/files/includes.cpp b/plugins/clang/tests/files/includes.cpp similarity index 100% rename from languages/clang/tests/files/includes.cpp rename to plugins/clang/tests/files/includes.cpp diff --git a/languages/clang/tests/files/includes/bar.h b/plugins/clang/tests/files/includes/bar.h similarity index 100% rename from languages/clang/tests/files/includes/bar.h rename to plugins/clang/tests/files/includes/bar.h diff --git a/languages/clang/tests/files/includes/foo.h b/plugins/clang/tests/files/includes/foo.h similarity index 100% rename from languages/clang/tests/files/includes/foo.h rename to plugins/clang/tests/files/includes/foo.h diff --git a/languages/clang/tests/files/invalid.cpp b/plugins/clang/tests/files/invalid.cpp similarity index 100% rename from languages/clang/tests/files/invalid.cpp rename to plugins/clang/tests/files/invalid.cpp diff --git a/languages/clang/tests/files/macros.cpp b/plugins/clang/tests/files/macros.cpp similarity index 100% rename from languages/clang/tests/files/macros.cpp rename to plugins/clang/tests/files/macros.cpp diff --git a/languages/clang/tests/files/namespaces.cpp b/plugins/clang/tests/files/namespaces.cpp similarity index 100% rename from languages/clang/tests/files/namespaces.cpp rename to plugins/clang/tests/files/namespaces.cpp diff --git a/languages/clang/tests/files/operators.cpp b/plugins/clang/tests/files/operators.cpp similarity index 100% rename from languages/clang/tests/files/operators.cpp rename to plugins/clang/tests/files/operators.cpp diff --git a/languages/clang/tests/files/outofline.cpp b/plugins/clang/tests/files/outofline.cpp similarity index 100% rename from languages/clang/tests/files/outofline.cpp rename to plugins/clang/tests/files/outofline.cpp diff --git a/languages/clang/tests/files/purec.c b/plugins/clang/tests/files/purec.c similarity index 100% rename from languages/clang/tests/files/purec.c rename to plugins/clang/tests/files/purec.c diff --git a/languages/clang/tests/files/special.cpp b/plugins/clang/tests/files/special.cpp similarity index 100% rename from languages/clang/tests/files/special.cpp rename to plugins/clang/tests/files/special.cpp diff --git a/languages/clang/tests/files/templates.cpp b/plugins/clang/tests/files/templates.cpp similarity index 100% rename from languages/clang/tests/files/templates.cpp rename to plugins/clang/tests/files/templates.cpp diff --git a/languages/clang/tests/files/test.cl b/plugins/clang/tests/files/test.cl similarity index 100% rename from languages/clang/tests/files/test.cl rename to plugins/clang/tests/files/test.cl diff --git a/languages/clang/tests/files/types.cpp b/plugins/clang/tests/files/types.cpp similarity index 100% rename from languages/clang/tests/files/types.cpp rename to plugins/clang/tests/files/types.cpp diff --git a/languages/clang/tests/files/uses.cpp b/plugins/clang/tests/files/uses.cpp similarity index 100% rename from languages/clang/tests/files/uses.cpp rename to plugins/clang/tests/files/uses.cpp diff --git a/languages/clang/tests/files/variables.cpp b/plugins/clang/tests/files/variables.cpp similarity index 100% rename from languages/clang/tests/files/variables.cpp rename to plugins/clang/tests/files/variables.cpp diff --git a/languages/clang/tests/minimal_visitor.cpp b/plugins/clang/tests/minimal_visitor.cpp similarity index 100% rename from languages/clang/tests/minimal_visitor.cpp rename to plugins/clang/tests/minimal_visitor.cpp diff --git a/languages/clang/tests/test_assistants.cpp b/plugins/clang/tests/test_assistants.cpp similarity index 100% rename from languages/clang/tests/test_assistants.cpp rename to plugins/clang/tests/test_assistants.cpp diff --git a/languages/clang/tests/test_assistants.h b/plugins/clang/tests/test_assistants.h similarity index 100% rename from languages/clang/tests/test_assistants.h rename to plugins/clang/tests/test_assistants.h diff --git a/languages/clang/tests/test_buddies.cpp b/plugins/clang/tests/test_buddies.cpp similarity index 100% rename from languages/clang/tests/test_buddies.cpp rename to plugins/clang/tests/test_buddies.cpp diff --git a/languages/clang/tests/test_buddies.h b/plugins/clang/tests/test_buddies.h similarity index 100% rename from languages/clang/tests/test_buddies.h rename to plugins/clang/tests/test_buddies.h diff --git a/languages/clang/tests/test_clangutils.cpp b/plugins/clang/tests/test_clangutils.cpp similarity index 100% rename from languages/clang/tests/test_clangutils.cpp rename to plugins/clang/tests/test_clangutils.cpp diff --git a/languages/clang/tests/test_clangutils.h b/plugins/clang/tests/test_clangutils.h similarity index 100% rename from languages/clang/tests/test_clangutils.h rename to plugins/clang/tests/test_clangutils.h diff --git a/languages/clang/tests/test_codecompletion.cpp b/plugins/clang/tests/test_codecompletion.cpp similarity index 100% rename from languages/clang/tests/test_codecompletion.cpp rename to plugins/clang/tests/test_codecompletion.cpp diff --git a/languages/clang/tests/test_codecompletion.h b/plugins/clang/tests/test_codecompletion.h similarity index 100% rename from languages/clang/tests/test_codecompletion.h rename to plugins/clang/tests/test_codecompletion.h diff --git a/languages/clang/tests/test_duchain.cpp b/plugins/clang/tests/test_duchain.cpp similarity index 99% rename from languages/clang/tests/test_duchain.cpp rename to plugins/clang/tests/test_duchain.cpp index 2c75713296..657b386cba 100644 --- a/languages/clang/tests/test_duchain.cpp +++ b/plugins/clang/tests/test_duchain.cpp @@ -1,2024 +1,2024 @@ /* * Copyright 2014 Milian Wolff * Copyright 2014 Kevin Funk * Copyright 2015 Sergey Kalinichev * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License or (at your option) version 3 or any later version * accepted by the membership of KDE e.V. (or its successor approved * by the membership of KDE e.V.), which shall act as a proxy * defined in Section 14 of version 3 of the license. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "test_duchain.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "duchain/clangparsingenvironmentfile.h" #include "duchain/clangparsingenvironment.h" #include "duchain/parsesession.h" -#include +#include #include #include #include #include #include QTEST_MAIN(TestDUChain); using namespace KDevelop; class TestEnvironmentProvider final : public IDefinesAndIncludesManager::BackgroundProvider { public: ~TestEnvironmentProvider() override = default; QHash< QString, QString > definesInBackground(const QString& /*path*/) const override { return defines; } Path::List includesInBackground(const QString& /*path*/) const override { return includes; } Path::List frameworkDirectoriesInBackground(const QString&) const override { return {}; } IDefinesAndIncludesManager::Type type() const override { return IDefinesAndIncludesManager::UserDefined; } QHash defines; Path::List includes; }; TestDUChain::~TestDUChain() = default; void TestDUChain::initTestCase() { QLoggingCategory::setFilterRules(QStringLiteral("*.debug=false\ndefault.debug=true\nkdevelop.plugins.clang.debug=true\n")); QVERIFY(qputenv("KDEV_DISABLE_PLUGINS", "kdevcppsupport")); QVERIFY(qputenv("KDEV_CLANG_DISPLAY_DIAGS", "1")); AutoTestShell::init({QStringLiteral("kdevclangsupport")}); auto core = TestCore::initialize(); delete core->projectController(); m_projectController = new TestProjectController(core); core->setProjectController(m_projectController); } void TestDUChain::cleanupTestCase() { TestCore::shutdown(); } void TestDUChain::cleanup() { if (m_provider) { IDefinesAndIncludesManager::manager()->unregisterBackgroundProvider(m_provider.data()); } } void TestDUChain::init() { m_provider.reset(new TestEnvironmentProvider); IDefinesAndIncludesManager::manager()->registerBackgroundProvider(m_provider.data()); } struct ExpectedComment { QString identifier; QString comment; }; Q_DECLARE_METATYPE(ExpectedComment) Q_DECLARE_METATYPE(AbstractType::WhichType) void TestDUChain::testComments() { QFETCH(QString, code); QFETCH(ExpectedComment, expectedComment); TestFile file(code, QStringLiteral("cpp")); QVERIFY(file.parseAndWait()); DUChainReadLocker lock; auto top = file.topContext(); QVERIFY(top); auto candidates = top->findDeclarations(QualifiedIdentifier(expectedComment.identifier)); QVERIFY(!candidates.isEmpty()); auto decl = candidates.first(); QString comment = QString::fromLocal8Bit(decl->comment()); comment = KDevelop::htmlToPlainText(comment, KDevelop::CompleteMode); QCOMPARE(comment, expectedComment.comment); } void TestDUChain::testComments_data() { QTest::addColumn("code"); QTest::addColumn("expectedComment"); // note: Clang only retrieves the comments when in doxygen-style format (i.e. '///', '/**', '///<') QTest::newRow("invalid1") << "//this is foo\nint foo;" << ExpectedComment{"foo", QString()}; QTest::newRow("invalid2") << "/*this is foo*/\nint foo;" << ExpectedComment{"foo", QString()}; QTest::newRow("basic1") << "///this is foo\nint foo;" << ExpectedComment{"foo", "this is foo"}; QTest::newRow("basic2") << "/**this is foo*/\nint foo;" << ExpectedComment{"foo", "this is foo"}; QTest::newRow("enumerator") << "enum Foo { bar1, ///localDeclarations().size(), 2); auto decl = file.topContext()->localDeclarations()[1]; QVERIFY(decl); auto function = dynamic_cast(decl); QVERIFY(function); auto functionType = function->type(); QVERIFY(functionType); #if CINDEX_VERSION_MINOR < 34 QEXPECT_FAIL("namespace", "The ElaboratedType is not exposed through the libclang interface, not much we can do here", Abort); #endif QVERIFY(functionType->returnType()->whichType() != AbstractType::TypeDelayed); #if CINDEX_VERSION_MINOR < 34 QEXPECT_FAIL("typedef", "After using clang_getCanonicalType on ElaboratedType all typedef information get's stripped away", Continue); #endif QCOMPARE(functionType->returnType()->whichType(), type); } void TestDUChain::testElaboratedType_data() { QTest::addColumn("code"); QTest::addColumn("type"); QTest::newRow("namespace") << "namespace NS{struct Type{};} struct NS::Type foo();" << AbstractType::TypeStructure; QTest::newRow("enum") << "enum Enum{}; enum Enum foo();" << AbstractType::TypeEnumeration; QTest::newRow("typedef") << "namespace NS{typedef int type;} NS::type foo();" << AbstractType::TypeAlias; } void TestDUChain::testInclude() { TestFile header(QStringLiteral("int foo() { return 42; }\n"), QStringLiteral("h")); // NOTE: header is _not_ explicitly being parsed, instead the impl job does that TestFile impl("#include \"" + header.url().str() + "\"\n" "int main() { return foo(); }", QStringLiteral("cpp"), &header); impl.parse(TopDUContext::AllDeclarationsContextsAndUses); auto implCtx = impl.topContext(); QVERIFY(implCtx); DUChainReadLocker lock; QCOMPARE(implCtx->localDeclarations().size(), 1); auto headerCtx = DUChain::self()->chainForDocument(header.url()); QVERIFY(headerCtx); QVERIFY(!headerCtx->parsingEnvironmentFile()->needsUpdate()); QCOMPARE(headerCtx->localDeclarations().size(), 1); QVERIFY(implCtx->imports(headerCtx, CursorInRevision(0, 10))); Declaration* foo = headerCtx->localDeclarations().first(); QCOMPARE(foo->uses().size(), 1); QCOMPARE(foo->uses().begin().key(), impl.url()); QCOMPARE(foo->uses().begin()->size(), 1); QCOMPARE(foo->uses().begin()->first(), RangeInRevision(1, 20, 1, 23)); } void TestDUChain::testMissingInclude() { auto code = R"( #pragma once #include "missing1.h" template class A { T a; }; #include "missing2.h" class B : public A { }; )"; // NOTE: This fails and needs fixing. If the include of "missing2.h" // above is commented out, then it doesn't fail. Maybe // clang stops processing when it encounters the second missing // header, or similar. TestFile header(code, QStringLiteral("h")); TestFile impl("#include \"" + header.url().str() + "\"\n", QStringLiteral("cpp"), &header); QVERIFY(impl.parseAndWait(TopDUContext::AllDeclarationsContextsAndUses)); DUChainReadLocker lock; auto top = impl.topContext(); QVERIFY(top); QCOMPARE(top->importedParentContexts().count(), 1); TopDUContext* headerCtx = dynamic_cast(top->importedParentContexts().first().context(top)); QVERIFY(headerCtx); QCOMPARE(headerCtx->url(), header.url()); #if CINDEX_VERSION_MINOR < 34 QEXPECT_FAIL("", "Second missing header isn't reported", Continue); #endif QCOMPARE(headerCtx->problems().count(), 2); QCOMPARE(headerCtx->localDeclarations().count(), 2); auto a = dynamic_cast(headerCtx->localDeclarations().first()); QVERIFY(a); auto b = dynamic_cast(headerCtx->localDeclarations().last()); QVERIFY(b); #if CINDEX_VERSION_MINOR < 34 QEXPECT_FAIL("", "Base class isn't assigned correctly", Continue); #endif QCOMPARE(b->baseClassesSize(), 1u); #if CINDEX_VERSION_MINOR < 34 // at least the one problem we have should have been propagated QCOMPARE(top->problems().count(), 1); #else // two errors: // /tmp/testfile_f32415.h:3:10: error: 'missing1.h' file not found // /tmp/testfile_f32415.h:11:10: error: 'missing2.h' file not found QCOMPARE(top->problems().count(), 2); #endif } QByteArray createCode(const QByteArray& prefix, const int functions) { QByteArray code; code += "#ifndef " + prefix + "_H\n"; code += "#define " + prefix + "_H\n"; for (int i = 0; i < functions; ++i) { code += "void myFunc_" + prefix + "(int arg1, char arg2, const char* arg3);\n"; } code += "#endif\n"; return code; } void TestDUChain::testIncludeLocking() { TestFile header1(createCode("Header1", 1000), QStringLiteral("h")); TestFile header2(createCode("Header2", 1000), QStringLiteral("h")); TestFile header3(createCode("Header3", 1000), QStringLiteral("h")); ICore::self()->languageController()->backgroundParser()->setThreadCount(3); TestFile impl1("#include \"" + header1.url().str() + "\"\n" "#include \"" + header2.url().str() + "\"\n" "#include \"" + header3.url().str() + "\"\n" "int main() { return 0; }", QStringLiteral("cpp")); TestFile impl2("#include \"" + header2.url().str() + "\"\n" "#include \"" + header1.url().str() + "\"\n" "#include \"" + header3.url().str() + "\"\n" "int main() { return 0; }", QStringLiteral("cpp")); TestFile impl3("#include \"" + header3.url().str() + "\"\n" "#include \"" + header1.url().str() + "\"\n" "#include \"" + header2.url().str() + "\"\n" "int main() { return 0; }", QStringLiteral("cpp")); impl1.parse(TopDUContext::AllDeclarationsContextsAndUses); impl2.parse(TopDUContext::AllDeclarationsContextsAndUses); impl3.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(impl1.waitForParsed(5000)); QVERIFY(impl2.waitForParsed(5000)); QVERIFY(impl3.waitForParsed(5000)); DUChainReadLocker lock; QVERIFY(DUChain::self()->chainForDocument(header1.url())); QVERIFY(DUChain::self()->chainForDocument(header2.url())); QVERIFY(DUChain::self()->chainForDocument(header3.url())); } void TestDUChain::testReparse() { TestFile file(QStringLiteral("int main() { int i = 42; return i; }"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); DeclarationPointer mainDecl; DeclarationPointer iDecl; for (int i = 0; i < 3; ++i) { QVERIFY(file.waitForParsed(500)); DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->childContexts().size(), 1); QCOMPARE(file.topContext()->localDeclarations().size(), 1); DUContext *exprContext = file.topContext()->childContexts().first()->childContexts().first(); QCOMPARE(exprContext->localDeclarations().size(), 1); if (i) { QVERIFY(mainDecl); QCOMPARE(mainDecl.data(), file.topContext()->localDeclarations().first()); QVERIFY(iDecl); QCOMPARE(iDecl.data(), exprContext->localDeclarations().first()); } mainDecl = file.topContext()->localDeclarations().first(); iDecl = exprContext->localDeclarations().first(); QVERIFY(mainDecl->uses().isEmpty()); QCOMPARE(iDecl->uses().size(), 1); QCOMPARE(iDecl->uses().begin()->size(), 1); if (i == 1) { file.setFileContents(QStringLiteral("int main()\n{\nfloat i = 13; return i - 5;\n}\n")); } file.parse(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses | TopDUContext::ForceUpdateRecursive)); } } void TestDUChain::testReparseError() { TestFile file(QStringLiteral("int i = 1 / 0;\n"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); for (int i = 0; i < 2; ++i) { QVERIFY(file.waitForParsed(500)); DUChainReadLocker lock; QVERIFY(file.topContext()); if (!i) { QCOMPARE(file.topContext()->problems().size(), 1); file.setFileContents(QStringLiteral("int i = 0;\n")); } else { QCOMPARE(file.topContext()->problems().size(), 0); } file.parse(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses | TopDUContext::ForceUpdateRecursive)); } } void TestDUChain::testTemplate() { TestFile file("template struct foo { T bar; };\n" "int main() { foo myFoo; return myFoo.bar; }\n", QStringLiteral("cpp")); QVERIFY(file.parseAndWait()); DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->localDeclarations().size(), 2); auto fooDecl = file.topContext()->localDeclarations().first(); QVERIFY(fooDecl->internalContext()); QCOMPARE(fooDecl->internalContext()->localDeclarations().size(), 2); QCOMPARE(file.topContext()->findDeclarations(QualifiedIdentifier("foo< T >")).size(), 1); QCOMPARE(file.topContext()->findDeclarations(QualifiedIdentifier("foo< T >::bar")).size(), 1); auto mainCtx = file.topContext()->localDeclarations().last()->internalContext()->childContexts().first(); QVERIFY(mainCtx); auto myFoo = mainCtx->localDeclarations().first(); QVERIFY(myFoo); QCOMPARE(myFoo->abstractType()->toString().remove(' '), QStringLiteral("foo")); } void TestDUChain::testNamespace() { TestFile file("namespace foo { struct bar { int baz; }; }\n" "int main() { foo::bar myBar; }\n", QStringLiteral("cpp")); QVERIFY(file.parseAndWait()); DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->localDeclarations().size(), 2); auto fooDecl = file.topContext()->localDeclarations().first(); QVERIFY(fooDecl->internalContext()); QCOMPARE(fooDecl->internalContext()->localDeclarations().size(), 1); DUContext* top = file.topContext().data(); DUContext* mainCtx = file.topContext()->childContexts().last(); auto foo = top->localDeclarations().first(); QCOMPARE(foo->qualifiedIdentifier().toString(), QString("foo")); DUContext* fooCtx = file.topContext()->childContexts().first(); QCOMPARE(fooCtx->localScopeIdentifier().toString(), QString("foo")); QCOMPARE(fooCtx->scopeIdentifier(true).toString(), QString("foo")); QCOMPARE(fooCtx->localDeclarations().size(), 1); auto bar = fooCtx->localDeclarations().first(); QCOMPARE(bar->qualifiedIdentifier().toString(), QString("foo::bar")); QCOMPARE(fooCtx->childContexts().size(), 1); DUContext* barCtx = fooCtx->childContexts().first(); QCOMPARE(barCtx->localScopeIdentifier().toString(), QString("bar")); QCOMPARE(barCtx->scopeIdentifier(true).toString(), QString("foo::bar")); QCOMPARE(barCtx->localDeclarations().size(), 1); auto baz = barCtx->localDeclarations().first(); QCOMPARE(baz->qualifiedIdentifier().toString(), QString("foo::bar::baz")); for (auto ctx : {top, mainCtx}) { QCOMPARE(ctx->findDeclarations(QualifiedIdentifier("foo")).size(), 1); QCOMPARE(ctx->findDeclarations(QualifiedIdentifier("foo::bar")).size(), 1); QCOMPARE(ctx->findDeclarations(QualifiedIdentifier("foo::bar::baz")).size(), 1); } } void TestDUChain::testAutoTypeDeduction() { TestFile file(QStringLiteral(R"( const volatile auto foo = 5; template struct myTemplate {}; myTemplate& > templRefParam; auto autoTemplRefParam = templRefParam; )"), QStringLiteral("cpp")); QVERIFY(file.parseAndWait()); DUChainReadLocker lock; DUContext* ctx = file.topContext().data(); QVERIFY(ctx); QCOMPARE(ctx->localDeclarations().size(), 4); QCOMPARE(ctx->findDeclarations(QualifiedIdentifier("foo")).size(), 1); Declaration* decl = ctx->findDeclarations(QualifiedIdentifier(QStringLiteral("foo")))[0]; QCOMPARE(decl->identifier(), Identifier("foo")); #if CINDEX_VERSION_MINOR < 31 QEXPECT_FAIL("", "No type deduction here unfortunately, missing API in Clang", Continue); #endif QVERIFY(decl->type()); #if CINDEX_VERSION_MINOR < 31 QCOMPARE(decl->toString(), QStringLiteral("const volatile auto foo")); #else QCOMPARE(decl->toString(), QStringLiteral("const volatile int foo")); #endif decl = ctx->findDeclarations(QualifiedIdentifier(QStringLiteral("autoTemplRefParam")))[0]; QVERIFY(decl); QVERIFY(decl->abstractType()); #if CINDEX_VERSION_MINOR < 31 QEXPECT_FAIL("", "Auto type is not exposed via LibClang", Continue); #endif QCOMPARE(decl->abstractType()->toString(), QStringLiteral("myTemplate< myTemplate< int >& >")); } void TestDUChain::testTypeDeductionInTemplateInstantiation() { // see: http://clang-developers.42468.n3.nabble.com/RFC-missing-libclang-query-functions-features-td2504253.html TestFile file(QStringLiteral("template struct foo { T member; } foo f; auto i = f.member;"), QStringLiteral("cpp")); QVERIFY(file.parseAndWait()); DUChainReadLocker lock; DUContext* ctx = file.topContext().data(); QVERIFY(ctx); QCOMPARE(ctx->localDeclarations().size(), 3); Declaration* decl = nullptr; // check 'foo' declaration decl = ctx->localDeclarations()[0]; QVERIFY(decl); QCOMPARE(decl->identifier(), Identifier("foo< T >")); // check type of 'member' inside declaration-scope QCOMPARE(ctx->childContexts().size(), 1); DUContext* fooCtx = ctx->childContexts().first(); QVERIFY(fooCtx); // Should there really be two declarations? QCOMPARE(fooCtx->localDeclarations().size(), 2); decl = fooCtx->localDeclarations()[1]; QCOMPARE(decl->identifier(), Identifier("member")); // check type of 'member' in definition of 'f' decl = ctx->localDeclarations()[1]; QCOMPARE(decl->identifier(), Identifier("f")); decl = ctx->localDeclarations()[2]; QCOMPARE(decl->identifier(), Identifier("i")); #if CINDEX_VERSION_MINOR < 31 QEXPECT_FAIL("", "No type deduction here unfortunately, missing API in Clang", Continue); #endif QVERIFY(decl->type()); } void TestDUChain::testVirtualMemberFunction() { //Forward-declarations with "struct" or "class" are considered equal, so make sure the override is detected correctly. TestFile file(QStringLiteral("struct S {}; struct A { virtual S* ret(); }; struct B : public A { virtual S* ret(); };"), QStringLiteral("cpp")); QVERIFY(file.parseAndWait()); DUChainReadLocker lock; DUContext* top = file.topContext().data(); QVERIFY(top); QCOMPARE(top->childContexts().count(), 3); QCOMPARE(top->localDeclarations().count(), 3); QCOMPARE(top->childContexts()[2]->localDeclarations().count(), 1); Declaration* decl = top->childContexts()[2]->localDeclarations()[0]; QCOMPARE(decl->identifier(), Identifier("ret")); QVERIFY(DUChainUtils::getOverridden(decl)); } void TestDUChain::testBaseClasses() { TestFile file(QStringLiteral("class Base {}; class Inherited : public Base {};"), QStringLiteral("cpp")); QVERIFY(file.parseAndWait()); DUChainReadLocker lock; DUContext* top = file.topContext().data(); QVERIFY(top); QCOMPARE(top->localDeclarations().count(), 2); Declaration* baseDecl = top->localDeclarations().first(); QCOMPARE(baseDecl->identifier(), Identifier("Base")); ClassDeclaration* inheritedDecl = dynamic_cast(top->localDeclarations()[1]); QCOMPARE(inheritedDecl->identifier(), Identifier("Inherited")); QVERIFY(inheritedDecl); QCOMPARE(inheritedDecl->baseClassesSize(), 1u); QCOMPARE(baseDecl->uses().count(), 1); QCOMPARE(baseDecl->uses().first().count(), 1); QCOMPARE(baseDecl->uses().first().first(), RangeInRevision(0, 40, 0, 44)); } void TestDUChain::testReparseBaseClasses() { TestFile file(QStringLiteral("struct a{}; struct b : a {};\n"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); for (int i = 0; i < 2; ++i) { qDebug() << "run: " << i; QVERIFY(file.waitForParsed(500)); DUChainWriteLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->childContexts().size(), 2); QCOMPARE(file.topContext()->childContexts().first()->importers().size(), 1); QCOMPARE(file.topContext()->childContexts().last()->importedParentContexts().size(), 1); QCOMPARE(file.topContext()->localDeclarations().size(), 2); auto aDecl = dynamic_cast(file.topContext()->localDeclarations().first()); QVERIFY(aDecl); QCOMPARE(aDecl->baseClassesSize(), 0u); auto bDecl = dynamic_cast(file.topContext()->localDeclarations().last()); QVERIFY(bDecl); QCOMPARE(bDecl->baseClassesSize(), 1u); int distance = 0; QVERIFY(bDecl->isPublicBaseClass(aDecl, file.topContext(), &distance)); QCOMPARE(distance, 1); file.parse(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses | TopDUContext::ForceUpdateRecursive)); } } void TestDUChain::testReparseBaseClassesTemplates() { TestFile file(QStringLiteral("template struct a{}; struct b : a {};\n"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); for (int i = 0; i < 2; ++i) { qDebug() << "run: " << i; QVERIFY(file.waitForParsed(500)); DUChainWriteLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->childContexts().size(), 2); QCOMPARE(file.topContext()->childContexts().first()->importers().size(), 1); QCOMPARE(file.topContext()->childContexts().last()->importedParentContexts().size(), 1); QCOMPARE(file.topContext()->localDeclarations().size(), 2); auto aDecl = dynamic_cast(file.topContext()->localDeclarations().first()); QVERIFY(aDecl); QCOMPARE(aDecl->baseClassesSize(), 0u); auto bDecl = dynamic_cast(file.topContext()->localDeclarations().last()); QVERIFY(bDecl); QCOMPARE(bDecl->baseClassesSize(), 1u); int distance = 0; QVERIFY(bDecl->isPublicBaseClass(aDecl, file.topContext(), &distance)); QCOMPARE(distance, 1); file.parse(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses | TopDUContext::ForceUpdateRecursive)); } } void TestDUChain::testGetInheriters_data() { QTest::addColumn("code"); QTest::newRow("inline") << "struct Base { struct Inner {}; }; struct Inherited : Base, Base::Inner {};"; QTest::newRow("outline") << "struct Base { struct Inner; }; struct Base::Inner {}; struct Inherited : Base, Base::Inner {};"; } void TestDUChain::testGetInheriters() { QFETCH(QString, code); TestFile file(code, QStringLiteral("cpp")); QVERIFY(file.parseAndWait()); DUChainReadLocker lock; auto top = file.topContext(); QVERIFY(top); QVERIFY(top->problems().isEmpty()); QCOMPARE(top->localDeclarations().count(), 2); Declaration* baseDecl = top->localDeclarations().first(); QCOMPARE(baseDecl->identifier(), Identifier("Base")); DUContext* baseCtx = baseDecl->internalContext(); QVERIFY(baseCtx); QCOMPARE(baseCtx->localDeclarations().count(), 1); Declaration* innerDecl = baseCtx->localDeclarations().first(); QCOMPARE(innerDecl->identifier(), Identifier("Inner")); if (auto forward = dynamic_cast(innerDecl)) { innerDecl = forward->resolve(top); } QVERIFY(dynamic_cast(innerDecl)); Declaration* inheritedDecl = top->localDeclarations().last(); QVERIFY(inheritedDecl); QCOMPARE(inheritedDecl->identifier(), Identifier("Inherited")); uint maxAllowedSteps = uint(-1); auto baseInheriters = DUChainUtils::getInheriters(baseDecl, maxAllowedSteps); QCOMPARE(baseInheriters, QList() << inheritedDecl); maxAllowedSteps = uint(-1); auto innerInheriters = DUChainUtils::getInheriters(innerDecl, maxAllowedSteps); QCOMPARE(innerInheriters, QList() << inheritedDecl); maxAllowedSteps = uint(-1); auto inheritedInheriters = DUChainUtils::getInheriters(inheritedDecl, maxAllowedSteps); QCOMPARE(inheritedInheriters.count(), 0); } void TestDUChain::testGlobalFunctionDeclaration() { TestFile file(QStringLiteral("void foo(int arg1, char arg2);\n"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); file.waitForParsed(); DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->localDeclarations().size(), 1); QCOMPARE(file.topContext()->childContexts().size(), 1); QVERIFY(!file.topContext()->childContexts().first()->inSymbolTable()); } void TestDUChain::testFunctionDefinitionVsDeclaration() { TestFile file(QStringLiteral("void func(); void func() {}\n"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(file.waitForParsed()); DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->localDeclarations().size(), 2); auto funcDecl = file.topContext()->localDeclarations()[0]; QVERIFY(!funcDecl->isDefinition()); QVERIFY(!dynamic_cast(funcDecl)); auto funcDef = file.topContext()->localDeclarations()[1]; QVERIFY(dynamic_cast(funcDef)); QVERIFY(funcDef->isDefinition()); } void TestDUChain::testEnsureNoDoubleVisit() { // On some language construct, we may up visiting the same cursor multiple times // Example: "struct SomeStruct {} s;" // decl: "SomeStruct SomeStruct " of kind StructDecl (2) in main.cpp@[(1,1),(1,17)] // decl: "struct SomeStruct s " of kind VarDecl (9) in main.cpp@[(1,1),(1,19)] // decl: "SomeStruct SomeStruct " of kind StructDecl (2) in main.cpp@[(1,1),(1,17)] // // => We end up visiting the StructDecl twice (or more) // That's because we use clang_visitChildren not just on the translation unit cursor. // Apparently just "recursing" vs. "visiting children explicitly" // results in a different AST traversal TestFile file(QStringLiteral("struct SomeStruct {} s;\n"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(file.waitForParsed()); DUChainReadLocker lock; auto top = file.topContext(); QVERIFY(top); // there should only be one declaration for "SomeStruct" auto candidates = top->findDeclarations(QualifiedIdentifier(QStringLiteral("SomeStruct"))); QCOMPARE(candidates.size(), 1); } void TestDUChain::testParsingEnvironment() { const TopDUContext::Features features = TopDUContext::AllDeclarationsContextsAndUses; IndexedTopDUContext indexed; ClangParsingEnvironment lastEnv; { TestFile file(QStringLiteral("int main() {}\n"), QStringLiteral("cpp")); auto astFeatures = static_cast(features | TopDUContext::AST); file.parse(astFeatures); file.setKeepDUChainData(true); QVERIFY(file.waitForParsed()); DUChainWriteLocker lock; auto top = file.topContext(); QVERIFY(top); auto sessionData = ParseSessionData::Ptr(dynamic_cast(top->ast().data())); lock.unlock(); ParseSession session(sessionData); lock.lock(); QVERIFY(session.data()); QVERIFY(top); auto envFile = QExplicitlySharedDataPointer( dynamic_cast(file.topContext()->parsingEnvironmentFile().data())); QCOMPARE(envFile->features(), astFeatures); QVERIFY(envFile->featuresSatisfied(astFeatures)); QCOMPARE(envFile->environmentQuality(), ClangParsingEnvironment::Source); // if no environment is given, no update should be triggered QVERIFY(!envFile->needsUpdate()); // same env should also not trigger a reparse ClangParsingEnvironment env = session.environment(); QCOMPARE(env.quality(), ClangParsingEnvironment::Source); QVERIFY(!envFile->needsUpdate(&env)); // but changing the environment should trigger an update env.addIncludes(Path::List() << Path(QStringLiteral("/foo/bar/baz"))); QVERIFY(envFile->needsUpdate(&env)); envFile->setEnvironment(env); QVERIFY(!envFile->needsUpdate(&env)); // setting the environment quality higher should require an update env.setQuality(ClangParsingEnvironment::BuildSystem); QVERIFY(envFile->needsUpdate(&env)); envFile->setEnvironment(env); QVERIFY(!envFile->needsUpdate(&env)); // changing defines requires an update env.addDefines(QHash{ { "foo", "bar" } }); QVERIFY(envFile->needsUpdate(&env)); // but only when changing the defines for the envFile's TU const auto barTU = IndexedString("bar.cpp"); const auto oldTU = env.translationUnitUrl(); env.setTranslationUnitUrl(barTU); QCOMPARE(env.translationUnitUrl(), barTU); QVERIFY(!envFile->needsUpdate(&env)); env.setTranslationUnitUrl(oldTU); QVERIFY(envFile->needsUpdate(&env)); // update it again envFile->setEnvironment(env); QVERIFY(!envFile->needsUpdate(&env)); lastEnv = env; // now compare against a lower quality environment // in such a case, we do not want to trigger an update env.setQuality(ClangParsingEnvironment::Unknown); env.setTranslationUnitUrl(barTU); QVERIFY(!envFile->needsUpdate(&env)); // even when the environment changes env.addIncludes(Path::List() << Path(QStringLiteral("/lalalala"))); QVERIFY(!envFile->needsUpdate(&env)); indexed = top->indexed(); } DUChain::self()->storeToDisk(); { DUChainWriteLocker lock; QVERIFY(!DUChain::self()->isInMemory(indexed.index())); QVERIFY(indexed.data()); QVERIFY(DUChain::self()->environmentFileForDocument(indexed)); auto envFile = QExplicitlySharedDataPointer( dynamic_cast(DUChain::self()->environmentFileForDocument(indexed).data())); QVERIFY(envFile); QCOMPARE(envFile->features(), features); QVERIFY(envFile->featuresSatisfied(features)); QVERIFY(!envFile->needsUpdate(&lastEnv)); DUChain::self()->removeDocumentChain(indexed.data()); } } void TestDUChain::testActiveDocumentHasASTAttached() { const TopDUContext::Features features = TopDUContext::AllDeclarationsContextsAndUses; IndexedTopDUContext indexed; ClangParsingEnvironment lastEnv; { TestFile file(QStringLiteral("int main() {}\n"), QStringLiteral("cpp")); auto astFeatures = static_cast(features | TopDUContext::AST); file.parse(astFeatures); file.setKeepDUChainData(true); QVERIFY(file.waitForParsed()); DUChainWriteLocker lock; auto top = file.topContext(); QVERIFY(top); auto sessionData = ParseSessionData::Ptr(dynamic_cast(top->ast().data())); lock.unlock(); ParseSession session(sessionData); lock.lock(); QVERIFY(session.data()); QVERIFY(top); QVERIFY(top->ast()); indexed = top->indexed(); } DUChain::self()->storeToDisk(); { DUChainWriteLocker lock; QVERIFY(!DUChain::self()->isInMemory(indexed.index())); QVERIFY(indexed.data()); } QUrl url; { DUChainReadLocker lock; auto ctx = indexed.data(); QVERIFY(ctx); QVERIFY(!ctx->ast()); url = ctx->url().toUrl(); } QVERIFY(!QFileInfo::exists(url.toLocalFile())); QFile file(url.toLocalFile()); file.open(QIODevice::WriteOnly); Q_ASSERT(file.isOpen()); auto document = ICore::self()->documentController()->openDocument(url); QVERIFY(document); ICore::self()->documentController()->activateDocument(document); QApplication::processEvents(); ICore::self()->languageController()->backgroundParser()->parseDocuments(); QThread::sleep(1); document->close(KDevelop::IDocument::Discard); { DUChainReadLocker lock; auto ctx = indexed.data(); QVERIFY(ctx); QVERIFY(ctx->ast()); } DUChainWriteLocker lock; DUChain::self()->removeDocumentChain(indexed.data()); } void TestDUChain::testActiveDocumentsGetBestPriority() { // note: this test would make more sense in kdevplatform, but we don't have a language plugin available there // (required for background parsing) // TODO: Create a fake-language plugin in kdevplatform for testing purposes, use that. TestFile file1(QStringLiteral("int main() {}\n"), QStringLiteral("cpp")); TestFile file2(QStringLiteral("int main() {}\n"), QStringLiteral("cpp")); TestFile file3(QStringLiteral("int main() {}\n"), QStringLiteral("cpp")); DUChain::self()->storeToDisk(); auto backgroundParser = ICore::self()->languageController()->backgroundParser(); QVERIFY(!backgroundParser->isQueued(file1.url())); auto documentController = ICore::self()->documentController(); // open first document (no activation) auto doc = documentController->openDocument(file1.url().toUrl(), KTextEditor::Range::invalid(), {IDocumentController::DoNotActivate}); QVERIFY(doc); QVERIFY(backgroundParser->isQueued(file1.url())); QCOMPARE(backgroundParser->priorityForDocument(file1.url()), (int)BackgroundParser::NormalPriority); // open second document, activate doc = documentController->openDocument(file2.url().toUrl()); QVERIFY(doc); QVERIFY(backgroundParser->isQueued(file2.url())); QCOMPARE(backgroundParser->priorityForDocument(file2.url()), (int)BackgroundParser::BestPriority); // open third document, activate, too doc = documentController->openDocument(file3.url().toUrl()); QVERIFY(doc); QVERIFY(backgroundParser->isQueued(file3.url())); QCOMPARE(backgroundParser->priorityForDocument(file3.url()), (int)BackgroundParser::BestPriority); } void TestDUChain::testSystemIncludes() { ClangParsingEnvironment env; Path::List projectIncludes = { Path("/projects/1"), Path("/projects/1/sub"), Path("/projects/2"), Path("/projects/2/sub") }; env.addIncludes(projectIncludes); auto includes = env.includes(); // no project paths set, so everything is considered a system include QCOMPARE(includes.system, projectIncludes); QVERIFY(includes.project.isEmpty()); Path::List systemIncludes = { Path("/sys"), Path("/sys/sub") }; env.addIncludes(systemIncludes); includes = env.includes(); QCOMPARE(includes.system, projectIncludes + systemIncludes); QVERIFY(includes.project.isEmpty()); Path::List projects = { Path("/projects/1"), Path("/projects/2") }; env.setProjectPaths(projects); // now the list should be properly separated QCOMPARE(env.projectPaths(), projects); includes = env.includes(); QCOMPARE(includes.system, systemIncludes); QCOMPARE(includes.project, projectIncludes); } void TestDUChain::benchDUChainBuilder() { QBENCHMARK_ONCE { TestFile file( "#include \n" "#include \n" "#include \n" "#include \n" "#include \n" "#include \n" "#include \n" "#include \n" "#include \n" "#include \n", QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(file.waitForParsed(60000)); DUChainReadLocker lock; auto top = file.topContext(); QVERIFY(top); } } void TestDUChain::testReparseWithAllDeclarationsContextsAndUses() { TestFile file(QStringLiteral("int foo() { return 0; } int main() { return foo(); }"), QStringLiteral("cpp")); file.parse(TopDUContext::VisibleDeclarationsAndContexts); QVERIFY(file.waitForParsed(1000)); { DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->childContexts().size(), 2); QCOMPARE(file.topContext()->localDeclarations().size(), 2); auto dec = file.topContext()->localDeclarations().at(0); QEXPECT_FAIL("", "Skipping of function bodies is disabled for now", Continue); QVERIFY(dec->uses().isEmpty()); } file.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(file.waitForParsed(500)); { DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->childContexts().size(), 2); QCOMPARE(file.topContext()->localDeclarations().size(), 2); auto mainDecl = file.topContext()->localDeclarations()[1]; QVERIFY(mainDecl->uses().isEmpty()); auto foo = file.topContext()->localDeclarations().first(); QCOMPARE(foo->uses().size(), 1); } } void TestDUChain::testReparseOnDocumentActivated() { TestFile file(QStringLiteral("int foo() { return 0; } int main() { return foo(); }"), QStringLiteral("cpp")); file.parse(TopDUContext::VisibleDeclarationsAndContexts); QVERIFY(file.waitForParsed(1000)); { DUChainReadLocker lock; auto ctx = file.topContext(); QVERIFY(ctx); QCOMPARE(ctx->childContexts().size(), 2); QCOMPARE(ctx->localDeclarations().size(), 2); auto dec = ctx->localDeclarations().at(0); QEXPECT_FAIL("", "Skipping of function bodies was disabled for now", Continue); QVERIFY(dec->uses().isEmpty()); QVERIFY(!ctx->ast()); } auto backgroundParser = ICore::self()->languageController()->backgroundParser(); QVERIFY(!backgroundParser->isQueued(file.url())); auto doc = ICore::self()->documentController()->openDocument(file.url().toUrl()); QVERIFY(doc); QVERIFY(backgroundParser->isQueued(file.url())); QSignalSpy spy(backgroundParser, &BackgroundParser::parseJobFinished); spy.wait(); doc->close(KDevelop::IDocument::Discard); { DUChainReadLocker lock; auto ctx = file.topContext(); QCOMPARE(ctx->features() & TopDUContext::AllDeclarationsContextsAndUses, static_cast(TopDUContext::AllDeclarationsContextsAndUses)); QVERIFY(ctx->topContext()->ast()); } } void TestDUChain::testReparseInclude() { TestFile header(QStringLiteral("int foo() { return 42; }\n"), QStringLiteral("h")); TestFile impl("#include \"" + header.url().str() + "\"\n" "int main() { return foo(); }", QStringLiteral("cpp"), &header); // Use TopDUContext::AST to imitate that document is opened in the editor, so that ClangParseJob can store translation unit, that'll be used for reparsing. impl.parse(TopDUContext::Features(TopDUContext::AllDeclarationsAndContexts|TopDUContext::AST)); QVERIFY(impl.waitForParsed(5000)); { DUChainReadLocker lock; auto implCtx = impl.topContext(); QVERIFY(implCtx); QCOMPARE(implCtx->importedParentContexts().size(), 1); } impl.parse(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses|TopDUContext::AST)); QVERIFY(impl.waitForParsed(5000)); DUChainReadLocker lock; auto implCtx = impl.topContext(); QVERIFY(implCtx); QCOMPARE(implCtx->localDeclarations().size(), 1); QCOMPARE(implCtx->importedParentContexts().size(), 1); auto headerCtx = DUChain::self()->chainForDocument(header.url()); QVERIFY(headerCtx); QVERIFY(!headerCtx->parsingEnvironmentFile()->needsUpdate()); QCOMPARE(headerCtx->localDeclarations().size(), 1); QVERIFY(implCtx->imports(headerCtx, CursorInRevision(0, 10))); Declaration* foo = headerCtx->localDeclarations().first(); QCOMPARE(foo->uses().size(), 1); QCOMPARE(foo->uses().begin().key(), impl.url()); QCOMPARE(foo->uses().begin()->size(), 1); QCOMPARE(foo->uses().begin()->first(), RangeInRevision(1, 20, 1, 23)); QCOMPARE(DUChain::self()->allEnvironmentFiles(header.url()).size(), 1); QCOMPARE(DUChain::self()->allEnvironmentFiles(impl.url()).size(), 1); QCOMPARE(DUChain::self()->chainsForDocument(header.url()).size(), 1); QCOMPARE(DUChain::self()->chainsForDocument(impl.url()).size(), 1); } void TestDUChain::testReparseChangeEnvironment() { TestFile header(QStringLiteral("int foo() { return 42; }\n"), QStringLiteral("h")); TestFile impl("#include \"" + header.url().str() + "\"\n" "int main() { return foo(); }", QStringLiteral("cpp"), &header); uint hashes[3] = {0, 0, 0}; for (int i = 0; i < 3; ++i) { impl.parse(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses|TopDUContext::AST|TopDUContext::ForceUpdate)); QVERIFY(impl.waitForParsed(5000)); { DUChainReadLocker lock; QVERIFY(impl.topContext()); auto env = dynamic_cast(impl.topContext()->parsingEnvironmentFile().data()); QVERIFY(env); QCOMPARE(env->environmentQuality(), ClangParsingEnvironment::Source); hashes[i] = env->environmentHash(); QVERIFY(hashes[i]); // we should never end up with multiple env files or chains in memory for these files QCOMPARE(DUChain::self()->allEnvironmentFiles(impl.url()).size(), 1); QCOMPARE(DUChain::self()->chainsForDocument(impl.url()).size(), 1); QCOMPARE(DUChain::self()->allEnvironmentFiles(header.url()).size(), 1); QCOMPARE(DUChain::self()->chainsForDocument(header.url()).size(), 1); } // in every run, we expect the environment to have changed for (int j = 0; j < i; ++j) { QVERIFY(hashes[i] != hashes[j]); } if (i == 0) { // 1) change defines m_provider->defines.insert(QStringLiteral("foooooooo"), QStringLiteral("baaar!")); } else if (i == 1) { // 2) change includes m_provider->includes.append(Path(QStringLiteral("/foo/bar/asdf/lalala"))); } // 3) stop } } void TestDUChain::testMacroDependentHeader() { TestFile header(QStringLiteral("struct MY_CLASS { class Q{Q(); int m;}; int m; };\n"), QStringLiteral("h")); TestFile impl("#define MY_CLASS A\n" "#include \"" + header.url().str() + "\"\n" "#undef MY_CLASS\n" "#define MY_CLASS B\n" "#include \"" + header.url().str() + "\"\n" "#undef MY_CLASS\n" "A a;\n" "const A::Q aq;\n" "B b;\n" "const B::Q bq;\n" "int am = a.m;\n" "int aqm = aq.m;\n" "int bm = b.m;\n" "int bqm = bq.m;\n" , QStringLiteral("cpp"), &header); impl.parse(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses|TopDUContext::AST|TopDUContext::ForceUpdate)); QVERIFY(impl.waitForParsed(500000)); DUChainReadLocker lock; TopDUContext* top = impl.topContext().data(); QVERIFY(top); QCOMPARE(top->localDeclarations().size(), 10); // 2x macro, then a, aq, b, bq QCOMPARE(top->importedParentContexts().size(), 1); AbstractType::Ptr type = top->localDeclarations()[2]->abstractType(); StructureType* sType = dynamic_cast(type.data()); QVERIFY(sType); QCOMPARE(sType->toString(), QString("A")); Declaration* decl = sType->declaration(top); QVERIFY(decl); AbstractType::Ptr type2 = top->localDeclarations()[4]->abstractType(); StructureType* sType2 = dynamic_cast(type2.data()); QVERIFY(sType2); QCOMPARE(sType2->toString(), QString("B")); Declaration* decl2 = sType2->declaration(top); QVERIFY(decl2); TopDUContext* top2 = dynamic_cast(top->importedParentContexts()[0].context(top)); QVERIFY(top2); QCOMPARE(top2->localDeclarations().size(), 2); QCOMPARE(top2->localDeclarations()[0], decl); QCOMPARE(top2->localDeclarations()[1], decl2); qDebug() << "DECL RANGE:" << top2->localDeclarations()[0]->range().castToSimpleRange(); qDebug() << "CTX RANGE:" << top2->localDeclarations()[0]->internalContext()->range().castToSimpleRange(); // validate uses: QCOMPARE(top->usesCount(), 14); QCOMPARE(top->uses()[0].usedDeclaration(top)->qualifiedIdentifier(), QualifiedIdentifier("A")); QCOMPARE(top->uses()[1].usedDeclaration(top)->qualifiedIdentifier(), QualifiedIdentifier("A")); QCOMPARE(top->uses()[2].usedDeclaration(top)->qualifiedIdentifier(), QualifiedIdentifier("A::Q")); QCOMPARE(top->uses()[3].usedDeclaration(top)->qualifiedIdentifier(), QualifiedIdentifier("B")); QCOMPARE(top->uses()[4].usedDeclaration(top)->qualifiedIdentifier(), QualifiedIdentifier("B")); QCOMPARE(top->uses()[5].usedDeclaration(top)->qualifiedIdentifier(), QualifiedIdentifier("B::Q")); QCOMPARE(top->uses()[6].usedDeclaration(top)->qualifiedIdentifier(), QualifiedIdentifier("a")); QCOMPARE(top->uses()[7].usedDeclaration(top)->qualifiedIdentifier(), QualifiedIdentifier("A::m")); QCOMPARE(top->uses()[8].usedDeclaration(top)->qualifiedIdentifier(), QualifiedIdentifier("aq")); QCOMPARE(top->uses()[9].usedDeclaration(top)->qualifiedIdentifier(), QualifiedIdentifier("A::Q::m")); QCOMPARE(top->uses()[10].usedDeclaration(top)->qualifiedIdentifier(), QualifiedIdentifier("b")); QCOMPARE(top->uses()[11].usedDeclaration(top)->qualifiedIdentifier(), QualifiedIdentifier("B::m")); QCOMPARE(top->uses()[12].usedDeclaration(top)->qualifiedIdentifier(), QualifiedIdentifier("bq")); QCOMPARE(top->uses()[13].usedDeclaration(top)->qualifiedIdentifier(), QualifiedIdentifier("B::Q::m")); } void TestDUChain::testHeaderParsingOrder1() { TestFile header(QStringLiteral("typedef const A B;\n"), QStringLiteral("h")); TestFile impl("template class A{};\n" "#include \"" + header.url().str() + "\"\n" "B c;", QStringLiteral("cpp"), &header); impl.parse(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses|TopDUContext::AST|TopDUContext::ForceUpdate)); QVERIFY(impl.waitForParsed(500000)); DUChainReadLocker lock; TopDUContext* top = impl.topContext().data(); QVERIFY(top); QCOMPARE(top->localDeclarations().size(), 2); QCOMPARE(top->importedParentContexts().size(), 1); AbstractType::Ptr type = top->localDeclarations()[1]->abstractType(); TypeAliasType* aType = dynamic_cast(type.data()); QVERIFY(aType); AbstractType::Ptr targetType = aType->type(); QVERIFY(targetType); IdentifiedType *idType = dynamic_cast(targetType.data()); QVERIFY(idType); // this declaration could be resolved, because it was created with an // indirect DeclarationId that is resolved from the perspective of 'top' Declaration* decl = idType->declaration(top); // NOTE: the decl. doesn't know (yet) about the template insantiation QVERIFY(decl); QCOMPARE(decl, top->localDeclarations()[0]); // now ensure that a use was build for 'A' in header1 TopDUContext* top2 = dynamic_cast(top->importedParentContexts()[0].context(top)); QVERIFY(top2); QEXPECT_FAIL("", "the use could not be created because the corresponding declaration didn't exist yet", Continue); QCOMPARE(top2->usesCount(), 1); // Declaration* decl2 = top2->uses()[0].usedDeclaration(top2); // QVERIFY(decl2); // QCOMPARE(decl, decl2); } void TestDUChain::testHeaderParsingOrder2() { TestFile header(QStringLiteral("template class A{};\n"), QStringLiteral("h")); TestFile header2(QStringLiteral("typedef const A B;\n"), QStringLiteral("h")); TestFile impl("#include \"" + header.url().str() + "\"\n" "#include \"" + header2.url().str() + "\"\n" "B c;", QStringLiteral("cpp"), &header); impl.parse(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses|TopDUContext::AST|TopDUContext::ForceUpdate)); QVERIFY(impl.waitForParsed(500000)); DUChainReadLocker lock; TopDUContext* top = impl.topContext().data(); QVERIFY(top); QCOMPARE(top->localDeclarations().size(), 1); QCOMPARE(top->importedParentContexts().size(), 2); AbstractType::Ptr type = top->localDeclarations()[0]->abstractType(); TypeAliasType* aType = dynamic_cast(type.data()); QVERIFY(aType); AbstractType::Ptr targetType = aType->type(); QVERIFY(targetType); IdentifiedType *idType = dynamic_cast(targetType.data()); QVERIFY(idType); Declaration* decl = idType->declaration(top); // NOTE: the decl. doesn't know (yet) about the template insantiation QVERIFY(decl); // now ensure that a use was build for 'A' in header2 TopDUContext* top2 = dynamic_cast(top->importedParentContexts()[1].context(top)); QVERIFY(top2); QCOMPARE(top2->usesCount(), 1); Declaration* decl2 = top2->uses()[0].usedDeclaration(top2); QCOMPARE(decl, decl2); } void TestDUChain::testMacrosRanges() { TestFile file(QStringLiteral("#define FUNC_MACROS(x) struct str##x{};\nFUNC_MACROS(x);"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(file.waitForParsed(5000)); DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->localDeclarations().size(), 2); auto macroDefinition = file.topContext()->localDeclarations()[0]; QVERIFY(macroDefinition); QCOMPARE(macroDefinition->range(), RangeInRevision(0,8,0,19)); auto structDeclaration = file.topContext()->localDeclarations()[1]; QVERIFY(structDeclaration); QCOMPARE(structDeclaration->range(), RangeInRevision(1,0,1,0)); QCOMPARE(macroDefinition->uses().size(), 1); QCOMPARE(macroDefinition->uses().begin()->first(), RangeInRevision(1,0,1,11)); } void TestDUChain::testMacroUses() { TestFile file(QStringLiteral("#define USER(x) x\n#define USED\nUSER(USED)"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(file.waitForParsed(5000)); DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->localDeclarations().size(), 2); auto macroDefinition1 = file.topContext()->localDeclarations()[0]; auto macroDefinition2 = file.topContext()->localDeclarations()[1]; QCOMPARE(macroDefinition1->uses().size(), 1); QCOMPARE(macroDefinition1->uses().begin()->first(), RangeInRevision(2,0,2,4)); #if CINDEX_VERSION_MINOR < 32 QEXPECT_FAIL("", "This appears to be a clang bug, the AST doesn't contain the macro use", Continue); #endif QCOMPARE(macroDefinition2->uses().size(), 1); if (macroDefinition2->uses().size()) { QCOMPARE(macroDefinition2->uses().begin()->first(), RangeInRevision(2,5,2,9)); } } void TestDUChain::testMultiLineMacroRanges() { TestFile file(QStringLiteral("#define FUNC_MACROS(x) struct str##x{};\nFUNC_MACROS(x\n);"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(file.waitForParsed(5000)); DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->localDeclarations().size(), 2); auto macroDefinition = file.topContext()->localDeclarations()[0]; QVERIFY(macroDefinition); QCOMPARE(macroDefinition->range(), RangeInRevision(0,8,0,19)); auto structDeclaration = file.topContext()->localDeclarations()[1]; QVERIFY(structDeclaration); QCOMPARE(structDeclaration->range(), RangeInRevision(1,0,1,0)); QCOMPARE(macroDefinition->uses().size(), 1); QCOMPARE(macroDefinition->uses().begin()->first(), RangeInRevision(1,0,1,11)); } void TestDUChain::testNestedMacroRanges() { TestFile file(QStringLiteral("#define INNER int var; var = 0;\n#define MACRO() INNER\nint main(){MACRO(\n);}"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(file.waitForParsed(5000)); DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->localDeclarations().size(), 3); auto main = file.topContext()->localDeclarations()[2]; QVERIFY(main); auto mainCtx = main->internalContext()->childContexts().first(); QVERIFY(mainCtx); QCOMPARE(mainCtx->localDeclarations().size(), 1); auto var = mainCtx->localDeclarations().first(); QVERIFY(var); QCOMPARE(var->range(), RangeInRevision(2,11,2,11)); QCOMPARE(var->uses().size(), 1); QCOMPARE(var->uses().begin()->first(), RangeInRevision(2,11,2,11)); } void TestDUChain::testNestedImports() { TestFile B(QStringLiteral("#pragma once\nint B();\n"), QStringLiteral("h")); TestFile C("#pragma once\n#include \"" + B.url().str() + "\"\nint C();\n", QStringLiteral("h")); TestFile A("#include \"" + B.url().str() + "\"\n" + "#include \"" + C.url().str() + "\"\nint A();\n", QStringLiteral("cpp")); A.parse(); QVERIFY(A.waitForParsed(5000)); DUChainReadLocker lock; auto BCtx = DUChain::self()->chainForDocument(B.url().toUrl()); QVERIFY(BCtx); QVERIFY(BCtx->importedParentContexts().isEmpty()); auto CCtx = DUChain::self()->chainForDocument(C.url().toUrl()); QVERIFY(CCtx); QCOMPARE(CCtx->importedParentContexts().size(), 1); QVERIFY(CCtx->imports(BCtx, CursorInRevision(1, 10))); auto ACtx = A.topContext(); QVERIFY(ACtx); QCOMPARE(ACtx->importedParentContexts().size(), 2); QVERIFY(ACtx->imports(BCtx, CursorInRevision(0, 10))); QVERIFY(ACtx->imports(CCtx, CursorInRevision(1, 10))); } void TestDUChain::testEnvironmentWithDifferentOrderOfElements() { TestFile file(QStringLiteral("int main();\n"), QStringLiteral("cpp")); m_provider->includes.clear(); m_provider->includes.append(Path(QStringLiteral("/path1"))); m_provider->includes.append(Path(QStringLiteral("/path2"))); m_provider->defines.clear(); m_provider->defines.insert(QStringLiteral("key1"), QStringLiteral("value1")); m_provider->defines.insert(QStringLiteral("key2"), QStringLiteral("value2")); m_provider->defines.insert(QStringLiteral("key3"), QStringLiteral("value3")); uint previousHash = 0; for (int i: {0, 1, 2, 3}) { file.parse(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses|TopDUContext::AST|TopDUContext::ForceUpdate)); QVERIFY(file.waitForParsed(5000)); { DUChainReadLocker lock; QVERIFY(file.topContext()); auto env = dynamic_cast(file.topContext()->parsingEnvironmentFile().data()); QVERIFY(env); QCOMPARE(env->environmentQuality(), ClangParsingEnvironment::Source); if (previousHash) { if (i == 3) { QVERIFY(previousHash != env->environmentHash()); } else { QCOMPARE(previousHash, env->environmentHash()); } } previousHash = env->environmentHash(); QVERIFY(previousHash); } if (i == 0) { //Change order of defines. Hash of the environment should stay the same. m_provider->defines.clear(); m_provider->defines.insert(QStringLiteral("key3"), QStringLiteral("value3")); m_provider->defines.insert(QStringLiteral("key1"), QStringLiteral("value1")); m_provider->defines.insert(QStringLiteral("key2"), QStringLiteral("value2")); } else if (i == 1) { //Add the same macros twice. Hash of the environment should stay the same. m_provider->defines.clear(); m_provider->defines.insert(QStringLiteral("key2"), QStringLiteral("value2")); m_provider->defines.insert(QStringLiteral("key3"), QStringLiteral("value3")); m_provider->defines.insert(QStringLiteral("key3"), QStringLiteral("value3")); m_provider->defines.insert(QStringLiteral("key1"), QStringLiteral("value1")); } else if (i == 2) { //OTOH order of includes should change hash of the environment. m_provider->includes.clear(); m_provider->includes.append(Path(QStringLiteral("/path2"))); m_provider->includes.append(Path(QStringLiteral("/path1"))); } } } void TestDUChain::testReparseMacro() { TestFile file(QStringLiteral("#define DECLARE(a) typedef struct a##_ {} *a;\nDECLARE(D);\nD d;"), QStringLiteral("cpp")); file.parse(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses|TopDUContext::AST)); QVERIFY(file.waitForParsed(5000)); { DUChainReadLocker lock; QVERIFY(file.topContext()); } file.parse(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses|TopDUContext::AST|TopDUContext::ForceUpdate)); QVERIFY(file.waitForParsed(5000)); DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->localDeclarations().size(), 5); auto macroDefinition = file.topContext()->localDeclarations()[0]; QVERIFY(macroDefinition); QCOMPARE(macroDefinition->range(), RangeInRevision(0,8,0,15)); QCOMPARE(macroDefinition->uses().size(), 1); QCOMPARE(macroDefinition->uses().begin()->first(), RangeInRevision(1,0,1,7)); auto structDeclaration = file.topContext()->localDeclarations()[1]; QVERIFY(structDeclaration); QCOMPARE(structDeclaration->range(), RangeInRevision(1,0,1,0)); auto structTypedef = file.topContext()->localDeclarations()[3]; QVERIFY(structTypedef); QCOMPARE(structTypedef->range(), RangeInRevision(1,8,1,9)); QCOMPARE(structTypedef->uses().size(), 1); QCOMPARE(structTypedef->uses().begin()->first(), RangeInRevision(2,0,2,1)); } void TestDUChain::testGotoStatement() { TestFile file(QStringLiteral("int main() {\ngoto label;\ngoto label;\nlabel: return 0;}"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(file.waitForParsed(5000)); DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->localDeclarations().size(), 1); auto main = file.topContext()->localDeclarations()[0]; QVERIFY(main); auto mainCtx = main->internalContext()->childContexts().first(); QVERIFY(mainCtx); QCOMPARE(mainCtx->localDeclarations().size(), 1); auto label = mainCtx->localDeclarations().first(); QVERIFY(label); QCOMPARE(label->range(), RangeInRevision(3,0,3,5)); QCOMPARE(label->uses().size(), 1); QCOMPARE(label->uses().begin()->first(), RangeInRevision(1,5,1,10)); QCOMPARE(label->uses().begin()->last(), RangeInRevision(2,5,2,10)); } void TestDUChain::testRangesOfOperatorsInsideMacro() { TestFile file(QStringLiteral("class Test{public: Test& operator++(int);};\n#define MACRO(var) var++;\nint main(){\nTest tst; MACRO(tst)}"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(file.waitForParsed(5000)); DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->localDeclarations().size(), 3); auto testClass = file.topContext()->localDeclarations()[0]; QVERIFY(testClass); auto operatorPlusPlus = testClass->internalContext()->localDeclarations().first(); QVERIFY(operatorPlusPlus); QCOMPARE(operatorPlusPlus->uses().size(), 1); QCOMPARE(operatorPlusPlus->uses().begin()->first(), RangeInRevision(3,10,3,10)); } void TestDUChain::testUsesCreatedForDeclarations() { auto code = R"(template void functionTemplate(T); template void functionTemplate(U) {} namespace NS { class Class{}; } using NS::Class; Class function(); NS::Class function() { return {}; } int main () { functionTemplate(int()); function(); } )"; TestFile file(code, QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(file.waitForParsed()); DUChainReadLocker lock; QVERIFY(file.topContext()); auto functionTemplate = file.topContext()->findDeclarations(QualifiedIdentifier(QStringLiteral("functionTemplate"))); QVERIFY(!functionTemplate.isEmpty()); auto functionTemplateDeclaration = DUChainUtils::declarationForDefinition(functionTemplate.first()); QVERIFY(!functionTemplateDeclaration->isDefinition()); #if CINDEX_VERSION_MINOR < 29 QEXPECT_FAIL("", "No API in LibClang to determine function template type", Continue); #endif QCOMPARE(functionTemplateDeclaration->uses().count(), 1); auto function = file.topContext()->findDeclarations(QualifiedIdentifier(QStringLiteral("function"))); QVERIFY(!function.isEmpty()); auto functionDeclaration = DUChainUtils::declarationForDefinition(function.first()); QVERIFY(!functionDeclaration->isDefinition()); QCOMPARE(functionDeclaration->uses().count(), 1); } void TestDUChain::testReparseIncludeGuard() { TestFile header(QStringLiteral("#ifndef GUARD\n#define GUARD\nint something;\n#endif\n"), QStringLiteral("h")); TestFile impl("#include \"" + header.url().str() + "\"\n", QStringLiteral("cpp"), &header); QVERIFY(impl.parseAndWait(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses | TopDUContext::AST ))); { DUChainReadLocker lock; QCOMPARE(static_cast(impl.topContext()-> importedParentContexts().first().context(impl.topContext()))->problems().size(), 0); } QVERIFY(impl.parseAndWait(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses | TopDUContext::ForceUpdateRecursive))); { DUChainReadLocker lock; QCOMPARE(static_cast(impl.topContext()-> importedParentContexts().first().context(impl.topContext()))->problems().size(), 0); } } void TestDUChain::testExternC() { auto code = R"(extern "C" { void foo(); })"; TestFile file(code, QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(file.waitForParsed()); DUChainReadLocker lock; auto top = file.topContext(); QVERIFY(top); QVERIFY(!top->findDeclarations(QualifiedIdentifier("foo")).isEmpty()); } void TestDUChain::testReparseUnchanged_data() { QTest::addColumn("headerCode"); QTest::addColumn("implCode"); QTest::newRow("include-guards") << R"( #ifndef GUARD #define GUARD int something; #endif )" << R"( #include "%1" )"; QTest::newRow("template-default-parameters") << R"( #ifndef TEST_H #define TEST_H template class dummy; template class dummy { int field[T]; }; #endif )" << R"( #include "%1" int main(int, char **) { dummy<> x; (void)x; } )"; } void TestDUChain::testReparseUnchanged() { QFETCH(QString, headerCode); QFETCH(QString, implCode); TestFile header(headerCode, QStringLiteral("h")); TestFile impl(implCode.arg(header.url().str()), QStringLiteral("cpp"), &header); auto checkProblems = [&] (bool reparsed) { DUChainReadLocker lock; auto headerCtx = DUChain::self()->chainForDocument(header.url()); QVERIFY(headerCtx); QVERIFY(headerCtx->problems().isEmpty()); auto implCtx = DUChain::self()->chainForDocument(impl.url()); QVERIFY(implCtx); if (reparsed && CINDEX_VERSION_MINOR > 29 && CINDEX_VERSION_MINOR < 33) { QEXPECT_FAIL("template-default-parameters", "the precompiled preamble messes the default template parameters up in clang 3.7", Continue); } QVERIFY(implCtx->problems().isEmpty()); }; impl.parseAndWait(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses | TopDUContext::AST )); checkProblems(false); impl.parseAndWait(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses | TopDUContext::ForceUpdateRecursive)); checkProblems(true); } void TestDUChain::testTypeAliasTemplate() { TestFile file(QStringLiteral("template using TypeAliasTemplate = T;"), QStringLiteral("cpp")); QVERIFY(file.parseAndWait()); DUChainReadLocker lock; QVERIFY(file.topContext()); auto templateAlias = file.topContext()->localDeclarations().last(); QVERIFY(templateAlias); #if CINDEX_VERSION_MINOR < 31 QEXPECT_FAIL("", "TypeAliasTemplate is not exposed via LibClang", Abort); #endif QVERIFY(templateAlias->abstractType()); QCOMPARE(templateAlias->abstractType()->toString(), QStringLiteral("TypeAliasTemplate")); } void TestDUChain::testDeclarationsInsideMacroExpansion() { TestFile header(QStringLiteral("#define DECLARE(a) typedef struct a##__ {int var;} *a\nDECLARE(D);\n"), QStringLiteral("h")); TestFile file("#include \"" + header.url().str() + "\"\nint main(){\nD d; d->var;}\n", QStringLiteral("cpp")); file.parse(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses|TopDUContext::AST)); QVERIFY(file.waitForParsed(5000)); { DUChainReadLocker lock; QVERIFY(file.topContext()); } file.parse(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses|TopDUContext::AST|TopDUContext::ForceUpdate)); QVERIFY(file.waitForParsed(5000)); DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->localDeclarations().size(), 1); auto context = file.topContext()->childContexts().first()->childContexts().first(); QVERIFY(context); QCOMPARE(context->localDeclarations().size(), 1); QCOMPARE(context->usesCount(), 3); QCOMPARE(context->uses()[0].m_range, RangeInRevision({2, 0}, {2, 1})); QCOMPARE(context->uses()[1].m_range, RangeInRevision({2, 5}, {2, 6})); QCOMPARE(context->uses()[2].m_range, RangeInRevision({2, 8}, {2, 11})); } // see also: https://bugs.kde.org/show_bug.cgi?id=368067 void TestDUChain::testForwardTemplateTypeParameterContext() { TestFile file(QStringLiteral(R"( template class Foo; class MatchingName { void bar(); }; void MatchingName::bar() { } )"), QStringLiteral("cpp")); file.parse(); QVERIFY(file.waitForParsed(500)); DUChainReadLocker lock; const auto top = file.topContext(); QVERIFY(top); DUChainDumper dumper(DUChainDumper::Features(DUChainDumper::DumpContext | DUChainDumper::DumpProblems)); dumper.dump(top); auto declarations = top->localDeclarations(); QCOMPARE(declarations.size(), 2); } // see also: https://bugs.kde.org/show_bug.cgi?id=368460 void TestDUChain::testTemplateFunctionParameterName() { TestFile file(QStringLiteral(R"( template void foo(int name); void bar(int name); )"), QStringLiteral("cpp")); file.parse(); QVERIFY(file.waitForParsed(500)); DUChainReadLocker lock; const auto top = file.topContext(); QVERIFY(top); DUChainDumper dumper(DUChainDumper::Features(DUChainDumper::DumpContext | DUChainDumper::DumpProblems)); dumper.dump(top); auto declarations = top->localDeclarations(); QCOMPARE(declarations.size(), 2); for (auto decl : declarations) { auto ctx = DUChainUtils::getArgumentContext(decl); QVERIFY(ctx); auto args = ctx->localDeclarations(); if (decl == declarations.first()) QEXPECT_FAIL("", "We get two declarations, for both template and args :(", Continue); QCOMPARE(args.size(), 1); if (decl == declarations.first()) QEXPECT_FAIL("", "see above, this then triggers T T here", Continue); QCOMPARE(args.first()->toString(), QStringLiteral("int name")); } } static bool containsErrors(const QList& problems) { auto it = std::find_if(problems.begin(), problems.end(), [] (const Problem::Ptr& problem) { return problem->severity() == Problem::Error; }); return it != problems.end(); } static bool expectedXmmintrinErrors(const QList& problems) { foreach (const auto& problem, problems) { if (problem->severity() == Problem::Error && !problem->description().contains(QLatin1String("Cannot initialize a parameter of type"))) { return false; } } return true; } static void verifyNoErrors(TopDUContext* top, QSet& checked) { const auto problems = top->problems(); if (containsErrors(problems)) { qDebug() << top->url() << top->problems(); if (top->url().str().endsWith(QLatin1String("xmmintrin.h")) && expectedXmmintrinErrors(problems)) { QEXPECT_FAIL("", "there are still some errors in xmmintrin.h b/c some clang provided intrinsincs are more strict than the GCC ones.", Continue); QVERIFY(false); } else { QFAIL("parse error detected"); } } const auto imports = top->importedParentContexts(); foreach (const auto& import, imports) { auto ctx = import.context(top); QVERIFY(ctx); auto importedTop = ctx->topContext(); if (checked.contains(importedTop)) { continue; } checked.insert(importedTop); verifyNoErrors(importedTop, checked); } } void TestDUChain::testFriendDeclaration() { TestFile file(QStringLiteral(R"( struct FriendFoo { friend class FriendBar; }; class FriendBar{}; FriendBar friendBar; )"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(file.waitForParsed(1000)); { DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->localDeclarations().size(), 3); auto friendBar = file.topContext()->localDeclarations()[1]; if (CINDEX_VERSION_MINOR < 37) { QEXPECT_FAIL("", "Your clang version is too old", Abort); } QCOMPARE(friendBar->uses().size(), 1); QCOMPARE(friendBar->uses().begin()->first(), RangeInRevision(3,25,3,34)); QCOMPARE(friendBar->uses().begin()->last(), RangeInRevision(8,8,8,17)); } } void TestDUChain::testVariadicTemplateArguments() { TestFile file(QStringLiteral(R"( template class VariadicTemplate {}; VariadicTemplate variadic; )"), QStringLiteral("cpp")); file.parse(TopDUContext::AllDeclarationsContextsAndUses); QVERIFY(file.waitForParsed(1000)); { DUChainReadLocker lock; QVERIFY(file.topContext()); QCOMPARE(file.topContext()->localDeclarations().size(), 2); auto decl = file.topContext()->localDeclarations()[1]; QVERIFY(decl); if (CINDEX_VERSION_MINOR < 37) { QEXPECT_FAIL("", "Your clang version is too old", Abort); } QCOMPARE(decl->toString(), QStringLiteral("VariadicTemplate< int, double, bool > variadic")); QVERIFY(decl->abstractType()); QCOMPARE(decl->abstractType()->toString(), QStringLiteral("VariadicTemplate< int, double, bool >")); } } void TestDUChain::testGccCompatibility() { // TODO: make it easier to change the compiler provider for testing purposes QTemporaryDir dir; auto project = new TestProject(Path(dir.path()), this); auto definesAndIncludesConfig = project->projectConfiguration()->group("CustomDefinesAndIncludes"); auto pathConfig = definesAndIncludesConfig.group("ProjectPath0"); pathConfig.writeEntry("Path", "."); pathConfig.group("Compiler").writeEntry("Name", "GCC"); m_projectController->addProject(project); { // TODO: Also test in C mode. Currently it doesn't work (some intrinsics missing?) TestFile file(QStringLiteral(R"( #include int main() { return 0; } )"), QStringLiteral("cpp"), project, dir.path()); file.parse(); QVERIFY(file.waitForParsed(5000)); DUChainReadLocker lock; QSet checked; verifyNoErrors(file.topContext(), checked); } m_projectController->closeAllProjects(); } void TestDUChain::testQtIntegration() { QTemporaryDir includeDir; { QDir dir(includeDir.path()); dir.mkdir(QStringLiteral("QtCore")); // create the file but don't put anything in it QFile header(includeDir.path() + "/QtCore/qobjectdefs.h"); QVERIFY(header.open(QIODevice::WriteOnly | QIODevice::Text)); } QTemporaryDir dir; auto project = new TestProject(Path(dir.path()), this); m_provider->defines.clear(); m_provider->includes = {Path(includeDir.path() + "/QtCore")}; m_projectController->addProject(project); { TestFile file(QStringLiteral(R"( #define slots #define signals #define Q_SLOTS #define Q_SIGNALS #include struct MyObject { public: void other1(); public slots: void slot1(); signals: void signal1(); private Q_SLOTS: void slot2(); Q_SIGNALS: void signal2(); public: void other2(); }; )"), QStringLiteral("cpp"), project, dir.path()); file.parse(); QVERIFY(file.waitForParsed(5000)); DUChainReadLocker lock; auto top = file.topContext(); QVERIFY(top); QVERIFY(top->problems().isEmpty()); const auto methods = top->childContexts().last()->localDeclarations(); QCOMPARE(methods.size(), 6); foreach(auto method, methods) { auto classFunction = dynamic_cast(method); QVERIFY(classFunction); auto id = classFunction->identifier().toString(); QCOMPARE(classFunction->isSignal(), id.startsWith(QLatin1String("signal"))); QCOMPARE(classFunction->isSlot(), id.startsWith(QLatin1String("slot"))); } } m_projectController->closeAllProjects(); } diff --git a/languages/clang/tests/test_duchain.h b/plugins/clang/tests/test_duchain.h similarity index 100% rename from languages/clang/tests/test_duchain.h rename to plugins/clang/tests/test_duchain.h diff --git a/languages/clang/tests/test_duchainutils.cpp b/plugins/clang/tests/test_duchainutils.cpp similarity index 100% rename from languages/clang/tests/test_duchainutils.cpp rename to plugins/clang/tests/test_duchainutils.cpp diff --git a/languages/clang/tests/test_duchainutils.h b/plugins/clang/tests/test_duchainutils.h similarity index 100% rename from languages/clang/tests/test_duchainutils.h rename to plugins/clang/tests/test_duchainutils.h diff --git a/languages/clang/tests/test_files.cpp b/plugins/clang/tests/test_files.cpp similarity index 100% rename from languages/clang/tests/test_files.cpp rename to plugins/clang/tests/test_files.cpp diff --git a/languages/clang/tests/test_files.h b/plugins/clang/tests/test_files.h similarity index 100% rename from languages/clang/tests/test_files.h rename to plugins/clang/tests/test_files.h diff --git a/languages/clang/tests/test_problems.cpp b/plugins/clang/tests/test_problems.cpp similarity index 100% rename from languages/clang/tests/test_problems.cpp rename to plugins/clang/tests/test_problems.cpp diff --git a/languages/clang/tests/test_problems.h b/plugins/clang/tests/test_problems.h similarity index 100% rename from languages/clang/tests/test_problems.h rename to plugins/clang/tests/test_problems.h diff --git a/languages/clang/tests/test_refactoring.cpp b/plugins/clang/tests/test_refactoring.cpp similarity index 100% rename from languages/clang/tests/test_refactoring.cpp rename to plugins/clang/tests/test_refactoring.cpp diff --git a/languages/clang/tests/test_refactoring.h b/plugins/clang/tests/test_refactoring.h similarity index 100% rename from languages/clang/tests/test_refactoring.h rename to plugins/clang/tests/test_refactoring.h diff --git a/languages/clang/tests/testfilepaths.h.cmake b/plugins/clang/tests/testfilepaths.h.cmake similarity index 100% rename from languages/clang/tests/testfilepaths.h.cmake rename to plugins/clang/tests/testfilepaths.h.cmake diff --git a/languages/clang/util/clangdebug.cpp b/plugins/clang/util/clangdebug.cpp similarity index 100% rename from languages/clang/util/clangdebug.cpp rename to plugins/clang/util/clangdebug.cpp diff --git a/languages/clang/util/clangdebug.h b/plugins/clang/util/clangdebug.h similarity index 100% rename from languages/clang/util/clangdebug.h rename to plugins/clang/util/clangdebug.h diff --git a/languages/clang/util/clangtypes.cpp b/plugins/clang/util/clangtypes.cpp similarity index 100% rename from languages/clang/util/clangtypes.cpp rename to plugins/clang/util/clangtypes.cpp diff --git a/languages/clang/util/clangtypes.h b/plugins/clang/util/clangtypes.h similarity index 100% rename from languages/clang/util/clangtypes.h rename to plugins/clang/util/clangtypes.h diff --git a/languages/clang/util/clangutils.cpp b/plugins/clang/util/clangutils.cpp similarity index 100% rename from languages/clang/util/clangutils.cpp rename to plugins/clang/util/clangutils.cpp diff --git a/languages/clang/util/clangutils.h b/plugins/clang/util/clangutils.h similarity index 100% rename from languages/clang/util/clangutils.h rename to plugins/clang/util/clangutils.h diff --git a/languages/clang/version.h.cmake b/plugins/clang/version.h.cmake similarity index 100% rename from languages/clang/version.h.cmake rename to plugins/clang/version.h.cmake diff --git a/kdevplatform/plugins/classbrowser/.kateconfig b/plugins/classbrowser/.kateconfig similarity index 100% rename from kdevplatform/plugins/classbrowser/.kateconfig rename to plugins/classbrowser/.kateconfig diff --git a/kdevplatform/plugins/classbrowser/CMakeLists.txt b/plugins/classbrowser/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/classbrowser/CMakeLists.txt rename to plugins/classbrowser/CMakeLists.txt diff --git a/kdevplatform/plugins/classbrowser/Messages.sh b/plugins/classbrowser/Messages.sh similarity index 100% rename from kdevplatform/plugins/classbrowser/Messages.sh rename to plugins/classbrowser/Messages.sh diff --git a/kdevplatform/plugins/classbrowser/classbrowserplugin.cpp b/plugins/classbrowser/classbrowserplugin.cpp similarity index 100% rename from kdevplatform/plugins/classbrowser/classbrowserplugin.cpp rename to plugins/classbrowser/classbrowserplugin.cpp diff --git a/kdevplatform/plugins/classbrowser/classbrowserplugin.h b/plugins/classbrowser/classbrowserplugin.h similarity index 100% rename from kdevplatform/plugins/classbrowser/classbrowserplugin.h rename to plugins/classbrowser/classbrowserplugin.h diff --git a/kdevplatform/plugins/classbrowser/classtree.cpp b/plugins/classbrowser/classtree.cpp similarity index 100% rename from kdevplatform/plugins/classbrowser/classtree.cpp rename to plugins/classbrowser/classtree.cpp diff --git a/kdevplatform/plugins/classbrowser/classtree.h b/plugins/classbrowser/classtree.h similarity index 100% rename from kdevplatform/plugins/classbrowser/classtree.h rename to plugins/classbrowser/classtree.h diff --git a/kdevplatform/plugins/classbrowser/classwidget.cpp b/plugins/classbrowser/classwidget.cpp similarity index 100% rename from kdevplatform/plugins/classbrowser/classwidget.cpp rename to plugins/classbrowser/classwidget.cpp diff --git a/kdevplatform/plugins/classbrowser/classwidget.h b/plugins/classbrowser/classwidget.h similarity index 100% rename from kdevplatform/plugins/classbrowser/classwidget.h rename to plugins/classbrowser/classwidget.h diff --git a/kdevplatform/plugins/classbrowser/kdevclassbrowser.json b/plugins/classbrowser/kdevclassbrowser.json similarity index 100% rename from kdevplatform/plugins/classbrowser/kdevclassbrowser.json rename to plugins/classbrowser/kdevclassbrowser.json diff --git a/kdevplatform/plugins/classbrowser/kdevclassbrowser.qrc b/plugins/classbrowser/kdevclassbrowser.qrc similarity index 100% rename from kdevplatform/plugins/classbrowser/kdevclassbrowser.qrc rename to plugins/classbrowser/kdevclassbrowser.qrc diff --git a/kdevplatform/plugins/classbrowser/kdevclassbrowser.rc b/plugins/classbrowser/kdevclassbrowser.rc similarity index 100% rename from kdevplatform/plugins/classbrowser/kdevclassbrowser.rc rename to plugins/classbrowser/kdevclassbrowser.rc diff --git a/projectmanagers/cmake/CMakeLists.txt b/plugins/cmake/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/CMakeLists.txt rename to plugins/cmake/CMakeLists.txt diff --git a/projectmanagers/cmake/Messages.sh b/plugins/cmake/Messages.sh similarity index 100% rename from projectmanagers/cmake/Messages.sh rename to plugins/cmake/Messages.sh diff --git a/projectmanagers/cmake/cmakebuilddirchooser.cpp b/plugins/cmake/cmakebuilddirchooser.cpp similarity index 100% rename from projectmanagers/cmake/cmakebuilddirchooser.cpp rename to plugins/cmake/cmakebuilddirchooser.cpp diff --git a/projectmanagers/cmake/cmakebuilddirchooser.h b/plugins/cmake/cmakebuilddirchooser.h similarity index 100% rename from projectmanagers/cmake/cmakebuilddirchooser.h rename to plugins/cmake/cmakebuilddirchooser.h diff --git a/projectmanagers/cmake/cmakebuilddirchooser.ui b/plugins/cmake/cmakebuilddirchooser.ui similarity index 100% rename from projectmanagers/cmake/cmakebuilddirchooser.ui rename to plugins/cmake/cmakebuilddirchooser.ui diff --git a/projectmanagers/cmake/cmakebuilderconfig.kcfg b/plugins/cmake/cmakebuilderconfig.kcfg similarity index 100% rename from projectmanagers/cmake/cmakebuilderconfig.kcfg rename to plugins/cmake/cmakebuilderconfig.kcfg diff --git a/projectmanagers/cmake/cmakebuilderconfig.kcfgc b/plugins/cmake/cmakebuilderconfig.kcfgc similarity index 100% rename from projectmanagers/cmake/cmakebuilderconfig.kcfgc rename to plugins/cmake/cmakebuilderconfig.kcfgc diff --git a/projectmanagers/cmake/cmakecodecompletionmodel.cpp b/plugins/cmake/cmakecodecompletionmodel.cpp similarity index 100% rename from projectmanagers/cmake/cmakecodecompletionmodel.cpp rename to plugins/cmake/cmakecodecompletionmodel.cpp diff --git a/projectmanagers/cmake/cmakecodecompletionmodel.h b/plugins/cmake/cmakecodecompletionmodel.h similarity index 100% rename from projectmanagers/cmake/cmakecodecompletionmodel.h rename to plugins/cmake/cmakecodecompletionmodel.h diff --git a/projectmanagers/cmake/cmakecommandscontents.cpp b/plugins/cmake/cmakecommandscontents.cpp similarity index 100% rename from projectmanagers/cmake/cmakecommandscontents.cpp rename to plugins/cmake/cmakecommandscontents.cpp diff --git a/projectmanagers/cmake/cmakecommandscontents.h b/plugins/cmake/cmakecommandscontents.h similarity index 100% rename from projectmanagers/cmake/cmakecommandscontents.h rename to plugins/cmake/cmakecommandscontents.h diff --git a/projectmanagers/cmake/cmakecommitchangesjob.cpp b/plugins/cmake/cmakecommitchangesjob.cpp similarity index 100% rename from projectmanagers/cmake/cmakecommitchangesjob.cpp rename to plugins/cmake/cmakecommitchangesjob.cpp diff --git a/projectmanagers/cmake/cmakecommitchangesjob.h b/plugins/cmake/cmakecommitchangesjob.h similarity index 100% rename from projectmanagers/cmake/cmakecommitchangesjob.h rename to plugins/cmake/cmakecommitchangesjob.h diff --git a/projectmanagers/cmake/cmakedoc.h b/plugins/cmake/cmakedoc.h similarity index 100% rename from projectmanagers/cmake/cmakedoc.h rename to plugins/cmake/cmakedoc.h diff --git a/projectmanagers/cmake/cmakedocumentation.cpp b/plugins/cmake/cmakedocumentation.cpp similarity index 100% rename from projectmanagers/cmake/cmakedocumentation.cpp rename to plugins/cmake/cmakedocumentation.cpp diff --git a/projectmanagers/cmake/cmakedocumentation.h b/plugins/cmake/cmakedocumentation.h similarity index 100% rename from projectmanagers/cmake/cmakedocumentation.h rename to plugins/cmake/cmakedocumentation.h diff --git a/projectmanagers/cmake/cmakeedit.cpp b/plugins/cmake/cmakeedit.cpp similarity index 100% rename from projectmanagers/cmake/cmakeedit.cpp rename to plugins/cmake/cmakeedit.cpp diff --git a/projectmanagers/cmake/cmakeedit.h b/plugins/cmake/cmakeedit.h similarity index 100% rename from projectmanagers/cmake/cmakeedit.h rename to plugins/cmake/cmakeedit.h diff --git a/projectmanagers/cmake/cmakeextraargumentshistory.cpp b/plugins/cmake/cmakeextraargumentshistory.cpp similarity index 100% rename from projectmanagers/cmake/cmakeextraargumentshistory.cpp rename to plugins/cmake/cmakeextraargumentshistory.cpp diff --git a/projectmanagers/cmake/cmakeextraargumentshistory.h b/plugins/cmake/cmakeextraargumentshistory.h similarity index 100% rename from projectmanagers/cmake/cmakeextraargumentshistory.h rename to plugins/cmake/cmakeextraargumentshistory.h diff --git a/projectmanagers/cmake/cmakehelpdocumentation.cpp b/plugins/cmake/cmakehelpdocumentation.cpp similarity index 100% rename from projectmanagers/cmake/cmakehelpdocumentation.cpp rename to plugins/cmake/cmakehelpdocumentation.cpp diff --git a/projectmanagers/cmake/cmakehelpdocumentation.h b/plugins/cmake/cmakehelpdocumentation.h similarity index 100% rename from projectmanagers/cmake/cmakehelpdocumentation.h rename to plugins/cmake/cmakehelpdocumentation.h diff --git a/projectmanagers/cmake/cmakeimportjsonjob.cpp b/plugins/cmake/cmakeimportjsonjob.cpp similarity index 98% rename from projectmanagers/cmake/cmakeimportjsonjob.cpp rename to plugins/cmake/cmakeimportjsonjob.cpp index 4279d8106c..004ae18fe0 100644 --- a/projectmanagers/cmake/cmakeimportjsonjob.cpp +++ b/plugins/cmake/cmakeimportjsonjob.cpp @@ -1,186 +1,186 @@ /* KDevelop CMake Support * * Copyright 2014 Kevin Funk * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include "cmakeimportjsonjob.h" #include "cmakeutils.h" #include "cmakeprojectdata.h" #include "cmakemodelitems.h" #include "debug.h" -#include +#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace KDevelop; namespace { CMakeFilesCompilationData importCommands(const Path& commandsFile) { // NOTE: to get compile_commands.json, you need -DCMAKE_EXPORT_COMPILE_COMMANDS=ON QFile f(commandsFile.toLocalFile()); bool r = f.open(QFile::ReadOnly|QFile::Text); if(!r) { qCWarning(CMAKE) << "Couldn't open commands file" << commandsFile; return {}; } qCDebug(CMAKE) << "Found commands file" << commandsFile; CMakeFilesCompilationData data; QJsonParseError error; const QJsonDocument document = QJsonDocument::fromJson(f.readAll(), &error); if (error.error) { qCWarning(CMAKE) << "Failed to parse JSON in commands file:" << error.errorString() << commandsFile; data.isValid = false; return data; } else if (!document.isArray()) { qCWarning(CMAKE) << "JSON document in commands file is not an array: " << commandsFile; data.isValid = false; return data; } MakeFileResolver resolver; static const QString KEY_COMMAND = QStringLiteral("command"); static const QString KEY_DIRECTORY = QStringLiteral("directory"); static const QString KEY_FILE = QStringLiteral("file"); auto rt = ICore::self()->runtimeController()->currentRuntime(); foreach(const QJsonValue& value, document.array()) { if (!value.isObject()) { qCWarning(CMAKE) << "JSON command file entry is not an object:" << value; continue; } const QJsonObject entry = value.toObject(); if (!entry.contains(KEY_FILE) || !entry.contains(KEY_COMMAND) || !entry.contains(KEY_DIRECTORY)) { qCWarning(CMAKE) << "JSON command file entry does not contain required keys:" << entry; continue; } PathResolutionResult result = resolver.processOutput(entry[KEY_COMMAND].toString(), entry[KEY_DIRECTORY].toString()); auto convert = [rt](const Path &path) { return rt->pathInHost(path); }; CMakeFile ret; ret.includes = kTransform(result.paths, convert); ret.frameworkDirectories = kTransform(result.frameworkDirectories, convert); ret.defines = result.defines; const Path path(rt->pathInHost(Path(entry[KEY_FILE].toString()))); qCDebug(CMAKE) << "entering..." << path << entry[KEY_FILE]; data.files[path] = ret; } data.isValid = true; return data; } ImportData import(const Path& commandsFile, const Path &targetsFilePath, const QString &sourceDir, const KDevelop::Path &buildPath) { QHash> cmakeTargets; //we don't have target type information in json, so we just announce all of them as exes const auto targets = CMake::enumerateTargets(targetsFilePath, sourceDir, buildPath); for(auto it = targets.constBegin(), itEnd = targets.constEnd(); it!=itEnd; ++it) { cmakeTargets[it.key()] = kTransform>(*it, [](const QString &targetName) { return CMakeTarget{CMakeTarget::Executable, targetName}; }); } return ImportData { importCommands(commandsFile), cmakeTargets, CMake::importTestSuites(buildPath) }; } } CMakeImportJsonJob::CMakeImportJsonJob(IProject* project, QObject* parent) : KJob(parent) , m_project(project) , m_data({}) { connect(&m_futureWatcher, &QFutureWatcher::finished, this, &CMakeImportJsonJob::importCompileCommandsJsonFinished); } CMakeImportJsonJob::~CMakeImportJsonJob() {} void CMakeImportJsonJob::start() { auto commandsFile = CMake::commandsFile(project()); if (!QFileInfo::exists(commandsFile.toLocalFile())) { qCWarning(CMAKE) << "Could not import CMake project" << project()->path() << "('compile_commands.json' missing)"; emitResult(); return; } const Path currentBuildDir = CMake::currentBuildDir(m_project); Q_ASSERT (!currentBuildDir.isEmpty()); const Path targetsFilePath = CMake::targetDirectoriesFile(m_project); const QString sourceDir = m_project->path().toLocalFile(); auto rt = ICore::self()->runtimeController()->currentRuntime(); auto future = QtConcurrent::run(import, commandsFile, targetsFilePath, sourceDir, rt->pathInRuntime(currentBuildDir)); m_futureWatcher.setFuture(future); } void CMakeImportJsonJob::importCompileCommandsJsonFinished() { Q_ASSERT(m_project->thread() == QThread::currentThread()); Q_ASSERT(m_futureWatcher.isFinished()); auto future = m_futureWatcher.future(); auto data = future.result(); if (!data.compilationData.isValid) { qCWarning(CMAKE) << "Could not import CMake project ('compile_commands.json' invalid)"; emitResult(); return; } m_data = CMakeProjectData {data.targets, data.compilationData, data.testSuites}; qCDebug(CMAKE) << "Done importing, found" << data.compilationData.files.count() << "entries for" << project()->path(); emitResult(); } IProject* CMakeImportJsonJob::project() const { return m_project; } CMakeProjectData CMakeImportJsonJob::projectData() const { Q_ASSERT(!m_futureWatcher.isRunning()); return m_data; } #include "moc_cmakeimportjsonjob.cpp" diff --git a/projectmanagers/cmake/cmakeimportjsonjob.h b/plugins/cmake/cmakeimportjsonjob.h similarity index 100% rename from projectmanagers/cmake/cmakeimportjsonjob.h rename to plugins/cmake/cmakeimportjsonjob.h diff --git a/projectmanagers/cmake/cmakemanager.cpp b/plugins/cmake/cmakemanager.cpp similarity index 99% rename from projectmanagers/cmake/cmakemanager.cpp rename to plugins/cmake/cmakemanager.cpp index b062c6805f..eba0f9f8ba 100644 --- a/projectmanagers/cmake/cmakemanager.cpp +++ b/plugins/cmake/cmakemanager.cpp @@ -1,982 +1,982 @@ /* KDevelop CMake Support * * Copyright 2006 Matt Rogers * Copyright 2007-2013 Aleix Pol * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include "cmakemanager.h" #include "cmakeedit.h" #include "cmakeutils.h" #include "cmakeprojectdata.h" #include "duchain/cmakeparsejob.h" #include "cmakeimportjsonjob.h" #include "debug.h" #include "settings/cmakepreferences.h" -#include #include "cmakecodecompletionmodel.h" #include "cmakenavigationwidget.h" #include "icmakedocumentation.h" #include "cmakemodelitems.h" #include "testing/ctestutils.h" #include "cmakeserverimportjob.h" #include "cmakeserver.h" #include "cmakeutils.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include +#include Q_DECLARE_METATYPE(KDevelop::IProject*); using namespace KDevelop; K_PLUGIN_FACTORY_WITH_JSON(CMakeSupportFactory, "kdevcmakemanager.json", registerPlugin(); ) const QString DIALOG_CAPTION = i18n("KDevelop - CMake Support"); CMakeManager::CMakeManager( QObject* parent, const QVariantList& ) : KDevelop::AbstractFileManagerPlugin( QStringLiteral("kdevcmakemanager"), parent ) , m_filter( new ProjectFilterManager( this ) ) { if (CMake::findExecutable().isEmpty()) { setErrorDescription(i18n("Unable to find a CMake executable. Is one installed on the system?")); m_highlight = nullptr; return; } m_highlight = new KDevelop::CodeHighlighting(this); new CodeCompletion(this, new CMakeCodeCompletionModel(this), name()); connect(ICore::self()->projectController(), &IProjectController::projectClosing, this, &CMakeManager::projectClosing); connect(ICore::self()->runtimeController(), &IRuntimeController::currentRuntimeChanged, this, &CMakeManager::reloadProjects); connect(this, &KDevelop::AbstractFileManagerPlugin::folderAdded, this, &CMakeManager::folderAdded); // m_fileSystemChangeTimer = new QTimer(this); // m_fileSystemChangeTimer->setSingleShot(true); // m_fileSystemChangeTimer->setInterval(100); // connect(m_fileSystemChangeTimer,SIGNAL(timeout()),SLOT(filesystemBuffererTimeout())); } CMakeManager::~CMakeManager() { parseLock()->lockForWrite(); // By locking the parse-mutexes, we make sure that parse jobs get a chance to finish in a good state parseLock()->unlock(); } bool CMakeManager::hasBuildInfo(ProjectBaseItem* item) const { return m_projects[item->project()].compilationData.files.contains(item->path()); } Path CMakeManager::buildDirectory(KDevelop::ProjectBaseItem *item) const { // CMakeFolderItem *fi=dynamic_cast(item); // Path ret; // ProjectBaseItem* parent = fi ? fi->formerParent() : item->parent(); // if (parent) // ret=buildDirectory(parent); // else // ret=Path(CMake::currentBuildDir(item->project())); // // if(fi) // ret.addPath(fi->buildDir()); // return ret; return Path(CMake::currentBuildDir(item->project())); } KDevelop::ProjectFolderItem* CMakeManager::import( KDevelop::IProject *project ) { CMake::checkForNeedingConfigure(project); return AbstractFileManagerPlugin::import(project); } class ChooseCMakeInterfaceJob : public ExecuteCompositeJob { Q_OBJECT public: ChooseCMakeInterfaceJob(IProject* project, CMakeManager* manager) : ExecuteCompositeJob(manager, {}) , project(project) , manager(manager) { } void start() override { server = new CMakeServer(project); connect(server, &CMakeServer::connected, this, &ChooseCMakeInterfaceJob::successfulConnection); connect(server, &CMakeServer::finished, this, &ChooseCMakeInterfaceJob::failedConnection); } private: void successfulConnection() { auto job = new CMakeServerImportJob(project, server, this); connect(job, &CMakeServerImportJob::result, this, [this, job](){ if (job->error() == 0) { manager->integrateData(job->projectData(), job->project()); } }); addSubjob(job); ExecuteCompositeJob::start(); } void failedConnection(int code) { Q_ASSERT(code > 0); Q_ASSERT(!server->isServerAvailable()); server->deleteLater(); server = nullptr; // parse the JSON file CMakeImportJsonJob* job = new CMakeImportJsonJob(project, this); // create the JSON file if it doesn't exist auto commandsFile = CMake::commandsFile(project); if (!QFileInfo::exists(commandsFile.toLocalFile())) { qCDebug(CMAKE) << "couldn't find commands file:" << commandsFile << "- now trying to reconfigure"; addSubjob(manager->builder()->configure(project)); } connect(job, &CMakeImportJsonJob::result, this, [this, job]() { if (job->error() == 0) { manager->integrateData(job->projectData(), job->project()); } }); addSubjob(job); ExecuteCompositeJob::start(); } CMakeServer* server = nullptr; IProject* const project; CMakeManager* const manager; }; KJob* CMakeManager::createImportJob(ProjectFolderItem* item) { auto project = item->project(); auto job = new ChooseCMakeInterfaceJob(project, this); connect(job, &KJob::result, this, [this, job, project](){ if (job->error() != 0) { qCWarning(CMAKE) << "couldn't load project successfully" << project->name(); m_projects.remove(project); } }); const QList jobs = { job, KDevelop::AbstractFileManagerPlugin::createImportJob(item) // generate the file system listing }; Q_ASSERT(!jobs.contains(nullptr)); ExecuteCompositeJob* composite = new ExecuteCompositeJob(this, jobs); // even if the cmake call failed, we want to load the project so that the project can be worked on composite->setAbortOnError(false); return composite; } // QList CMakeManager::parse(ProjectFolderItem*) // { return QList< ProjectFolderItem* >(); } // // QList CMakeManager::targets() const { QList ret; foreach(IProject* p, m_projects.keys()) { ret+=p->projectItem()->targetList(); } return ret; } CMakeFile CMakeManager::fileInformation(KDevelop::ProjectBaseItem* item) const { const auto & data = m_projects[item->project()].compilationData; QHash::const_iterator it = data.files.constFind(item->path()); if (it == data.files.constEnd()) { // if the item path contains a symlink, then we will not find it in the lookup table // as that only only stores canonicalized paths. Thus, we fallback to // to the canonicalized path and see if that brings up any matches const auto canonicalized = Path(QFileInfo(item->path().toLocalFile()).canonicalFilePath()); it = data.files.constFind(canonicalized); } if (it != data.files.constEnd()) { return *it; } else { // otherwise look for siblings and use the include paths of any we find const Path folder = item->folder() ? item->path() : item->path().parent(); for( it = data.files.constBegin(); it != data.files.constEnd(); ++it) { if (folder.isDirectParentOf(it.key())) { return *it; } } } // last-resort fallback: bubble up the parent chain, and keep looking for include paths if (auto parent = item->parent()) { return fileInformation(parent); } return {}; } Path::List CMakeManager::includeDirectories(KDevelop::ProjectBaseItem *item) const { return fileInformation(item).includes; } Path::List CMakeManager::frameworkDirectories(KDevelop::ProjectBaseItem *item) const { return fileInformation(item).frameworkDirectories; } QHash CMakeManager::defines(KDevelop::ProjectBaseItem *item ) const { return fileInformation(item).defines; } KDevelop::IProjectBuilder * CMakeManager::builder() const { IPlugin* i = core()->pluginController()->pluginForExtension( QStringLiteral("org.kdevelop.IProjectBuilder"), QStringLiteral("KDevCMakeBuilder")); Q_ASSERT(i); KDevelop::IProjectBuilder* _builder = i->extension(); Q_ASSERT(_builder ); return _builder ; } bool CMakeManager::reload(KDevelop::ProjectFolderItem* folder) { qCDebug(CMAKE) << "reloading" << folder->path(); IProject* project = folder->project(); if (!project->isReady()) return false; KJob *job = createImportJob(folder); project->setReloadJob(job); ICore::self()->runController()->registerJob( job ); if (folder == project->projectItem()) { connect(job, &KJob::finished, this, [project](KJob* job) { if (job->error()) return; KDevelop::ICore::self()->projectController()->reparseProject(project, true); }); } return true; } static void populateTargets(ProjectFolderItem* folder, const QHash>& targets) { static QSet standardTargets = { QStringLiteral("edit_cache"), QStringLiteral("rebuild_cache"), QStringLiteral("list_install_components"), QStringLiteral("test"), //not really standard, but applicable for make and ninja QStringLiteral("install") }; QList dirTargets = kFilter>(targets[folder->path()], [](const CMakeTarget& target) -> bool { return target.type != CMakeTarget::Custom || (!target.name.endsWith(QLatin1String("_automoc")) && !target.name.endsWith(QLatin1String("_autogen")) && !standardTargets.contains(target.name) && !target.name.startsWith(QLatin1String("install/")) ); }); const auto tl = folder->targetList(); foreach (ProjectTargetItem* item, tl) { const auto idx = kIndexOf(dirTargets, [item](const CMakeTarget& target) { return target.name == item->text(); }); if (idx < 0) { delete item; } else { dirTargets.removeAt(idx); } } foreach (const auto& target, dirTargets) { switch(target.type) { case CMakeTarget::Executable: new CMakeTargetItem(folder, target.name, target.artifacts.value(0)); break; case CMakeTarget::Library: new ProjectLibraryTargetItem(folder->project(), target.name, folder); break; case CMakeTarget::Custom: new ProjectTargetItem(folder->project(), target.name, folder); break; } } foreach (ProjectFolderItem* children, folder->folderList()) { populateTargets(children, targets); } } void CMakeManager::integrateData(const CMakeProjectData &data, KDevelop::IProject* project) { if (data.m_server) { connect(data.m_server.data(), &CMakeServer::response, project, [this, project](const QJsonObject& response) { serverResponse(project, response); }); } else { connect(data.watcher.data(), &QFileSystemWatcher::fileChanged, this, &CMakeManager::dirtyFile); connect(data.watcher.data(), &QFileSystemWatcher::directoryChanged, this, &CMakeManager::dirtyFile); } m_projects[project] = data; populateTargets(project->projectItem(), data.targets); CTestUtils::createTestSuites(data.m_testSuites, data.targets, project); } void CMakeManager::serverResponse(KDevelop::IProject* project, const QJsonObject& response) { if (response[QStringLiteral("type")] == QLatin1String("signal")) { if (response[QStringLiteral("name")] == QLatin1String("dirty")) { m_projects[project].m_server->configure({}); } else qCDebug(CMAKE) << "unhandled signal response..." << project << response; } else if (response[QStringLiteral("type")] == QLatin1String("reply")) { const auto inReplyTo = response[QStringLiteral("inReplyTo")]; if (inReplyTo == QLatin1String("configure")) { m_projects[project].m_server->compute(); } else if (inReplyTo == QLatin1String("compute")) { m_projects[project].m_server->codemodel(); } else if(inReplyTo == QLatin1String("codemodel")) { auto &data = m_projects[project]; CMakeServerImportJob::processCodeModel(response, data); populateTargets(project->projectItem(), data.targets); } else { qCDebug(CMAKE) << "unhandled reply response..." << project << response; } } else { qCDebug(CMAKE) << "unhandled response..." << project << response; } } // void CMakeManager::deletedWatchedDirectory(IProject* p, const QUrl &dir) // { // if(p->folder().equals(dir, QUrl::CompareWithoutTrailingSlash)) { // ICore::self()->projectController()->closeProject(p); // } else { // if(dir.fileName()=="CMakeLists.txt") { // QList folders = p->foldersForUrl(dir.upUrl()); // foreach(ProjectFolderItem* folder, folders) // reload(folder); // } else { // qDeleteAll(p->itemsForUrl(dir)); // } // } // } // void CMakeManager::directoryChanged(const QString& dir) // { // m_fileSystemChangedBuffer << dir; // m_fileSystemChangeTimer->start(); // } // void CMakeManager::filesystemBuffererTimeout() // { // Q_FOREACH(const QString& file, m_fileSystemChangedBuffer) { // realDirectoryChanged(file); // } // m_fileSystemChangedBuffer.clear(); // } // void CMakeManager::realDirectoryChanged(const QString& dir) // { // QUrl path(dir); // IProject* p=ICore::self()->projectController()->findProjectForUrl(dir); // if(!p || !p->isReady()) { // if(p) { // m_fileSystemChangedBuffer << dir; // m_fileSystemChangeTimer->start(); // } // return; // } // // if(!QFile::exists(dir)) { // path.adjustPath(QUrl::AddTrailingSlash); // deletedWatchedDirectory(p, path); // } else // dirtyFile(dir); // } QList< KDevelop::ProjectTargetItem * > CMakeManager::targets(KDevelop::ProjectFolderItem * folder) const { return folder->targetList(); } QString CMakeManager::name() const { return languageName().str(); } IndexedString CMakeManager::languageName() { static IndexedString name("CMake"); return name; } KDevelop::ParseJob * CMakeManager::createParseJob(const IndexedString &url) { return new CMakeParseJob(url, this); } KDevelop::ICodeHighlighting* CMakeManager::codeHighlighting() const { return m_highlight; } // ContextMenuExtension CMakeManager::contextMenuExtension( KDevelop::Context* context ) // { // if( context->type() != KDevelop::Context::ProjectItemContext ) // return IPlugin::contextMenuExtension( context ); // // KDevelop::ProjectItemContext* ctx = dynamic_cast( context ); // QList items = ctx->items(); // // if( items.isEmpty() ) // return IPlugin::contextMenuExtension( context ); // // m_clickedItems = items; // ContextMenuExtension menuExt; // if(items.count()==1 && dynamic_cast(items.first())) // { // QAction * action = new QAction( i18n( "Jump to Target Definition" ), this ); // connect( action, SIGNAL(triggered()), this, SLOT(jumpToDeclaration()) ); // menuExt.addAction( ContextMenuExtension::ProjectGroup, action ); // } // // return menuExt; // } // // void CMakeManager::jumpToDeclaration() // { // DUChainAttatched* du=dynamic_cast(m_clickedItems.first()); // if(du) // { // KTextEditor::Cursor c; // QUrl url; // { // KDevelop::DUChainReadLocker lock; // Declaration* decl = du->declaration().data(); // if(!decl) // return; // c = decl->rangeInCurrentRevision().start(); // url = decl->url().toUrl(); // } // // ICore::self()->documentController()->openDocument(url, c); // } // } // // // TODO: Port to Path API // bool CMakeManager::moveFilesAndFolders(const QList< ProjectBaseItem* > &items, ProjectFolderItem* toFolder) // { // using namespace CMakeEdit; // // ApplyChangesWidget changesWidget; // changesWidget.setCaption(DIALOG_CAPTION); // changesWidget.setInformation(i18n("Move files and folders within CMakeLists as follows:")); // // bool cmakeSuccessful = true; // CMakeFolderItem *nearestCMakeFolderItem = nearestCMakeFolder(toFolder); // IProject* project=toFolder->project(); // // QList movedUrls; // QList oldUrls; // foreach(ProjectBaseItem *movedItem, items) // { // QList dirtyItems = cmakeListedItemsAffectedByUrlChange(project, movedItem->url()); // QUrl movedItemNewUrl = toFolder->url(); // movedItemNewUrl.addPath(movedItem->baseName()); // if (movedItem->folder()) // movedItemNewUrl.adjustPath(QUrl::AddTrailingSlash); // foreach(ProjectBaseItem* dirtyItem, dirtyItems) // { // QUrl dirtyItemNewUrl = afterMoveUrl(dirtyItem->url(), movedItem->url(), movedItemNewUrl); // if (CMakeFolderItem* folder = dynamic_cast(dirtyItem)) // { // cmakeSuccessful &= changesWidgetRemoveCMakeFolder(folder, &changesWidget); // cmakeSuccessful &= changesWidgetAddFolder(dirtyItemNewUrl, nearestCMakeFolderItem, &changesWidget); // } // else if (dirtyItem->parent()->target()) // { // cmakeSuccessful &= changesWidgetMoveTargetFile(dirtyItem, dirtyItemNewUrl, &changesWidget); // } // } // // oldUrls += movedItem->url(); // movedUrls += movedItemNewUrl; // } // // if (changesWidget.hasDocuments() && cmakeSuccessful) // cmakeSuccessful &= changesWidget.exec() && changesWidget.applyAllChanges(); // // if (!cmakeSuccessful) // { // if (KMessageBox::questionYesNo( QApplication::activeWindow(), // i18n("Changes to CMakeLists failed, abort move?"), // DIALOG_CAPTION ) == KMessageBox::Yes) // return false; // } // // QList::const_iterator it1=oldUrls.constBegin(), it1End=oldUrls.constEnd(); // QList::const_iterator it2=movedUrls.constBegin(); // Q_ASSERT(oldUrls.size()==movedUrls.size()); // for(; it1!=it1End; ++it1, ++it2) // { // if (!KDevelop::renameUrl(project, *it1, *it2)) // return false; // // QList renamedItems = project->itemsForUrl(*it2); // bool dir = QFileInfo(it2->toLocalFile()).isDir(); // foreach(ProjectBaseItem* item, renamedItems) { // if(dir) // emit folderRenamed(Path(*it1), item->folder()); // else // emit fileRenamed(Path(*it1), item->file()); // } // } // // return true; // } // // bool CMakeManager::copyFilesAndFolders(const KDevelop::Path::List &items, KDevelop::ProjectFolderItem* toFolder) // { // IProject* project = toFolder->project(); // foreach(const Path& path, items) { // if (!KDevelop::copyUrl(project, path.toUrl(), toFolder->url())) // return false; // } // // return true; // } // // bool CMakeManager::removeFilesAndFolders(const QList &items) // { // using namespace CMakeEdit; // // IProject* p = 0; // QList urls; // foreach(ProjectBaseItem* item, items) // { // Q_ASSERT(item->folder() || item->file()); // // urls += item->url(); // if(!p) // p = item->project(); // } // // //First do CMakeLists changes // ApplyChangesWidget changesWidget; // changesWidget.setCaption(DIALOG_CAPTION); // changesWidget.setInformation(i18n("Remove files and folders from CMakeLists as follows:")); // // bool cmakeSuccessful = changesWidgetRemoveItems(cmakeListedItemsAffectedByItemsChanged(items).toSet(), &changesWidget); // // if (changesWidget.hasDocuments() && cmakeSuccessful) // cmakeSuccessful &= changesWidget.exec() && changesWidget.applyAllChanges(); // // if (!cmakeSuccessful) // { // if (KMessageBox::questionYesNo( QApplication::activeWindow(), // i18n("Changes to CMakeLists failed, abort deletion?"), // DIALOG_CAPTION ) == KMessageBox::Yes) // return false; // } // // bool ret = true; // //Then delete the files/folders // foreach(const QUrl& file, urls) // { // ret &= KDevelop::removeUrl(p, file, QDir(file.toLocalFile()).exists()); // } // // return ret; // } bool CMakeManager::removeFilesFromTargets(const QList &/*files*/) { // using namespace CMakeEdit; // // ApplyChangesWidget changesWidget; // changesWidget.setCaption(DIALOG_CAPTION); // changesWidget.setInformation(i18n("Modify project targets as follows:")); // // if (!files.isEmpty() && // changesWidgetRemoveFilesFromTargets(files, &changesWidget) && // changesWidget.exec() && // changesWidget.applyAllChanges()) { // return true; // } return false; } // ProjectFolderItem* CMakeManager::addFolder(const Path& folder, ProjectFolderItem* parent) // { // using namespace CMakeEdit; // // CMakeFolderItem *cmakeParent = nearestCMakeFolder(parent); // if(!cmakeParent) // return 0; // // ApplyChangesWidget changesWidget; // changesWidget.setCaption(DIALOG_CAPTION); // changesWidget.setInformation(i18n("Create folder '%1':", folder.lastPathSegment())); // // ///FIXME: use path in changes widget // changesWidgetAddFolder(folder.toUrl(), cmakeParent, &changesWidget); // // if(changesWidget.exec() && changesWidget.applyAllChanges()) // { // if(KDevelop::createFolder(folder.toUrl())) { //If saved we create the folder then the CMakeLists.txt file // Path newCMakeLists(folder, "CMakeLists.txt"); // KDevelop::createFile( newCMakeLists.toUrl() ); // } else // KMessageBox::error(0, i18n("Could not save the change."), // DIALOG_CAPTION); // } // // return 0; // } // // KDevelop::ProjectFileItem* CMakeManager::addFile( const Path& file, KDevelop::ProjectFolderItem* parent) // { // KDevelop::ProjectFileItem* created = 0; // if ( KDevelop::createFile(file.toUrl()) ) { // QList< ProjectFileItem* > files = parent->project()->filesForPath(IndexedString(file.pathOrUrl())); // if(!files.isEmpty()) // created = files.first(); // else // created = new KDevelop::ProjectFileItem( parent->project(), file, parent ); // } // return created; // } bool CMakeManager::addFilesToTarget(const QList< ProjectFileItem* > &/*_files*/, ProjectTargetItem* /*target*/) { return false; // using namespace CMakeEdit; // // const QSet headerExt = QSet() << ".h" << ".hpp" << ".hxx"; // QList< ProjectFileItem* > files = _files; // for (int i = files.count() - 1; i >= 0; --i) // { // QString fileName = files[i]->fileName(); // QString fileExt = fileName.mid(fileName.lastIndexOf('.')); // QList sameUrlItems = files[i]->project()->itemsForUrl(files[i]->url()); // if (headerExt.contains(fileExt)) // files.removeAt(i); // else foreach(ProjectBaseItem* item, sameUrlItems) // { // if (item->parent() == target) // { // files.removeAt(i); // break; // } // } // } // // if(files.isEmpty()) // return true; // // ApplyChangesWidget changesWidget; // changesWidget.setCaption(DIALOG_CAPTION); // changesWidget.setInformation(i18n("Modify target '%1' as follows:", target->baseName())); // // bool success = changesWidgetAddFilesToTarget(files, target, &changesWidget) && // changesWidget.exec() && // changesWidget.applyAllChanges(); // // if(!success) // KMessageBox::error(0, i18n("CMakeLists changes failed."), DIALOG_CAPTION); // // return success; } // bool CMakeManager::renameFileOrFolder(ProjectBaseItem *item, const Path &newPath) // { // using namespace CMakeEdit; // // ApplyChangesWidget changesWidget; // changesWidget.setCaption(DIALOG_CAPTION); // changesWidget.setInformation(i18n("Rename '%1' to '%2':", item->text(), // newPath.lastPathSegment())); // // bool cmakeSuccessful = true, changedCMakeLists=false; // IProject* project=item->project(); // const Path oldPath=item->path(); // QUrl oldUrl=oldPath.toUrl(); // if (item->file()) // { // QList targetFiles = cmakeListedItemsAffectedByUrlChange(project, oldUrl); // foreach(ProjectBaseItem* targetFile, targetFiles) // ///FIXME: use path in changes widget // cmakeSuccessful &= changesWidgetMoveTargetFile(targetFile, newPath.toUrl(), &changesWidget); // } // else if (CMakeFolderItem *folder = dynamic_cast(item)) // ///FIXME: use path in changes widget // cmakeSuccessful &= changesWidgetRenameFolder(folder, newPath.toUrl(), &changesWidget); // // item->setPath(newPath); // if (changesWidget.hasDocuments() && cmakeSuccessful) { // changedCMakeLists = changesWidget.exec() && changesWidget.applyAllChanges(); // cmakeSuccessful &= changedCMakeLists; // } // // if (!cmakeSuccessful) // { // if (KMessageBox::questionYesNo( QApplication::activeWindow(), // i18n("Changes to CMakeLists failed, abort rename?"), // DIALOG_CAPTION ) == KMessageBox::Yes) // return false; // } // // bool ret = KDevelop::renameUrl(project, oldUrl, newPath.toUrl()); // if(!ret) { // item->setPath(oldPath); // } // return ret; // } // // bool CMakeManager::renameFile(ProjectFileItem *item, const Path &newPath) // { // return renameFileOrFolder(item, newPath); // } // // bool CMakeManager::renameFolder(ProjectFolderItem* item, const Path &newPath) // { // return renameFileOrFolder(item, newPath); // } QWidget* CMakeManager::specialLanguageObjectNavigationWidget(const QUrl &url, const KTextEditor::Cursor& position) { KDevelop::TopDUContextPointer top= TopDUContextPointer(KDevelop::DUChain::self()->chainForDocument(url)); Declaration *decl=nullptr; if(top) { int useAt=top->findUseAt(top->transformToLocalRevision(position)); if(useAt>=0) { Use u=top->uses()[useAt]; decl=u.usedDeclaration(top->topContext()); } } CMakeNavigationWidget* doc=nullptr; if(decl) { doc=new CMakeNavigationWidget(top, decl); } else { const IDocument* d=ICore::self()->documentController()->documentForUrl(url); const KTextEditor::Document* e=d->textDocument(); KTextEditor::Cursor start=position, end=position, step(0,1); for(QChar i=e->characterAt(start); i.isLetter() || i=='_'; i=e->characterAt(start-=step)) {} start+=step; for(QChar i=e->characterAt(end); i.isLetter() || i=='_'; i=e->characterAt(end+=step)) {} QString id=e->text(KTextEditor::Range(start, end)); ICMakeDocumentation* docu=CMake::cmakeDocumentation(); if( docu ) { IDocumentation::Ptr desc=docu->description(id, url); if(desc) { doc=new CMakeNavigationWidget(top, desc); } } } return doc; } QPair CMakeManager::cacheValue(KDevelop::IProject* /*project*/, const QString& /*id*/) const { return QPair(); } // { // QPair ret; // if(project==0 && !m_projectsData.isEmpty()) // { // project=m_projectsData.keys().first(); // } // // // qCDebug(CMAKE) << "cache value " << id << project << (m_projectsData.contains(project) && m_projectsData[project].cache.contains(id)); // CMakeProjectData* data = m_projectsData[project]; // if(data && data->cache.contains(id)) // { // const CacheEntry& e=data->cache.value(id); // ret.first=e.value; // ret.second=e.doc; // } // return ret; // }Add // void CMakeManager::projectClosing(IProject* p) { m_projects.remove(p); // delete m_projectsData.take(p); // delete m_watchers.take(p); // // m_filter->remove(p); // // qCDebug(CMAKE) << "Project closed" << p; } // // QStringList CMakeManager::processGeneratorExpression(const QStringList& expr, IProject* project, ProjectTargetItem* target) const // { // QStringList ret; // const CMakeProjectData* data = m_projectsData[project]; // GenerationExpressionSolver exec(data->properties, data->targetAlias); // if(target) // exec.setTargetName(target->text()); // // exec.defineVariable("INSTALL_PREFIX", data->vm.value("CMAKE_INSTALL_PREFIX").join(QString())); // for(QStringList::const_iterator it = expr.constBegin(), itEnd = expr.constEnd(); it!=itEnd; ++it) { // QStringList val = exec.run(*it).split(';'); // ret += val; // } // return ret; // } /* void CMakeManager::addPending(const Path& path, CMakeFolderItem* folder) { m_pending.insert(path, folder); } CMakeFolderItem* CMakeManager::takePending(const Path& path) { return m_pending.take(path); } void CMakeManager::addWatcher(IProject* p, const QString& path) { if (QFileSystemWatcher* watcher = m_watchers.value(p)) { watcher->addPath(path); } else { qCWarning(CMAKE) << "Could not find a watcher for project" << p << p->name() << ", path " << path; Q_ASSERT(false); } }*/ // CMakeProjectData CMakeManager::projectData(IProject* project) // { // Q_ASSERT(QThread::currentThread() == project->thread()); // CMakeProjectData* data = m_projectsData[project]; // if(!data) { // data = new CMakeProjectData; // m_projectsData[project] = data; // } // return *data; // } ProjectFilterManager* CMakeManager::filterManager() const { return m_filter; } void CMakeManager::dirtyFile(const QString& path) { qCDebug(CMAKE) << "dirty!" << path; //we initialize again hte project that sent the signal for(QHash::const_iterator it = m_projects.constBegin(), itEnd = m_projects.constEnd(); it!=itEnd; ++it) { if(it->watcher == sender()) { reload(it.key()->projectItem()); break; } } } void CMakeManager::folderAdded(KDevelop::ProjectFolderItem* folder) { populateTargets(folder, m_projects[folder->project()].targets); } ProjectFolderItem* CMakeManager::createFolderItem(IProject* project, const Path& path, ProjectBaseItem* parent) { // TODO: when we have data about targets, use folders with targets or similar if (QFile::exists(path.toLocalFile()+"/CMakeLists.txt")) return new KDevelop::ProjectBuildFolderItem( project, path, parent ); else return KDevelop::AbstractFileManagerPlugin::createFolderItem(project, path, parent); } int CMakeManager::perProjectConfigPages() const { return 1; } ConfigPage* CMakeManager::perProjectConfigPage(int number, const ProjectConfigOptions& options, QWidget* parent) { if (number == 0) { return new CMakePreferences(this, options, parent); } return nullptr; } void CMakeManager::reloadProjects() { for(IProject* project: m_projects.keys()) { CMake::checkForNeedingConfigure(project); reload(project->projectItem()); } } #include "cmakemanager.moc" diff --git a/projectmanagers/cmake/cmakemanager.h b/plugins/cmake/cmakemanager.h similarity index 100% rename from projectmanagers/cmake/cmakemanager.h rename to plugins/cmake/cmakemanager.h diff --git a/projectmanagers/cmake/cmakemodelitems.cpp b/plugins/cmake/cmakemodelitems.cpp similarity index 100% rename from projectmanagers/cmake/cmakemodelitems.cpp rename to plugins/cmake/cmakemodelitems.cpp diff --git a/projectmanagers/cmake/cmakemodelitems.h b/plugins/cmake/cmakemodelitems.h similarity index 100% rename from projectmanagers/cmake/cmakemodelitems.h rename to plugins/cmake/cmakemodelitems.h diff --git a/projectmanagers/cmake/cmakenavigationwidget.cpp b/plugins/cmake/cmakenavigationwidget.cpp similarity index 100% rename from projectmanagers/cmake/cmakenavigationwidget.cpp rename to plugins/cmake/cmakenavigationwidget.cpp diff --git a/projectmanagers/cmake/cmakenavigationwidget.h b/plugins/cmake/cmakenavigationwidget.h similarity index 100% rename from projectmanagers/cmake/cmakenavigationwidget.h rename to plugins/cmake/cmakenavigationwidget.h diff --git a/projectmanagers/cmake/cmakepossibleroots.ui b/plugins/cmake/cmakepossibleroots.ui similarity index 100% rename from projectmanagers/cmake/cmakepossibleroots.ui rename to plugins/cmake/cmakepossibleroots.ui diff --git a/projectmanagers/cmake/cmakeprojectdata.cpp b/plugins/cmake/cmakeprojectdata.cpp similarity index 100% rename from projectmanagers/cmake/cmakeprojectdata.cpp rename to plugins/cmake/cmakeprojectdata.cpp diff --git a/projectmanagers/cmake/cmakeprojectdata.h b/plugins/cmake/cmakeprojectdata.h similarity index 100% rename from projectmanagers/cmake/cmakeprojectdata.h rename to plugins/cmake/cmakeprojectdata.h diff --git a/projectmanagers/cmake/cmakeserver.cpp b/plugins/cmake/cmakeserver.cpp similarity index 100% rename from projectmanagers/cmake/cmakeserver.cpp rename to plugins/cmake/cmakeserver.cpp diff --git a/projectmanagers/cmake/cmakeserver.h b/plugins/cmake/cmakeserver.h similarity index 100% rename from projectmanagers/cmake/cmakeserver.h rename to plugins/cmake/cmakeserver.h diff --git a/projectmanagers/cmake/cmakeserverimportjob.cpp b/plugins/cmake/cmakeserverimportjob.cpp similarity index 99% rename from projectmanagers/cmake/cmakeserverimportjob.cpp rename to plugins/cmake/cmakeserverimportjob.cpp index 487f5cd961..4e22cfcb57 100644 --- a/projectmanagers/cmake/cmakeserverimportjob.cpp +++ b/plugins/cmake/cmakeserverimportjob.cpp @@ -1,195 +1,195 @@ /* KDevelop CMake Support * * Copyright 2017 Aleix Pol Gonzalez * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include "cmakeserverimportjob.h" #include "cmakeutils.h" #include "cmakeserver.h" #include #include #include #include -#include +#include #include #include #include #include #include "debug.h" static QString unescape(const QStringRef& input) { QString output; output.reserve(input.length()); bool isEscaped = false; for (auto it = input.data(), end = it + input.length(); it != end; ++it) { QChar c = *it; if (!isEscaped && c == '\\') { isEscaped = true; } else { output.append(c); isEscaped = false; } } return output; } static QHash processDefines(const QString &compileFlags, const QJsonArray &defines) { QHash ret; const auto& defineRx = MakeFileResolver::defineRegularExpression(); auto it = defineRx.globalMatch(compileFlags); while (it.hasNext()) { const auto match = it.next(); QString value; if (match.lastCapturedIndex() > 1) { value = unescape(match.capturedRef(match.lastCapturedIndex())); } ret[match.captured(1)] = value; } for (const QJsonValue& defineValue: defines) { const QString define = defineValue.toString(); const int eqIdx = define.indexOf(QLatin1Char('=')); if (eqIdx<0) { ret[define] = QString(); } else { ret[define.left(eqIdx)] = define.mid(eqIdx+1); } } return ret; } CMakeTarget::Type typeToEnum(const QJsonObject& target) { static const QHash s_types = { {QStringLiteral("EXECUTABLE"), CMakeTarget::Executable}, {QStringLiteral("STATIC_LIBRARY"), CMakeTarget::Library}, {QStringLiteral("MODULE_LIBRARY"), CMakeTarget::Library}, {QStringLiteral("SHARED_LIBRARY"), CMakeTarget::Library}, {QStringLiteral("OBJECT_LIBRARY"), CMakeTarget::Library}, {QStringLiteral("INTERFACE_LIBRARY"), CMakeTarget::Library} }; const auto value = target.value(QLatin1String("type")).toString(); return s_types.value(value, CMakeTarget::Custom); } void CMakeServerImportJob::processCodeModel(const QJsonObject &response, CMakeProjectData &data) { const auto configs = response.value(QStringLiteral("configurations")).toArray(); qCDebug(CMAKE) << "process response" << response; data.targets.clear(); data.compilationData.files.clear(); const auto rt = KDevelop::ICore::self()->runtimeController()->currentRuntime(); for (const auto &config: configs) { const auto projects = config.toObject().value(QStringLiteral("projects")).toArray(); for (const auto &project: projects) { const auto targets = project.toObject().value(QStringLiteral("targets")).toArray(); for (const auto &targetObject: targets) { const auto target = targetObject.toObject(); const KDevelop::Path targetDir = rt->pathInHost(KDevelop::Path(target.value(QStringLiteral("sourceDirectory")).toString())); data.targets[targetDir] += CMakeTarget { typeToEnum(target), target.value(QStringLiteral("name")).toString(), kTransform(target[QLatin1String("artifacts")].toArray(), [](const QJsonValue& val) { return KDevelop::Path(val.toString()); }) }; const auto fileGroups = target.value(QStringLiteral("fileGroups")).toArray(); for (const auto &fileGroupValue: fileGroups) { const auto fileGroup = fileGroupValue.toObject(); CMakeFile file; file.includes = kTransform(fileGroup.value(QStringLiteral("includePath")).toArray(), [](const QJsonValue& val) { return KDevelop::Path(val.toObject().value(QStringLiteral("path")).toString()); }); file.defines = processDefines(fileGroup.value(QStringLiteral("compileFlags")).toString(), fileGroup.value(QStringLiteral("defines")).toArray()); const auto sourcesArray = fileGroup.value(QStringLiteral("sources")).toArray(); const KDevelop::Path::List sources = kTransform(sourcesArray, [targetDir](const QJsonValue& val) { return KDevelop::Path(targetDir, val.toString()); }); for (const auto& source: sources) { // NOTE: we use the canonical file path to prevent issues with symlinks in the path // leading to lookup failures const auto localFile = rt->pathInHost(source); const auto canonicalFile = QFileInfo(source.toLocalFile()).canonicalFilePath(); const auto sourcePath = localFile.toLocalFile() == canonicalFile ? localFile : KDevelop::Path(canonicalFile); data.compilationData.files[sourcePath] = file; } qCDebug(CMAKE) << "registering..." << sources << file; } } } } } CMakeServerImportJob::CMakeServerImportJob(KDevelop::IProject* project, CMakeServer* server, QObject* parent) : KJob(parent) , m_server(server) , m_project(project) { connect(m_server.data(), &CMakeServer::disconnected, this, [this]() { setError(UnexpectedDisconnect); emitResult(); }); } void CMakeServerImportJob::start() { if (m_server->isServerAvailable()) doStart(); else connect(m_server.data(), &CMakeServer::connected, this, &CMakeServerImportJob::doStart); } void CMakeServerImportJob::doStart() { connect(m_server.data(), &CMakeServer::response, this, &CMakeServerImportJob::processResponse); m_server->handshake(m_project->path(), CMake::currentBuildDir(m_project)); } void CMakeServerImportJob::processResponse(const QJsonObject& response) { const auto responseType = response.value(QStringLiteral("type")); if (responseType == QLatin1String("reply")) { const auto inReplyTo = response.value(QStringLiteral("inReplyTo")); qCDebug(CMAKE) << "replying..." << inReplyTo; if (inReplyTo == QLatin1String("handshake")) { m_server->configure({}); } else if (inReplyTo == QLatin1String("configure")) { m_server->compute(); } else if (inReplyTo == QLatin1String("compute")) { m_server->codemodel(); } else if(inReplyTo == QLatin1String("codemodel")) { processCodeModel(response, m_data); m_data.m_testSuites = CMake::importTestSuites(CMake::currentBuildDir(m_project)); m_data.m_server = m_server; emitResult(); } else { qCWarning(CMAKE) << "unhandled reply" << response; } } else if(responseType == QLatin1String("error")) { setError(ErrorResponse); setErrorText(response.value(QStringLiteral("errorMessage")).toString()); qCWarning(CMAKE) << "error!!" << response; emitResult(); } else { qCWarning(CMAKE) << "unhandled message" << response; } } diff --git a/projectmanagers/cmake/cmakeserverimportjob.h b/plugins/cmake/cmakeserverimportjob.h similarity index 100% rename from projectmanagers/cmake/cmakeserverimportjob.h rename to plugins/cmake/cmakeserverimportjob.h diff --git a/projectmanagers/cmake/cmakeutils.cpp b/plugins/cmake/cmakeutils.cpp similarity index 100% rename from projectmanagers/cmake/cmakeutils.cpp rename to plugins/cmake/cmakeutils.cpp diff --git a/projectmanagers/cmake/cmakeutils.h b/plugins/cmake/cmakeutils.h similarity index 100% rename from projectmanagers/cmake/cmakeutils.h rename to plugins/cmake/cmakeutils.h diff --git a/projectmanagers/cmake/duchain/cmakeparsejob.cpp b/plugins/cmake/duchain/cmakeparsejob.cpp similarity index 100% rename from projectmanagers/cmake/duchain/cmakeparsejob.cpp rename to plugins/cmake/duchain/cmakeparsejob.cpp diff --git a/projectmanagers/cmake/duchain/cmakeparsejob.h b/plugins/cmake/duchain/cmakeparsejob.h similarity index 100% rename from projectmanagers/cmake/duchain/cmakeparsejob.h rename to plugins/cmake/duchain/cmakeparsejob.h diff --git a/projectmanagers/cmake/duchain/contextbuilder.cpp b/plugins/cmake/duchain/contextbuilder.cpp similarity index 100% rename from projectmanagers/cmake/duchain/contextbuilder.cpp rename to plugins/cmake/duchain/contextbuilder.cpp diff --git a/projectmanagers/cmake/duchain/contextbuilder.h b/plugins/cmake/duchain/contextbuilder.h similarity index 100% rename from projectmanagers/cmake/duchain/contextbuilder.h rename to plugins/cmake/duchain/contextbuilder.h diff --git a/projectmanagers/cmake/duchain/declarationbuilder.cpp b/plugins/cmake/duchain/declarationbuilder.cpp similarity index 100% rename from projectmanagers/cmake/duchain/declarationbuilder.cpp rename to plugins/cmake/duchain/declarationbuilder.cpp diff --git a/projectmanagers/cmake/duchain/declarationbuilder.h b/plugins/cmake/duchain/declarationbuilder.h similarity index 100% rename from projectmanagers/cmake/duchain/declarationbuilder.h rename to plugins/cmake/duchain/declarationbuilder.h diff --git a/projectmanagers/cmake/duchain/usebuilder.cpp b/plugins/cmake/duchain/usebuilder.cpp similarity index 100% rename from projectmanagers/cmake/duchain/usebuilder.cpp rename to plugins/cmake/duchain/usebuilder.cpp diff --git a/projectmanagers/cmake/duchain/usebuilder.h b/plugins/cmake/duchain/usebuilder.h similarity index 100% rename from projectmanagers/cmake/duchain/usebuilder.h rename to plugins/cmake/duchain/usebuilder.h diff --git a/projectmanagers/cmake/icmakedocumentation.h b/plugins/cmake/icmakedocumentation.h similarity index 100% rename from projectmanagers/cmake/icmakedocumentation.h rename to plugins/cmake/icmakedocumentation.h diff --git a/projectmanagers/cmake/icmakemanager.h b/plugins/cmake/icmakemanager.h similarity index 100% rename from projectmanagers/cmake/icmakemanager.h rename to plugins/cmake/icmakemanager.h diff --git a/projectmanagers/cmake/icons/128-apps-cmake.png b/plugins/cmake/icons/128-apps-cmake.png similarity index 100% rename from projectmanagers/cmake/icons/128-apps-cmake.png rename to plugins/cmake/icons/128-apps-cmake.png diff --git a/projectmanagers/cmake/icons/16-apps-cmake.png b/plugins/cmake/icons/16-apps-cmake.png similarity index 100% rename from projectmanagers/cmake/icons/16-apps-cmake.png rename to plugins/cmake/icons/16-apps-cmake.png diff --git a/projectmanagers/cmake/icons/32-apps-cmake.png b/plugins/cmake/icons/32-apps-cmake.png similarity index 100% rename from projectmanagers/cmake/icons/32-apps-cmake.png rename to plugins/cmake/icons/32-apps-cmake.png diff --git a/projectmanagers/cmake/icons/64-apps-cmake.png b/plugins/cmake/icons/64-apps-cmake.png similarity index 100% rename from projectmanagers/cmake/icons/64-apps-cmake.png rename to plugins/cmake/icons/64-apps-cmake.png diff --git a/projectmanagers/cmake/icons/CMakeLists.txt b/plugins/cmake/icons/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/icons/CMakeLists.txt rename to plugins/cmake/icons/CMakeLists.txt diff --git a/projectmanagers/cmake/kdevcmakedocumentation.json b/plugins/cmake/kdevcmakedocumentation.json similarity index 100% rename from projectmanagers/cmake/kdevcmakedocumentation.json rename to plugins/cmake/kdevcmakedocumentation.json diff --git a/projectmanagers/cmake/kdevcmakemanager.json b/plugins/cmake/kdevcmakemanager.json similarity index 100% rename from projectmanagers/cmake/kdevcmakemanager.json rename to plugins/cmake/kdevcmakemanager.json diff --git a/projectmanagers/cmake/parser/.krazy b/plugins/cmake/parser/.krazy similarity index 100% rename from projectmanagers/cmake/parser/.krazy rename to plugins/cmake/parser/.krazy diff --git a/projectmanagers/cmake/parser/EncodingC.c b/plugins/cmake/parser/EncodingC.c similarity index 100% rename from projectmanagers/cmake/parser/EncodingC.c rename to plugins/cmake/parser/EncodingC.c diff --git a/projectmanagers/cmake/parser/cmListFileLexer.c b/plugins/cmake/parser/cmListFileLexer.c similarity index 100% rename from projectmanagers/cmake/parser/cmListFileLexer.c rename to plugins/cmake/parser/cmListFileLexer.c diff --git a/projectmanagers/cmake/parser/cmListFileLexer.h b/plugins/cmake/parser/cmListFileLexer.h similarity index 100% rename from projectmanagers/cmake/parser/cmListFileLexer.h rename to plugins/cmake/parser/cmListFileLexer.h diff --git a/projectmanagers/cmake/parser/cmStandardLexer.h b/plugins/cmake/parser/cmStandardLexer.h similarity index 100% rename from projectmanagers/cmake/parser/cmStandardLexer.h rename to plugins/cmake/parser/cmStandardLexer.h diff --git a/projectmanagers/cmake/parser/cmakecachereader.cpp b/plugins/cmake/parser/cmakecachereader.cpp similarity index 100% rename from projectmanagers/cmake/parser/cmakecachereader.cpp rename to plugins/cmake/parser/cmakecachereader.cpp diff --git a/projectmanagers/cmake/parser/cmakecachereader.h b/plugins/cmake/parser/cmakecachereader.h similarity index 100% rename from projectmanagers/cmake/parser/cmakecachereader.h rename to plugins/cmake/parser/cmakecachereader.h diff --git a/projectmanagers/cmake/parser/cmakeduchaintypes.cpp b/plugins/cmake/parser/cmakeduchaintypes.cpp similarity index 100% rename from projectmanagers/cmake/parser/cmakeduchaintypes.cpp rename to plugins/cmake/parser/cmakeduchaintypes.cpp diff --git a/projectmanagers/cmake/parser/cmakeduchaintypes.h b/plugins/cmake/parser/cmakeduchaintypes.h similarity index 100% rename from projectmanagers/cmake/parser/cmakeduchaintypes.h rename to plugins/cmake/parser/cmakeduchaintypes.h diff --git a/projectmanagers/cmake/parser/cmakelistsparser.cpp b/plugins/cmake/parser/cmakelistsparser.cpp similarity index 100% rename from projectmanagers/cmake/parser/cmakelistsparser.cpp rename to plugins/cmake/parser/cmakelistsparser.cpp diff --git a/projectmanagers/cmake/parser/cmakelistsparser.h b/plugins/cmake/parser/cmakelistsparser.h similarity index 100% rename from projectmanagers/cmake/parser/cmakelistsparser.h rename to plugins/cmake/parser/cmakelistsparser.h diff --git a/projectmanagers/cmake/parser/cmaketypes.h b/plugins/cmake/parser/cmaketypes.h similarity index 100% rename from projectmanagers/cmake/parser/cmaketypes.h rename to plugins/cmake/parser/cmaketypes.h diff --git a/projectmanagers/cmake/settings/cmakebuildsettings.ui b/plugins/cmake/settings/cmakebuildsettings.ui similarity index 100% rename from projectmanagers/cmake/settings/cmakebuildsettings.ui rename to plugins/cmake/settings/cmakebuildsettings.ui diff --git a/projectmanagers/cmake/settings/cmakecachedelegate.cpp b/plugins/cmake/settings/cmakecachedelegate.cpp similarity index 100% rename from projectmanagers/cmake/settings/cmakecachedelegate.cpp rename to plugins/cmake/settings/cmakecachedelegate.cpp diff --git a/projectmanagers/cmake/settings/cmakecachedelegate.h b/plugins/cmake/settings/cmakecachedelegate.h similarity index 100% rename from projectmanagers/cmake/settings/cmakecachedelegate.h rename to plugins/cmake/settings/cmakecachedelegate.h diff --git a/projectmanagers/cmake/settings/cmakecachemodel.cpp b/plugins/cmake/settings/cmakecachemodel.cpp similarity index 100% rename from projectmanagers/cmake/settings/cmakecachemodel.cpp rename to plugins/cmake/settings/cmakecachemodel.cpp diff --git a/projectmanagers/cmake/settings/cmakecachemodel.h b/plugins/cmake/settings/cmakecachemodel.h similarity index 100% rename from projectmanagers/cmake/settings/cmakecachemodel.h rename to plugins/cmake/settings/cmakecachemodel.h diff --git a/projectmanagers/cmake/settings/cmakepreferences.cpp b/plugins/cmake/settings/cmakepreferences.cpp similarity index 100% rename from projectmanagers/cmake/settings/cmakepreferences.cpp rename to plugins/cmake/settings/cmakepreferences.cpp diff --git a/projectmanagers/cmake/settings/cmakepreferences.h b/plugins/cmake/settings/cmakepreferences.h similarity index 100% rename from projectmanagers/cmake/settings/cmakepreferences.h rename to plugins/cmake/settings/cmakepreferences.h diff --git a/projectmanagers/cmake/testing/ctestfindjob.cpp b/plugins/cmake/testing/ctestfindjob.cpp similarity index 100% rename from projectmanagers/cmake/testing/ctestfindjob.cpp rename to plugins/cmake/testing/ctestfindjob.cpp diff --git a/projectmanagers/cmake/testing/ctestfindjob.h b/plugins/cmake/testing/ctestfindjob.h similarity index 100% rename from projectmanagers/cmake/testing/ctestfindjob.h rename to plugins/cmake/testing/ctestfindjob.h diff --git a/projectmanagers/cmake/testing/ctestrunjob.cpp b/plugins/cmake/testing/ctestrunjob.cpp similarity index 100% rename from projectmanagers/cmake/testing/ctestrunjob.cpp rename to plugins/cmake/testing/ctestrunjob.cpp diff --git a/projectmanagers/cmake/testing/ctestrunjob.h b/plugins/cmake/testing/ctestrunjob.h similarity index 100% rename from projectmanagers/cmake/testing/ctestrunjob.h rename to plugins/cmake/testing/ctestrunjob.h diff --git a/projectmanagers/cmake/testing/ctestsuite.cpp b/plugins/cmake/testing/ctestsuite.cpp similarity index 100% rename from projectmanagers/cmake/testing/ctestsuite.cpp rename to plugins/cmake/testing/ctestsuite.cpp diff --git a/projectmanagers/cmake/testing/ctestsuite.h b/plugins/cmake/testing/ctestsuite.h similarity index 100% rename from projectmanagers/cmake/testing/ctestsuite.h rename to plugins/cmake/testing/ctestsuite.h diff --git a/projectmanagers/cmake/testing/ctestutils.cpp b/plugins/cmake/testing/ctestutils.cpp similarity index 100% rename from projectmanagers/cmake/testing/ctestutils.cpp rename to plugins/cmake/testing/ctestutils.cpp diff --git a/projectmanagers/cmake/testing/ctestutils.h b/plugins/cmake/testing/ctestutils.h similarity index 100% rename from projectmanagers/cmake/testing/ctestutils.h rename to plugins/cmake/testing/ctestutils.h diff --git a/projectmanagers/cmake/testing/qttestdelegate.cpp b/plugins/cmake/testing/qttestdelegate.cpp similarity index 100% rename from projectmanagers/cmake/testing/qttestdelegate.cpp rename to plugins/cmake/testing/qttestdelegate.cpp diff --git a/projectmanagers/cmake/testing/qttestdelegate.h b/plugins/cmake/testing/qttestdelegate.h similarity index 100% rename from projectmanagers/cmake/testing/qttestdelegate.h rename to plugins/cmake/testing/qttestdelegate.h diff --git a/projectmanagers/cmake/tests/CMakeLists.txt b/plugins/cmake/tests/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/CMakeLists.txt rename to plugins/cmake/tests/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/cmakeparsertest.cpp b/plugins/cmake/tests/cmakeparsertest.cpp similarity index 100% rename from projectmanagers/cmake/tests/cmakeparsertest.cpp rename to plugins/cmake/tests/cmakeparsertest.cpp diff --git a/projectmanagers/cmake/tests/cmakeparsertest.h b/plugins/cmake/tests/cmakeparsertest.h similarity index 100% rename from projectmanagers/cmake/tests/cmakeparsertest.h rename to plugins/cmake/tests/cmakeparsertest.h diff --git a/projectmanagers/cmake/tests/kdevprojectopen.cpp b/plugins/cmake/tests/kdevprojectopen.cpp similarity index 100% rename from projectmanagers/cmake/tests/kdevprojectopen.cpp rename to plugins/cmake/tests/kdevprojectopen.cpp diff --git a/projectmanagers/cmake/tests/kdevprojectopen.h b/plugins/cmake/tests/kdevprojectopen.h similarity index 100% rename from projectmanagers/cmake/tests/kdevprojectopen.h rename to plugins/cmake/tests/kdevprojectopen.h diff --git a/projectmanagers/cmake/tests/manual/CMakeTests/IfTest.cmake.in b/plugins/cmake/tests/manual/CMakeTests/IfTest.cmake.in similarity index 100% rename from projectmanagers/cmake/tests/manual/CMakeTests/IfTest.cmake.in rename to plugins/cmake/tests/manual/CMakeTests/IfTest.cmake.in diff --git a/projectmanagers/cmake/tests/manual/CMakeTests/ListTest.cmake.in b/plugins/cmake/tests/manual/CMakeTests/ListTest.cmake.in similarity index 100% rename from projectmanagers/cmake/tests/manual/CMakeTests/ListTest.cmake.in rename to plugins/cmake/tests/manual/CMakeTests/ListTest.cmake.in diff --git a/projectmanagers/cmake/tests/manual/bug335803/CMakeLists.txt b/plugins/cmake/tests/manual/bug335803/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/bug335803/CMakeLists.txt rename to plugins/cmake/tests/manual/bug335803/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/bug335803/defines.kdev4 b/plugins/cmake/tests/manual/bug335803/defines.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/bug335803/defines.kdev4 rename to plugins/cmake/tests/manual/bug335803/defines.kdev4 diff --git a/projectmanagers/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/CMakeLists.txt b/plugins/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/CMakeLists.txt rename to plugins/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/conditions_in_subdirectory_based_on_root_variables.kdev4 b/plugins/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/conditions_in_subdirectory_based_on_root_variables.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/conditions_in_subdirectory_based_on_root_variables.kdev4 rename to plugins/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/conditions_in_subdirectory_based_on_root_variables.kdev4 diff --git a/projectmanagers/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/foo.cpp b/plugins/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/foo.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/foo.cpp rename to plugins/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/foo.cpp diff --git a/projectmanagers/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/subdirectory/CMakeLists.txt b/plugins/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/subdirectory/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/subdirectory/CMakeLists.txt rename to plugins/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/subdirectory/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/subdirectory/foo.cpp b/plugins/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/subdirectory/foo.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/subdirectory/foo.cpp rename to plugins/cmake/tests/manual/conditions_in_subdirectory_based_on_root_variables/subdirectory/foo.cpp diff --git a/projectmanagers/cmake/tests/manual/custom_target_sources/CMakeLists.txt b/plugins/cmake/tests/manual/custom_target_sources/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/custom_target_sources/CMakeLists.txt rename to plugins/cmake/tests/manual/custom_target_sources/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/custom_target_sources/custom_target_sources.kdev4 b/plugins/cmake/tests/manual/custom_target_sources/custom_target_sources.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/custom_target_sources/custom_target_sources.kdev4 rename to plugins/cmake/tests/manual/custom_target_sources/custom_target_sources.kdev4 diff --git a/projectmanagers/cmake/tests/manual/custom_target_sources/foo.cpp b/plugins/cmake/tests/manual/custom_target_sources/foo.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/custom_target_sources/foo.cpp rename to plugins/cmake/tests/manual/custom_target_sources/foo.cpp diff --git a/projectmanagers/cmake/tests/manual/defines/CMakeLists.txt b/plugins/cmake/tests/manual/defines/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/defines/CMakeLists.txt rename to plugins/cmake/tests/manual/defines/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/defines/defines.kdev4 b/plugins/cmake/tests/manual/defines/defines.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/defines/defines.kdev4 rename to plugins/cmake/tests/manual/defines/defines.kdev4 diff --git a/projectmanagers/cmake/tests/manual/defines/main.cpp b/plugins/cmake/tests/manual/defines/main.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/defines/main.cpp rename to plugins/cmake/tests/manual/defines/main.cpp diff --git a/projectmanagers/cmake/tests/manual/empty/CMakeLists.txt b/plugins/cmake/tests/manual/empty/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/empty/CMakeLists.txt rename to plugins/cmake/tests/manual/empty/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/empty/cmakemanager_empty.kdev4 b/plugins/cmake/tests/manual/empty/cmakemanager_empty.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/empty/cmakemanager_empty.kdev4 rename to plugins/cmake/tests/manual/empty/cmakemanager_empty.kdev4 diff --git a/projectmanagers/cmake/tests/manual/empty_add_subdirectory/CMakeLists.txt b/plugins/cmake/tests/manual/empty_add_subdirectory/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/empty_add_subdirectory/CMakeLists.txt rename to plugins/cmake/tests/manual/empty_add_subdirectory/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/empty_add_subdirectory/empty_add_subdirectory.kdev4 b/plugins/cmake/tests/manual/empty_add_subdirectory/empty_add_subdirectory.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/empty_add_subdirectory/empty_add_subdirectory.kdev4 rename to plugins/cmake/tests/manual/empty_add_subdirectory/empty_add_subdirectory.kdev4 diff --git a/projectmanagers/cmake/tests/manual/faulty_target/CMakeLists.txt b/plugins/cmake/tests/manual/faulty_target/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/faulty_target/CMakeLists.txt rename to plugins/cmake/tests/manual/faulty_target/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/faulty_target/faulty_target.kdev4 b/plugins/cmake/tests/manual/faulty_target/faulty_target.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/faulty_target/faulty_target.kdev4 rename to plugins/cmake/tests/manual/faulty_target/faulty_target.kdev4 diff --git a/projectmanagers/cmake/tests/manual/faulty_target/utils/CMakeLists.txt b/plugins/cmake/tests/manual/faulty_target/utils/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/faulty_target/utils/CMakeLists.txt rename to plugins/cmake/tests/manual/faulty_target/utils/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/faulty_target/utils/main.cpp b/plugins/cmake/tests/manual/faulty_target/utils/main.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/faulty_target/utils/main.cpp rename to plugins/cmake/tests/manual/faulty_target/utils/main.cpp diff --git a/projectmanagers/cmake/tests/manual/garbage_add_subdirectory/CMakeLists.txt b/plugins/cmake/tests/manual/garbage_add_subdirectory/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/garbage_add_subdirectory/CMakeLists.txt rename to plugins/cmake/tests/manual/garbage_add_subdirectory/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/garbage_add_subdirectory/garbage_add_subdirectory.kdev4 b/plugins/cmake/tests/manual/garbage_add_subdirectory/garbage_add_subdirectory.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/garbage_add_subdirectory/garbage_add_subdirectory.kdev4 rename to plugins/cmake/tests/manual/garbage_add_subdirectory/garbage_add_subdirectory.kdev4 diff --git a/projectmanagers/cmake/tests/manual/kde4app/CMakeLists.txt b/plugins/cmake/tests/manual/kde4app/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/kde4app/CMakeLists.txt rename to plugins/cmake/tests/manual/kde4app/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/kde4app/kde4app.cpp b/plugins/cmake/tests/manual/kde4app/kde4app.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/kde4app/kde4app.cpp rename to plugins/cmake/tests/manual/kde4app/kde4app.cpp diff --git a/projectmanagers/cmake/tests/manual/kde4app/kde4app.desktop b/plugins/cmake/tests/manual/kde4app/kde4app.desktop similarity index 100% rename from projectmanagers/cmake/tests/manual/kde4app/kde4app.desktop rename to plugins/cmake/tests/manual/kde4app/kde4app.desktop diff --git a/projectmanagers/cmake/tests/manual/kde4app/kde4app.h b/plugins/cmake/tests/manual/kde4app/kde4app.h similarity index 100% rename from projectmanagers/cmake/tests/manual/kde4app/kde4app.h rename to plugins/cmake/tests/manual/kde4app/kde4app.h diff --git a/projectmanagers/cmake/tests/manual/kde4app/kde4app.kcfg b/plugins/cmake/tests/manual/kde4app/kde4app.kcfg similarity index 100% rename from projectmanagers/cmake/tests/manual/kde4app/kde4app.kcfg rename to plugins/cmake/tests/manual/kde4app/kde4app.kcfg diff --git a/projectmanagers/cmake/tests/manual/kde4app/kde4app.kdev4 b/plugins/cmake/tests/manual/kde4app/kde4app.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/kde4app/kde4app.kdev4 rename to plugins/cmake/tests/manual/kde4app/kde4app.kdev4 diff --git a/projectmanagers/cmake/tests/manual/kde4app/kde4appui.rc b/plugins/cmake/tests/manual/kde4app/kde4appui.rc similarity index 100% rename from projectmanagers/cmake/tests/manual/kde4app/kde4appui.rc rename to plugins/cmake/tests/manual/kde4app/kde4appui.rc diff --git a/projectmanagers/cmake/tests/manual/kde4app/kde4appview.cpp b/plugins/cmake/tests/manual/kde4app/kde4appview.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/kde4app/kde4appview.cpp rename to plugins/cmake/tests/manual/kde4app/kde4appview.cpp diff --git a/projectmanagers/cmake/tests/manual/kde4app/kde4appview.h b/plugins/cmake/tests/manual/kde4app/kde4appview.h similarity index 100% rename from projectmanagers/cmake/tests/manual/kde4app/kde4appview.h rename to plugins/cmake/tests/manual/kde4app/kde4appview.h diff --git a/projectmanagers/cmake/tests/manual/kde4app/kde4appview_base.ui b/plugins/cmake/tests/manual/kde4app/kde4appview_base.ui similarity index 100% rename from projectmanagers/cmake/tests/manual/kde4app/kde4appview_base.ui rename to plugins/cmake/tests/manual/kde4app/kde4appview_base.ui diff --git a/projectmanagers/cmake/tests/manual/kde4app/main.cpp b/plugins/cmake/tests/manual/kde4app/main.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/kde4app/main.cpp rename to plugins/cmake/tests/manual/kde4app/main.cpp diff --git a/projectmanagers/cmake/tests/manual/kde4app/prefs_base.ui b/plugins/cmake/tests/manual/kde4app/prefs_base.ui similarity index 100% rename from projectmanagers/cmake/tests/manual/kde4app/prefs_base.ui rename to plugins/cmake/tests/manual/kde4app/prefs_base.ui diff --git a/projectmanagers/cmake/tests/manual/kde4app/settings.kcfgc b/plugins/cmake/tests/manual/kde4app/settings.kcfgc similarity index 100% rename from projectmanagers/cmake/tests/manual/kde4app/settings.kcfgc rename to plugins/cmake/tests/manual/kde4app/settings.kcfgc diff --git a/projectmanagers/cmake/tests/manual/kf5_app/CMakeLists.txt b/plugins/cmake/tests/manual/kf5_app/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/kf5_app/CMakeLists.txt rename to plugins/cmake/tests/manual/kf5_app/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/kf5_app/kf5_app.kdev4 b/plugins/cmake/tests/manual/kf5_app/kf5_app.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/kf5_app/kf5_app.kdev4 rename to plugins/cmake/tests/manual/kf5_app/kf5_app.kdev4 diff --git a/projectmanagers/cmake/tests/manual/kf5_app/main.cpp b/plugins/cmake/tests/manual/kf5_app/main.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/kf5_app/main.cpp rename to plugins/cmake/tests/manual/kf5_app/main.cpp diff --git a/projectmanagers/cmake/tests/manual/lib/testlib/TestLibConfig.cmake b/plugins/cmake/tests/manual/lib/testlib/TestLibConfig.cmake similarity index 100% rename from projectmanagers/cmake/tests/manual/lib/testlib/TestLibConfig.cmake rename to plugins/cmake/tests/manual/lib/testlib/TestLibConfig.cmake diff --git a/projectmanagers/cmake/tests/manual/lib64/testlib64/TestLib64Config.cmake b/plugins/cmake/tests/manual/lib64/testlib64/TestLib64Config.cmake similarity index 100% rename from projectmanagers/cmake/tests/manual/lib64/testlib64/TestLib64Config.cmake rename to plugins/cmake/tests/manual/lib64/testlib64/TestLib64Config.cmake diff --git a/projectmanagers/cmake/tests/manual/parentheses_in_test_arguments/CMakeLists.txt b/plugins/cmake/tests/manual/parentheses_in_test_arguments/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/parentheses_in_test_arguments/CMakeLists.txt rename to plugins/cmake/tests/manual/parentheses_in_test_arguments/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/parentheses_in_test_arguments/main.cpp b/plugins/cmake/tests/manual/parentheses_in_test_arguments/main.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/parentheses_in_test_arguments/main.cpp rename to plugins/cmake/tests/manual/parentheses_in_test_arguments/main.cpp diff --git a/projectmanagers/cmake/tests/manual/parentheses_in_test_arguments/parentheses_in_test_arguments.kdev4 b/plugins/cmake/tests/manual/parentheses_in_test_arguments/parentheses_in_test_arguments.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/parentheses_in_test_arguments/parentheses_in_test_arguments.kdev4 rename to plugins/cmake/tests/manual/parentheses_in_test_arguments/parentheses_in_test_arguments.kdev4 diff --git a/projectmanagers/cmake/tests/manual/qt4app/CMakeLists.txt b/plugins/cmake/tests/manual/qt4app/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/qt4app/CMakeLists.txt rename to plugins/cmake/tests/manual/qt4app/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/qt4app/main.cpp b/plugins/cmake/tests/manual/qt4app/main.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/qt4app/main.cpp rename to plugins/cmake/tests/manual/qt4app/main.cpp diff --git a/projectmanagers/cmake/tests/manual/qt4app/qt4app.cpp b/plugins/cmake/tests/manual/qt4app/qt4app.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/qt4app/qt4app.cpp rename to plugins/cmake/tests/manual/qt4app/qt4app.cpp diff --git a/projectmanagers/cmake/tests/manual/qt4app/qt4app.h b/plugins/cmake/tests/manual/qt4app/qt4app.h similarity index 100% rename from projectmanagers/cmake/tests/manual/qt4app/qt4app.h rename to plugins/cmake/tests/manual/qt4app/qt4app.h diff --git a/projectmanagers/cmake/tests/manual/qt4app/qt4app.kdev4 b/plugins/cmake/tests/manual/qt4app/qt4app.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/qt4app/qt4app.kdev4 rename to plugins/cmake/tests/manual/qt4app/qt4app.kdev4 diff --git a/projectmanagers/cmake/tests/manual/qt5_app/CMakeLists.txt b/plugins/cmake/tests/manual/qt5_app/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/qt5_app/CMakeLists.txt rename to plugins/cmake/tests/manual/qt5_app/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/qt5_app/main.cpp b/plugins/cmake/tests/manual/qt5_app/main.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/qt5_app/main.cpp rename to plugins/cmake/tests/manual/qt5_app/main.cpp diff --git a/projectmanagers/cmake/tests/manual/qt5_app/qt5_app.kdev4 b/plugins/cmake/tests/manual/qt5_app/qt5_app.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/qt5_app/qt5_app.kdev4 rename to plugins/cmake/tests/manual/qt5_app/qt5_app.kdev4 diff --git a/projectmanagers/cmake/tests/manual/qt5_app_old/CMakeLists.txt b/plugins/cmake/tests/manual/qt5_app_old/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/qt5_app_old/CMakeLists.txt rename to plugins/cmake/tests/manual/qt5_app_old/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/qt5_app_old/main.cpp b/plugins/cmake/tests/manual/qt5_app_old/main.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/qt5_app_old/main.cpp rename to plugins/cmake/tests/manual/qt5_app_old/main.cpp diff --git a/projectmanagers/cmake/tests/manual/qt5_app_old/qt5_app_old.kdev4 b/plugins/cmake/tests/manual/qt5_app_old/qt5_app_old.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/qt5_app_old/qt5_app_old.kdev4 rename to plugins/cmake/tests/manual/qt5_app_old/qt5_app_old.kdev4 diff --git a/projectmanagers/cmake/tests/manual/randomexe/CMakeLists.txt b/plugins/cmake/tests/manual/randomexe/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/randomexe/CMakeLists.txt rename to plugins/cmake/tests/manual/randomexe/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/randomexe/main.cpp b/plugins/cmake/tests/manual/randomexe/main.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/randomexe/main.cpp rename to plugins/cmake/tests/manual/randomexe/main.cpp diff --git a/projectmanagers/cmake/tests/manual/randomexe/randomexe.kdev4 b/plugins/cmake/tests/manual/randomexe/randomexe.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/randomexe/randomexe.kdev4 rename to plugins/cmake/tests/manual/randomexe/randomexe.kdev4 diff --git a/projectmanagers/cmake/tests/manual/relative_paths/inc/test.h b/plugins/cmake/tests/manual/relative_paths/inc/test.h similarity index 100% rename from projectmanagers/cmake/tests/manual/relative_paths/inc/test.h rename to plugins/cmake/tests/manual/relative_paths/inc/test.h diff --git a/projectmanagers/cmake/tests/manual/relative_paths/out/CMakeLists.txt b/plugins/cmake/tests/manual/relative_paths/out/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/relative_paths/out/CMakeLists.txt rename to plugins/cmake/tests/manual/relative_paths/out/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/relative_paths/out/relative_paths.kdev4 b/plugins/cmake/tests/manual/relative_paths/out/relative_paths.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/relative_paths/out/relative_paths.kdev4 rename to plugins/cmake/tests/manual/relative_paths/out/relative_paths.kdev4 diff --git a/projectmanagers/cmake/tests/manual/relative_paths/src/code.cpp b/plugins/cmake/tests/manual/relative_paths/src/code.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/relative_paths/src/code.cpp rename to plugins/cmake/tests/manual/relative_paths/src/code.cpp diff --git a/projectmanagers/cmake/tests/manual/single_subdirectory/CMakeLists.txt b/plugins/cmake/tests/manual/single_subdirectory/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/single_subdirectory/CMakeLists.txt rename to plugins/cmake/tests/manual/single_subdirectory/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/single_subdirectory/single_subdirectory.kdev4 b/plugins/cmake/tests/manual/single_subdirectory/single_subdirectory.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/single_subdirectory/single_subdirectory.kdev4 rename to plugins/cmake/tests/manual/single_subdirectory/single_subdirectory.kdev4 diff --git a/projectmanagers/cmake/tests/manual/single_subdirectory/subdir/CMakeLists.txt b/plugins/cmake/tests/manual/single_subdirectory/subdir/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/single_subdirectory/subdir/CMakeLists.txt rename to plugins/cmake/tests/manual/single_subdirectory/subdir/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/single_subdirectory/subdir/foo.cpp b/plugins/cmake/tests/manual/single_subdirectory/subdir/foo.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/single_subdirectory/subdir/foo.cpp rename to plugins/cmake/tests/manual/single_subdirectory/subdir/foo.cpp diff --git a/projectmanagers/cmake/tests/manual/target_include_directories/CMakeLists.txt b/plugins/cmake/tests/manual/target_include_directories/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/target_include_directories/CMakeLists.txt rename to plugins/cmake/tests/manual/target_include_directories/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/target_include_directories/a.c b/plugins/cmake/tests/manual/target_include_directories/a.c similarity index 100% rename from projectmanagers/cmake/tests/manual/target_include_directories/a.c rename to plugins/cmake/tests/manual/target_include_directories/a.c diff --git a/projectmanagers/cmake/tests/manual/target_include_directories/includes/something.h b/plugins/cmake/tests/manual/target_include_directories/includes/something.h similarity index 100% rename from projectmanagers/cmake/tests/manual/target_include_directories/includes/something.h rename to plugins/cmake/tests/manual/target_include_directories/includes/something.h diff --git a/projectmanagers/cmake/tests/manual/target_include_directories/libincludes/a.h b/plugins/cmake/tests/manual/target_include_directories/libincludes/a.h similarity index 100% rename from projectmanagers/cmake/tests/manual/target_include_directories/libincludes/a.h rename to plugins/cmake/tests/manual/target_include_directories/libincludes/a.h diff --git a/projectmanagers/cmake/tests/manual/target_include_directories/main.cpp b/plugins/cmake/tests/manual/target_include_directories/main.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/target_include_directories/main.cpp rename to plugins/cmake/tests/manual/target_include_directories/main.cpp diff --git a/projectmanagers/cmake/tests/manual/target_include_directories/target_include_directories.kdev4 b/plugins/cmake/tests/manual/target_include_directories/target_include_directories.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/target_include_directories/target_include_directories.kdev4 rename to plugins/cmake/tests/manual/target_include_directories/target_include_directories.kdev4 diff --git a/projectmanagers/cmake/tests/manual/target_includes/CMakeLists.txt b/plugins/cmake/tests/manual/target_includes/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/target_includes/CMakeLists.txt rename to plugins/cmake/tests/manual/target_includes/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/target_includes/includes/target_include.h b/plugins/cmake/tests/manual/target_includes/includes/target_include.h similarity index 100% rename from projectmanagers/cmake/tests/manual/target_includes/includes/target_include.h rename to plugins/cmake/tests/manual/target_includes/includes/target_include.h diff --git a/projectmanagers/cmake/tests/manual/target_includes/main.cpp b/plugins/cmake/tests/manual/target_includes/main.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/target_includes/main.cpp rename to plugins/cmake/tests/manual/target_includes/main.cpp diff --git a/projectmanagers/cmake/tests/manual/target_includes/target_includes.kdev4 b/plugins/cmake/tests/manual/target_includes/target_includes.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/target_includes/target_includes.kdev4 rename to plugins/cmake/tests/manual/target_includes/target_includes.kdev4 diff --git a/projectmanagers/cmake/tests/manual/tiny_project/CMakeLists.txt b/plugins/cmake/tests/manual/tiny_project/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/tiny_project/CMakeLists.txt rename to plugins/cmake/tests/manual/tiny_project/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/tiny_project/foo.cpp b/plugins/cmake/tests/manual/tiny_project/foo.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/tiny_project/foo.cpp rename to plugins/cmake/tests/manual/tiny_project/foo.cpp diff --git a/projectmanagers/cmake/tests/manual/tiny_project/tiny_project.kdev4 b/plugins/cmake/tests/manual/tiny_project/tiny_project.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/tiny_project/tiny_project.kdev4 rename to plugins/cmake/tests/manual/tiny_project/tiny_project.kdev4 diff --git a/projectmanagers/cmake/tests/manual/unit_tests/CMakeLists.txt b/plugins/cmake/tests/manual/unit_tests/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/unit_tests/CMakeLists.txt rename to plugins/cmake/tests/manual/unit_tests/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/unit_tests/fail.cpp b/plugins/cmake/tests/manual/unit_tests/fail.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/unit_tests/fail.cpp rename to plugins/cmake/tests/manual/unit_tests/fail.cpp diff --git a/projectmanagers/cmake/tests/manual/unit_tests/five/CMakeLists.txt b/plugins/cmake/tests/manual/unit_tests/five/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/unit_tests/five/CMakeLists.txt rename to plugins/cmake/tests/manual/unit_tests/five/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/unit_tests/math_test.cpp b/plugins/cmake/tests/manual/unit_tests/math_test.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/unit_tests/math_test.cpp rename to plugins/cmake/tests/manual/unit_tests/math_test.cpp diff --git a/projectmanagers/cmake/tests/manual/unit_tests/success.cpp b/plugins/cmake/tests/manual/unit_tests/success.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/unit_tests/success.cpp rename to plugins/cmake/tests/manual/unit_tests/success.cpp diff --git a/projectmanagers/cmake/tests/manual/unit_tests/unit_tests.kdev4 b/plugins/cmake/tests/manual/unit_tests/unit_tests.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/unit_tests/unit_tests.kdev4 rename to plugins/cmake/tests/manual/unit_tests/unit_tests.kdev4 diff --git a/projectmanagers/cmake/tests/manual/unit_tests_kde/CMakeLists.txt b/plugins/cmake/tests/manual/unit_tests_kde/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/unit_tests_kde/CMakeLists.txt rename to plugins/cmake/tests/manual/unit_tests_kde/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/unit_tests_kde/test.cpp b/plugins/cmake/tests/manual/unit_tests_kde/test.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/unit_tests_kde/test.cpp rename to plugins/cmake/tests/manual/unit_tests_kde/test.cpp diff --git a/projectmanagers/cmake/tests/manual/unit_tests_kde/test.h b/plugins/cmake/tests/manual/unit_tests_kde/test.h similarity index 100% rename from projectmanagers/cmake/tests/manual/unit_tests_kde/test.h rename to plugins/cmake/tests/manual/unit_tests_kde/test.h diff --git a/projectmanagers/cmake/tests/manual/unit_tests_kde/unit_tests_kde.kdev4 b/plugins/cmake/tests/manual/unit_tests_kde/unit_tests_kde.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/unit_tests_kde/unit_tests_kde.kdev4 rename to plugins/cmake/tests/manual/unit_tests_kde/unit_tests_kde.kdev4 diff --git a/projectmanagers/cmake/tests/manual/with_build_dir/CMakeLists.txt b/plugins/cmake/tests/manual/with_build_dir/CMakeLists.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/with_build_dir/CMakeLists.txt rename to plugins/cmake/tests/manual/with_build_dir/CMakeLists.txt diff --git a/projectmanagers/cmake/tests/manual/with_build_dir/builddir/CMakeCache.txt b/plugins/cmake/tests/manual/with_build_dir/builddir/CMakeCache.txt similarity index 100% rename from projectmanagers/cmake/tests/manual/with_build_dir/builddir/CMakeCache.txt rename to plugins/cmake/tests/manual/with_build_dir/builddir/CMakeCache.txt diff --git a/projectmanagers/cmake/tests/manual/with_build_dir/main.cpp b/plugins/cmake/tests/manual/with_build_dir/main.cpp similarity index 100% rename from projectmanagers/cmake/tests/manual/with_build_dir/main.cpp rename to plugins/cmake/tests/manual/with_build_dir/main.cpp diff --git a/projectmanagers/cmake/tests/manual/with_build_dir/with_build_dir.kdev4 b/plugins/cmake/tests/manual/with_build_dir/with_build_dir.kdev4 similarity index 100% rename from projectmanagers/cmake/tests/manual/with_build_dir/with_build_dir.kdev4 rename to plugins/cmake/tests/manual/with_build_dir/with_build_dir.kdev4 diff --git a/projectmanagers/cmake/tests/paths.h.cmake b/plugins/cmake/tests/paths.h.cmake similarity index 100% rename from projectmanagers/cmake/tests/paths.h.cmake rename to plugins/cmake/tests/paths.h.cmake diff --git a/projectmanagers/cmake/tests/test_cmakemanager.cpp b/plugins/cmake/tests/test_cmakemanager.cpp similarity index 100% rename from projectmanagers/cmake/tests/test_cmakemanager.cpp rename to plugins/cmake/tests/test_cmakemanager.cpp diff --git a/projectmanagers/cmake/tests/test_cmakemanager.h b/plugins/cmake/tests/test_cmakemanager.h similarity index 100% rename from projectmanagers/cmake/tests/test_cmakemanager.h rename to plugins/cmake/tests/test_cmakemanager.h diff --git a/projectmanagers/cmake/tests/test_cmakeserver.cpp b/plugins/cmake/tests/test_cmakeserver.cpp similarity index 100% rename from projectmanagers/cmake/tests/test_cmakeserver.cpp rename to plugins/cmake/tests/test_cmakeserver.cpp diff --git a/projectmanagers/cmake/tests/test_ctestfindsuites.cpp b/plugins/cmake/tests/test_ctestfindsuites.cpp similarity index 100% rename from projectmanagers/cmake/tests/test_ctestfindsuites.cpp rename to plugins/cmake/tests/test_ctestfindsuites.cpp diff --git a/projectmanagers/cmake/tests/test_ctestfindsuites.h b/plugins/cmake/tests/test_ctestfindsuites.h similarity index 100% rename from projectmanagers/cmake/tests/test_ctestfindsuites.h rename to plugins/cmake/tests/test_ctestfindsuites.h diff --git a/projectmanagers/cmake/tests/testhelpers.h b/plugins/cmake/tests/testhelpers.h similarity index 100% rename from projectmanagers/cmake/tests/testhelpers.h rename to plugins/cmake/tests/testhelpers.h diff --git a/projectbuilders/cmakebuilder/CMakeLists.txt b/plugins/cmakebuilder/CMakeLists.txt similarity index 100% rename from projectbuilders/cmakebuilder/CMakeLists.txt rename to plugins/cmakebuilder/CMakeLists.txt diff --git a/projectbuilders/cmakebuilder/Messages.sh b/plugins/cmakebuilder/Messages.sh similarity index 100% rename from projectbuilders/cmakebuilder/Messages.sh rename to plugins/cmakebuilder/Messages.sh diff --git a/projectbuilders/cmakebuilder/cmakebuilder.cpp b/plugins/cmakebuilder/cmakebuilder.cpp similarity index 100% rename from projectbuilders/cmakebuilder/cmakebuilder.cpp rename to plugins/cmakebuilder/cmakebuilder.cpp diff --git a/projectbuilders/cmakebuilder/cmakebuilder.h b/plugins/cmakebuilder/cmakebuilder.h similarity index 100% rename from projectbuilders/cmakebuilder/cmakebuilder.h rename to plugins/cmakebuilder/cmakebuilder.h diff --git a/projectbuilders/cmakebuilder/cmakebuilderpreferences.cpp b/plugins/cmakebuilder/cmakebuilderpreferences.cpp similarity index 100% rename from projectbuilders/cmakebuilder/cmakebuilderpreferences.cpp rename to plugins/cmakebuilder/cmakebuilderpreferences.cpp diff --git a/projectbuilders/cmakebuilder/cmakebuilderpreferences.h b/plugins/cmakebuilder/cmakebuilderpreferences.h similarity index 100% rename from projectbuilders/cmakebuilder/cmakebuilderpreferences.h rename to plugins/cmakebuilder/cmakebuilderpreferences.h diff --git a/projectbuilders/cmakebuilder/cmakebuilderpreferences.ui b/plugins/cmakebuilder/cmakebuilderpreferences.ui similarity index 100% rename from projectbuilders/cmakebuilder/cmakebuilderpreferences.ui rename to plugins/cmakebuilder/cmakebuilderpreferences.ui diff --git a/projectbuilders/cmakebuilder/cmakejob.cpp b/plugins/cmakebuilder/cmakejob.cpp similarity index 100% rename from projectbuilders/cmakebuilder/cmakejob.cpp rename to plugins/cmakebuilder/cmakejob.cpp diff --git a/projectbuilders/cmakebuilder/cmakejob.h b/plugins/cmakebuilder/cmakejob.h similarity index 100% rename from projectbuilders/cmakebuilder/cmakejob.h rename to plugins/cmakebuilder/cmakejob.h diff --git a/projectbuilders/cmakebuilder/kdevcmakebuilder.json b/plugins/cmakebuilder/kdevcmakebuilder.json similarity index 100% rename from projectbuilders/cmakebuilder/kdevcmakebuilder.json rename to plugins/cmakebuilder/kdevcmakebuilder.json diff --git a/projectbuilders/cmakebuilder/prunejob.cpp b/plugins/cmakebuilder/prunejob.cpp similarity index 100% rename from projectbuilders/cmakebuilder/prunejob.cpp rename to plugins/cmakebuilder/prunejob.cpp diff --git a/projectbuilders/cmakebuilder/prunejob.h b/plugins/cmakebuilder/prunejob.h similarity index 100% rename from projectbuilders/cmakebuilder/prunejob.h rename to plugins/cmakebuilder/prunejob.h diff --git a/kdevplatform/plugins/codeutils/CMakeLists.txt b/plugins/codeutils/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/codeutils/CMakeLists.txt rename to plugins/codeutils/CMakeLists.txt diff --git a/kdevplatform/plugins/codeutils/Messages.sh b/plugins/codeutils/Messages.sh similarity index 100% rename from kdevplatform/plugins/codeutils/Messages.sh rename to plugins/codeutils/Messages.sh diff --git a/kdevplatform/plugins/codeutils/codeutilsplugin.cpp b/plugins/codeutils/codeutilsplugin.cpp similarity index 100% rename from kdevplatform/plugins/codeutils/codeutilsplugin.cpp rename to plugins/codeutils/codeutilsplugin.cpp diff --git a/kdevplatform/plugins/codeutils/codeutilsplugin.h b/plugins/codeutils/codeutilsplugin.h similarity index 100% rename from kdevplatform/plugins/codeutils/codeutilsplugin.h rename to plugins/codeutils/codeutilsplugin.h diff --git a/kdevplatform/plugins/codeutils/doc_templates/CMakeLists.txt b/plugins/codeutils/doc_templates/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/codeutils/doc_templates/CMakeLists.txt rename to plugins/codeutils/doc_templates/CMakeLists.txt diff --git a/kdevplatform/plugins/codeutils/doc_templates/doxygen_cpp.txt b/plugins/codeutils/doc_templates/doxygen_cpp.txt similarity index 100% rename from kdevplatform/plugins/codeutils/doc_templates/doxygen_cpp.txt rename to plugins/codeutils/doc_templates/doxygen_cpp.txt diff --git a/kdevplatform/plugins/codeutils/doc_templates/phpdoc_php.txt b/plugins/codeutils/doc_templates/phpdoc_php.txt similarity index 100% rename from kdevplatform/plugins/codeutils/doc_templates/phpdoc_php.txt rename to plugins/codeutils/doc_templates/phpdoc_php.txt diff --git a/kdevplatform/plugins/codeutils/doc_templates/rest_python.txt b/plugins/codeutils/doc_templates/rest_python.txt similarity index 100% rename from kdevplatform/plugins/codeutils/doc_templates/rest_python.txt rename to plugins/codeutils/doc_templates/rest_python.txt diff --git a/kdevplatform/plugins/codeutils/kdevcodeutils.json b/plugins/codeutils/kdevcodeutils.json similarity index 100% rename from kdevplatform/plugins/codeutils/kdevcodeutils.json rename to plugins/codeutils/kdevcodeutils.json diff --git a/kdevplatform/plugins/codeutils/kdevcodeutils.qrc b/plugins/codeutils/kdevcodeutils.qrc similarity index 100% rename from kdevplatform/plugins/codeutils/kdevcodeutils.qrc rename to plugins/codeutils/kdevcodeutils.qrc diff --git a/kdevplatform/plugins/codeutils/kdevcodeutils.rc b/plugins/codeutils/kdevcodeutils.rc similarity index 100% rename from kdevplatform/plugins/codeutils/kdevcodeutils.rc rename to plugins/codeutils/kdevcodeutils.rc diff --git a/kdevplatform/plugins/contextbrowser/CMakeLists.txt b/plugins/contextbrowser/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/contextbrowser/CMakeLists.txt rename to plugins/contextbrowser/CMakeLists.txt diff --git a/kdevplatform/plugins/contextbrowser/Messages.sh b/plugins/contextbrowser/Messages.sh similarity index 100% rename from kdevplatform/plugins/contextbrowser/Messages.sh rename to plugins/contextbrowser/Messages.sh diff --git a/kdevplatform/plugins/contextbrowser/browsemanager.cpp b/plugins/contextbrowser/browsemanager.cpp similarity index 100% rename from kdevplatform/plugins/contextbrowser/browsemanager.cpp rename to plugins/contextbrowser/browsemanager.cpp diff --git a/kdevplatform/plugins/contextbrowser/browsemanager.h b/plugins/contextbrowser/browsemanager.h similarity index 100% rename from kdevplatform/plugins/contextbrowser/browsemanager.h rename to plugins/contextbrowser/browsemanager.h diff --git a/kdevplatform/plugins/contextbrowser/contextbrowser.cpp b/plugins/contextbrowser/contextbrowser.cpp similarity index 100% rename from kdevplatform/plugins/contextbrowser/contextbrowser.cpp rename to plugins/contextbrowser/contextbrowser.cpp diff --git a/kdevplatform/plugins/contextbrowser/contextbrowser.h b/plugins/contextbrowser/contextbrowser.h similarity index 100% rename from kdevplatform/plugins/contextbrowser/contextbrowser.h rename to plugins/contextbrowser/contextbrowser.h diff --git a/kdevplatform/plugins/contextbrowser/contextbrowserview.cpp b/plugins/contextbrowser/contextbrowserview.cpp similarity index 100% rename from kdevplatform/plugins/contextbrowser/contextbrowserview.cpp rename to plugins/contextbrowser/contextbrowserview.cpp diff --git a/kdevplatform/plugins/contextbrowser/contextbrowserview.h b/plugins/contextbrowser/contextbrowserview.h similarity index 100% rename from kdevplatform/plugins/contextbrowser/contextbrowserview.h rename to plugins/contextbrowser/contextbrowserview.h diff --git a/kdevplatform/plugins/contextbrowser/kdevcontextbrowser.json b/plugins/contextbrowser/kdevcontextbrowser.json similarity index 100% rename from kdevplatform/plugins/contextbrowser/kdevcontextbrowser.json rename to plugins/contextbrowser/kdevcontextbrowser.json diff --git a/kdevplatform/plugins/contextbrowser/kdevcontextbrowser.qrc b/plugins/contextbrowser/kdevcontextbrowser.qrc similarity index 100% rename from kdevplatform/plugins/contextbrowser/kdevcontextbrowser.qrc rename to plugins/contextbrowser/kdevcontextbrowser.qrc diff --git a/kdevplatform/plugins/contextbrowser/kdevcontextbrowser.rc b/plugins/contextbrowser/kdevcontextbrowser.rc similarity index 100% rename from kdevplatform/plugins/contextbrowser/kdevcontextbrowser.rc rename to plugins/contextbrowser/kdevcontextbrowser.rc diff --git a/analyzers/cppcheck/.kateconfig b/plugins/cppcheck/.kateconfig similarity index 100% rename from analyzers/cppcheck/.kateconfig rename to plugins/cppcheck/.kateconfig diff --git a/analyzers/cppcheck/CMakeLists.txt b/plugins/cppcheck/CMakeLists.txt similarity index 100% rename from analyzers/cppcheck/CMakeLists.txt rename to plugins/cppcheck/CMakeLists.txt diff --git a/analyzers/cppcheck/Messages.sh b/plugins/cppcheck/Messages.sh similarity index 100% copy from analyzers/cppcheck/Messages.sh copy to plugins/cppcheck/Messages.sh diff --git a/analyzers/cppcheck/config/globalconfigpage.cpp b/plugins/cppcheck/config/globalconfigpage.cpp similarity index 100% rename from analyzers/cppcheck/config/globalconfigpage.cpp rename to plugins/cppcheck/config/globalconfigpage.cpp diff --git a/analyzers/cppcheck/config/globalconfigpage.h b/plugins/cppcheck/config/globalconfigpage.h similarity index 100% rename from analyzers/cppcheck/config/globalconfigpage.h rename to plugins/cppcheck/config/globalconfigpage.h diff --git a/analyzers/cppcheck/config/globalconfigpage.ui b/plugins/cppcheck/config/globalconfigpage.ui similarity index 100% rename from analyzers/cppcheck/config/globalconfigpage.ui rename to plugins/cppcheck/config/globalconfigpage.ui diff --git a/analyzers/cppcheck/config/globalsettings.kcfg b/plugins/cppcheck/config/globalsettings.kcfg similarity index 100% rename from analyzers/cppcheck/config/globalsettings.kcfg rename to plugins/cppcheck/config/globalsettings.kcfg diff --git a/analyzers/cppcheck/config/globalsettings.kcfgc b/plugins/cppcheck/config/globalsettings.kcfgc similarity index 100% rename from analyzers/cppcheck/config/globalsettings.kcfgc rename to plugins/cppcheck/config/globalsettings.kcfgc diff --git a/analyzers/cppcheck/config/projectconfigpage.cpp b/plugins/cppcheck/config/projectconfigpage.cpp similarity index 100% rename from analyzers/cppcheck/config/projectconfigpage.cpp rename to plugins/cppcheck/config/projectconfigpage.cpp diff --git a/analyzers/cppcheck/config/projectconfigpage.h b/plugins/cppcheck/config/projectconfigpage.h similarity index 100% rename from analyzers/cppcheck/config/projectconfigpage.h rename to plugins/cppcheck/config/projectconfigpage.h diff --git a/analyzers/cppcheck/config/projectconfigpage.ui b/plugins/cppcheck/config/projectconfigpage.ui similarity index 100% rename from analyzers/cppcheck/config/projectconfigpage.ui rename to plugins/cppcheck/config/projectconfigpage.ui diff --git a/analyzers/cppcheck/config/projectsettings.kcfg b/plugins/cppcheck/config/projectsettings.kcfg similarity index 100% rename from analyzers/cppcheck/config/projectsettings.kcfg rename to plugins/cppcheck/config/projectsettings.kcfg diff --git a/analyzers/cppcheck/config/projectsettings.kcfgc b/plugins/cppcheck/config/projectsettings.kcfgc similarity index 100% rename from analyzers/cppcheck/config/projectsettings.kcfgc rename to plugins/cppcheck/config/projectsettings.kcfgc diff --git a/analyzers/cppcheck/icons/128-apps-cppcheck.png b/plugins/cppcheck/icons/128-apps-cppcheck.png similarity index 100% rename from analyzers/cppcheck/icons/128-apps-cppcheck.png rename to plugins/cppcheck/icons/128-apps-cppcheck.png diff --git a/analyzers/cppcheck/job.cpp b/plugins/cppcheck/job.cpp similarity index 100% rename from analyzers/cppcheck/job.cpp rename to plugins/cppcheck/job.cpp diff --git a/analyzers/cppcheck/job.h b/plugins/cppcheck/job.h similarity index 100% rename from analyzers/cppcheck/job.h rename to plugins/cppcheck/job.h diff --git a/analyzers/cppcheck/kdevcppcheck.json b/plugins/cppcheck/kdevcppcheck.json similarity index 100% rename from analyzers/cppcheck/kdevcppcheck.json rename to plugins/cppcheck/kdevcppcheck.json diff --git a/analyzers/cppcheck/kdevcppcheck.qrc b/plugins/cppcheck/kdevcppcheck.qrc similarity index 100% rename from analyzers/cppcheck/kdevcppcheck.qrc rename to plugins/cppcheck/kdevcppcheck.qrc diff --git a/analyzers/cppcheck/kdevcppcheck.rc b/plugins/cppcheck/kdevcppcheck.rc similarity index 100% rename from analyzers/cppcheck/kdevcppcheck.rc rename to plugins/cppcheck/kdevcppcheck.rc diff --git a/analyzers/cppcheck/parameters.cpp b/plugins/cppcheck/parameters.cpp similarity index 100% rename from analyzers/cppcheck/parameters.cpp rename to plugins/cppcheck/parameters.cpp diff --git a/analyzers/cppcheck/parameters.h b/plugins/cppcheck/parameters.h similarity index 100% rename from analyzers/cppcheck/parameters.h rename to plugins/cppcheck/parameters.h diff --git a/analyzers/cppcheck/parser.cpp b/plugins/cppcheck/parser.cpp similarity index 100% rename from analyzers/cppcheck/parser.cpp rename to plugins/cppcheck/parser.cpp diff --git a/analyzers/cppcheck/parser.h b/plugins/cppcheck/parser.h similarity index 100% rename from analyzers/cppcheck/parser.h rename to plugins/cppcheck/parser.h diff --git a/analyzers/cppcheck/plugin.cpp b/plugins/cppcheck/plugin.cpp similarity index 100% rename from analyzers/cppcheck/plugin.cpp rename to plugins/cppcheck/plugin.cpp diff --git a/analyzers/cppcheck/plugin.h b/plugins/cppcheck/plugin.h similarity index 100% rename from analyzers/cppcheck/plugin.h rename to plugins/cppcheck/plugin.h diff --git a/analyzers/cppcheck/problemmodel.cpp b/plugins/cppcheck/problemmodel.cpp similarity index 100% rename from analyzers/cppcheck/problemmodel.cpp rename to plugins/cppcheck/problemmodel.cpp diff --git a/analyzers/cppcheck/problemmodel.h b/plugins/cppcheck/problemmodel.h similarity index 100% rename from analyzers/cppcheck/problemmodel.h rename to plugins/cppcheck/problemmodel.h diff --git a/analyzers/cppcheck/tests/CMakeLists.txt b/plugins/cppcheck/tests/CMakeLists.txt similarity index 100% rename from analyzers/cppcheck/tests/CMakeLists.txt rename to plugins/cppcheck/tests/CMakeLists.txt diff --git a/analyzers/cppcheck/tests/test_cppcheckjob.cpp b/plugins/cppcheck/tests/test_cppcheckjob.cpp similarity index 100% rename from analyzers/cppcheck/tests/test_cppcheckjob.cpp rename to plugins/cppcheck/tests/test_cppcheckjob.cpp diff --git a/analyzers/cppcheck/tests/test_cppcheckjob.h b/plugins/cppcheck/tests/test_cppcheckjob.h similarity index 100% rename from analyzers/cppcheck/tests/test_cppcheckjob.h rename to plugins/cppcheck/tests/test_cppcheckjob.h diff --git a/analyzers/cppcheck/tests/test_cppcheckparser.cpp b/plugins/cppcheck/tests/test_cppcheckparser.cpp similarity index 99% rename from analyzers/cppcheck/tests/test_cppcheckparser.cpp rename to plugins/cppcheck/tests/test_cppcheckparser.cpp index d6cda452ae..9c92637bf7 100644 --- a/analyzers/cppcheck/tests/test_cppcheckparser.cpp +++ b/plugins/cppcheck/tests/test_cppcheckparser.cpp @@ -1,99 +1,100 @@ /************************************************************************************* * Copyright 2016 (C) Peje Nilsson * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * * as published by the Free Software Foundation; either version 2 * * of the License, or (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the Free Software * * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * *************************************************************************************/ #include "test_cppcheckparser.h" #include #include #include #include -#include "kdevplatform/shell/problem.h" +#include + #include "parser.h" using namespace KDevelop; using namespace cppcheck; void TestCppcheckParser::initTestCase() { AutoTestShell::init({"kdevcppcheck"}); TestCore::initialize(Core::NoUi); } void TestCppcheckParser::cleanupTestCase() { TestCore::shutdown(); } void TestCppcheckParser::testParser() { const QString cppcheck_example_output = QStringLiteral( "\n" "\n" " " " " " " " " " " " " " " " " " " " " " " " " " " ""); cppcheck::CppcheckParser parser; parser.addData(cppcheck_example_output); const auto problems = parser.parse(); QVERIFY(!problems.empty()); IProblem::Ptr p = problems[0]; QCOMPARE(p->description(), QStringLiteral("Memory leak: ej")); QCOMPARE(p->explanation(), QStringLiteral("Memory leak: ej")); QCOMPARE(p->finalLocation().document.str(), QStringLiteral("/kdesrc/kdev-cppcheck/plugin.cpp")); QCOMPARE(p->finalLocation().start().line()+1, 169); QCOMPARE(p->severity(), IProblem::Error); QCOMPARE(p->source(), IProblem::Plugin); // test problem with 2 elements p = problems[1]; QCOMPARE(p->description(), QStringLiteral("(performance) location_test_msg")); QCOMPARE(p->explanation(), QStringLiteral("location_test_verbose")); QCOMPARE(p->finalLocation().document.str(), QStringLiteral("location_test.cpp")); QCOMPARE(p->finalLocation().start().line()+1, 120); QCOMPARE(p->severity(), IProblem::Hint); QCOMPARE(p->source(), IProblem::Plugin); // test problem with '\\012' tokens in verbose message p = problems[2]; QCOMPARE(p->description(), QStringLiteral("(style, inconclusive) The scope of the variable...")); QCOMPARE(p->explanation(), QStringLiteral("...Here is an example...:
void f(int x)\n{\n    int i = 0;\n}

...")); QCOMPARE(p->finalLocation().document.str(), QStringLiteral("html_pre_test.cpp")); QCOMPARE(p->finalLocation().start().line()+1, 41); QCOMPARE(p->severity(), IProblem::Hint); QCOMPARE(p->source(), IProblem::Plugin); } QTEST_GUILESS_MAIN(TestCppcheckParser) diff --git a/analyzers/cppcheck/tests/test_cppcheckparser.h b/plugins/cppcheck/tests/test_cppcheckparser.h similarity index 100% rename from analyzers/cppcheck/tests/test_cppcheckparser.h rename to plugins/cppcheck/tests/test_cppcheckparser.h diff --git a/analyzers/cppcheck/utils.cpp b/plugins/cppcheck/utils.cpp similarity index 100% rename from analyzers/cppcheck/utils.cpp rename to plugins/cppcheck/utils.cpp diff --git a/analyzers/cppcheck/utils.h b/plugins/cppcheck/utils.h similarity index 100% rename from analyzers/cppcheck/utils.h rename to plugins/cppcheck/utils.h diff --git a/projectmanagers/custom-buildsystem/CMakeLists.txt b/plugins/custom-buildsystem/CMakeLists.txt similarity index 100% rename from projectmanagers/custom-buildsystem/CMakeLists.txt rename to plugins/custom-buildsystem/CMakeLists.txt diff --git a/projectmanagers/custom-buildsystem/LICENSE.GPL2 b/plugins/custom-buildsystem/LICENSE.GPL2 similarity index 100% rename from projectmanagers/custom-buildsystem/LICENSE.GPL2 rename to plugins/custom-buildsystem/LICENSE.GPL2 diff --git a/projectmanagers/custom-buildsystem/LICENSE.GPL3 b/plugins/custom-buildsystem/LICENSE.GPL3 similarity index 100% rename from projectmanagers/custom-buildsystem/LICENSE.GPL3 rename to plugins/custom-buildsystem/LICENSE.GPL3 diff --git a/projectmanagers/custom-buildsystem/Messages.sh b/plugins/custom-buildsystem/Messages.sh similarity index 100% rename from projectmanagers/custom-buildsystem/Messages.sh rename to plugins/custom-buildsystem/Messages.sh diff --git a/projectmanagers/custom-buildsystem/README b/plugins/custom-buildsystem/README similarity index 100% rename from projectmanagers/custom-buildsystem/README rename to plugins/custom-buildsystem/README diff --git a/projectmanagers/custom-buildsystem/configconstants.cpp b/plugins/custom-buildsystem/configconstants.cpp similarity index 100% rename from projectmanagers/custom-buildsystem/configconstants.cpp rename to plugins/custom-buildsystem/configconstants.cpp diff --git a/projectmanagers/custom-buildsystem/configconstants.h b/plugins/custom-buildsystem/configconstants.h similarity index 100% rename from projectmanagers/custom-buildsystem/configconstants.h rename to plugins/custom-buildsystem/configconstants.h diff --git a/projectmanagers/custom-buildsystem/configwidget.cpp b/plugins/custom-buildsystem/configwidget.cpp similarity index 100% rename from projectmanagers/custom-buildsystem/configwidget.cpp rename to plugins/custom-buildsystem/configwidget.cpp diff --git a/projectmanagers/custom-buildsystem/configwidget.h b/plugins/custom-buildsystem/configwidget.h similarity index 100% rename from projectmanagers/custom-buildsystem/configwidget.h rename to plugins/custom-buildsystem/configwidget.h diff --git a/projectmanagers/custom-buildsystem/configwidget.ui b/plugins/custom-buildsystem/configwidget.ui similarity index 100% rename from projectmanagers/custom-buildsystem/configwidget.ui rename to plugins/custom-buildsystem/configwidget.ui diff --git a/projectmanagers/custom-buildsystem/custombuildjob.cpp b/plugins/custom-buildsystem/custombuildjob.cpp similarity index 100% rename from projectmanagers/custom-buildsystem/custombuildjob.cpp rename to plugins/custom-buildsystem/custombuildjob.cpp diff --git a/projectmanagers/custom-buildsystem/custombuildjob.h b/plugins/custom-buildsystem/custombuildjob.h similarity index 100% rename from projectmanagers/custom-buildsystem/custombuildjob.h rename to plugins/custom-buildsystem/custombuildjob.h diff --git a/projectmanagers/custom-buildsystem/custombuildsystemconfig.cpp b/plugins/custom-buildsystem/custombuildsystemconfig.cpp similarity index 100% rename from projectmanagers/custom-buildsystem/custombuildsystemconfig.cpp rename to plugins/custom-buildsystem/custombuildsystemconfig.cpp diff --git a/projectmanagers/custom-buildsystem/custombuildsystemconfig.h b/plugins/custom-buildsystem/custombuildsystemconfig.h similarity index 100% rename from projectmanagers/custom-buildsystem/custombuildsystemconfig.h rename to plugins/custom-buildsystem/custombuildsystemconfig.h diff --git a/projectmanagers/custom-buildsystem/custombuildsystemconfigwidget.cpp b/plugins/custom-buildsystem/custombuildsystemconfigwidget.cpp similarity index 100% rename from projectmanagers/custom-buildsystem/custombuildsystemconfigwidget.cpp rename to plugins/custom-buildsystem/custombuildsystemconfigwidget.cpp diff --git a/projectmanagers/custom-buildsystem/custombuildsystemconfigwidget.h b/plugins/custom-buildsystem/custombuildsystemconfigwidget.h similarity index 100% rename from projectmanagers/custom-buildsystem/custombuildsystemconfigwidget.h rename to plugins/custom-buildsystem/custombuildsystemconfigwidget.h diff --git a/projectmanagers/custom-buildsystem/custombuildsystemconfigwidget.ui b/plugins/custom-buildsystem/custombuildsystemconfigwidget.ui similarity index 100% rename from projectmanagers/custom-buildsystem/custombuildsystemconfigwidget.ui rename to plugins/custom-buildsystem/custombuildsystemconfigwidget.ui diff --git a/projectmanagers/custom-buildsystem/custombuildsystemplugin.cpp b/plugins/custom-buildsystem/custombuildsystemplugin.cpp similarity index 100% rename from projectmanagers/custom-buildsystem/custombuildsystemplugin.cpp rename to plugins/custom-buildsystem/custombuildsystemplugin.cpp diff --git a/projectmanagers/custom-buildsystem/custombuildsystemplugin.h b/plugins/custom-buildsystem/custombuildsystemplugin.h similarity index 100% rename from projectmanagers/custom-buildsystem/custombuildsystemplugin.h rename to plugins/custom-buildsystem/custombuildsystemplugin.h diff --git a/projectmanagers/custom-buildsystem/kcfg_custombuildsystemconfig.kcfg b/plugins/custom-buildsystem/kcfg_custombuildsystemconfig.kcfg similarity index 100% rename from projectmanagers/custom-buildsystem/kcfg_custombuildsystemconfig.kcfg rename to plugins/custom-buildsystem/kcfg_custombuildsystemconfig.kcfg diff --git a/projectmanagers/custom-buildsystem/kcfg_custombuildsystemconfig.kcfgc b/plugins/custom-buildsystem/kcfg_custombuildsystemconfig.kcfgc similarity index 100% rename from projectmanagers/custom-buildsystem/kcfg_custombuildsystemconfig.kcfgc rename to plugins/custom-buildsystem/kcfg_custombuildsystemconfig.kcfgc diff --git a/projectmanagers/custom-buildsystem/kcm_custombuildsystem.cpp b/plugins/custom-buildsystem/kcm_custombuildsystem.cpp similarity index 100% rename from projectmanagers/custom-buildsystem/kcm_custombuildsystem.cpp rename to plugins/custom-buildsystem/kcm_custombuildsystem.cpp diff --git a/projectmanagers/custom-buildsystem/kcm_custombuildsystem.h b/plugins/custom-buildsystem/kcm_custombuildsystem.h similarity index 100% rename from projectmanagers/custom-buildsystem/kcm_custombuildsystem.h rename to plugins/custom-buildsystem/kcm_custombuildsystem.h diff --git a/projectmanagers/custom-buildsystem/kcm_kdevcustombuildsystem.desktop.cmake b/plugins/custom-buildsystem/kcm_kdevcustombuildsystem.desktop.cmake similarity index 100% rename from projectmanagers/custom-buildsystem/kcm_kdevcustombuildsystem.desktop.cmake rename to plugins/custom-buildsystem/kcm_kdevcustombuildsystem.desktop.cmake diff --git a/projectmanagers/custom-buildsystem/kdevcustombuildsystem.json b/plugins/custom-buildsystem/kdevcustombuildsystem.json similarity index 100% rename from projectmanagers/custom-buildsystem/kdevcustombuildsystem.json rename to plugins/custom-buildsystem/kdevcustombuildsystem.json diff --git a/projectmanagers/custom-buildsystem/tests/CMakeLists.txt b/plugins/custom-buildsystem/tests/CMakeLists.txt similarity index 100% rename from projectmanagers/custom-buildsystem/tests/CMakeLists.txt rename to plugins/custom-buildsystem/tests/CMakeLists.txt diff --git a/projectmanagers/custom-buildsystem/tests/kcmuitestmain.cpp b/plugins/custom-buildsystem/tests/kcmuitestmain.cpp similarity index 100% rename from projectmanagers/custom-buildsystem/tests/kcmuitestmain.cpp rename to plugins/custom-buildsystem/tests/kcmuitestmain.cpp diff --git a/projectmanagers/custom-buildsystem/tests/projects/builddirproject/.kdev4/builddirproject.kdev4 b/plugins/custom-buildsystem/tests/projects/builddirproject/.kdev4/builddirproject.kdev4 similarity index 100% rename from projectmanagers/custom-buildsystem/tests/projects/builddirproject/.kdev4/builddirproject.kdev4 rename to plugins/custom-buildsystem/tests/projects/builddirproject/.kdev4/builddirproject.kdev4 diff --git a/projectmanagers/custom-buildsystem/tests/projects/builddirproject/builddirproject.kdev4 b/plugins/custom-buildsystem/tests/projects/builddirproject/builddirproject.kdev4 similarity index 100% rename from projectmanagers/custom-buildsystem/tests/projects/builddirproject/builddirproject.kdev4 rename to plugins/custom-buildsystem/tests/projects/builddirproject/builddirproject.kdev4 diff --git a/projectmanagers/custom-buildsystem/tests/projects/multipathproject/.kdev4/multipathproject.kdev4 b/plugins/custom-buildsystem/tests/projects/multipathproject/.kdev4/multipathproject.kdev4 similarity index 100% rename from projectmanagers/custom-buildsystem/tests/projects/multipathproject/.kdev4/multipathproject.kdev4 rename to plugins/custom-buildsystem/tests/projects/multipathproject/.kdev4/multipathproject.kdev4 diff --git a/projectmanagers/custom-buildsystem/tests/projects/multipathproject/config.h b/plugins/custom-buildsystem/tests/projects/multipathproject/config.h similarity index 100% rename from projectmanagers/custom-buildsystem/tests/projects/multipathproject/config.h rename to plugins/custom-buildsystem/tests/projects/multipathproject/config.h diff --git a/projectmanagers/custom-buildsystem/tests/projects/multipathproject/multipathproject.kdev4 b/plugins/custom-buildsystem/tests/projects/multipathproject/multipathproject.kdev4 similarity index 100% rename from projectmanagers/custom-buildsystem/tests/projects/multipathproject/multipathproject.kdev4 rename to plugins/custom-buildsystem/tests/projects/multipathproject/multipathproject.kdev4 diff --git a/projectmanagers/custom-buildsystem/tests/projects/multipathproject/src/main.cpp b/plugins/custom-buildsystem/tests/projects/multipathproject/src/main.cpp similarity index 100% rename from projectmanagers/custom-buildsystem/tests/projects/multipathproject/src/main.cpp rename to plugins/custom-buildsystem/tests/projects/multipathproject/src/main.cpp diff --git a/projectmanagers/custom-buildsystem/tests/projects/simpleproject/.kdev4/simpleproject.kdev4 b/plugins/custom-buildsystem/tests/projects/simpleproject/.kdev4/simpleproject.kdev4 similarity index 100% rename from projectmanagers/custom-buildsystem/tests/projects/simpleproject/.kdev4/simpleproject.kdev4 rename to plugins/custom-buildsystem/tests/projects/simpleproject/.kdev4/simpleproject.kdev4 diff --git a/projectmanagers/custom-buildsystem/tests/projects/simpleproject/config.h b/plugins/custom-buildsystem/tests/projects/simpleproject/config.h similarity index 100% rename from projectmanagers/custom-buildsystem/tests/projects/simpleproject/config.h rename to plugins/custom-buildsystem/tests/projects/simpleproject/config.h diff --git a/projectmanagers/custom-buildsystem/tests/projects/simpleproject/simpleproject.kdev4 b/plugins/custom-buildsystem/tests/projects/simpleproject/simpleproject.kdev4 similarity index 100% rename from projectmanagers/custom-buildsystem/tests/projects/simpleproject/simpleproject.kdev4 rename to plugins/custom-buildsystem/tests/projects/simpleproject/simpleproject.kdev4 diff --git a/projectmanagers/custom-buildsystem/tests/projects/simpleproject/src/main.cpp b/plugins/custom-buildsystem/tests/projects/simpleproject/src/main.cpp similarity index 100% rename from projectmanagers/custom-buildsystem/tests/projects/simpleproject/src/main.cpp rename to plugins/custom-buildsystem/tests/projects/simpleproject/src/main.cpp diff --git a/projectmanagers/custom-buildsystem/tests/test_custombuildsystemplugin.cpp b/plugins/custom-buildsystem/tests/test_custombuildsystemplugin.cpp similarity index 100% rename from projectmanagers/custom-buildsystem/tests/test_custombuildsystemplugin.cpp rename to plugins/custom-buildsystem/tests/test_custombuildsystemplugin.cpp diff --git a/projectmanagers/custom-buildsystem/tests/test_custombuildsystemplugin.h b/plugins/custom-buildsystem/tests/test_custombuildsystemplugin.h similarity index 100% rename from projectmanagers/custom-buildsystem/tests/test_custombuildsystemplugin.h rename to plugins/custom-buildsystem/tests/test_custombuildsystemplugin.h diff --git a/projectmanagers/custom-buildsystem/tests/testconfig.h.in b/plugins/custom-buildsystem/tests/testconfig.h.in similarity index 100% rename from projectmanagers/custom-buildsystem/tests/testconfig.h.in rename to plugins/custom-buildsystem/tests/testconfig.h.in diff --git a/languages/plugins/custom-definesandincludes/CMakeLists.txt b/plugins/custom-definesandincludes/CMakeLists.txt similarity index 100% rename from languages/plugins/custom-definesandincludes/CMakeLists.txt rename to plugins/custom-definesandincludes/CMakeLists.txt diff --git a/languages/plugins/custom-definesandincludes/Messages.sh b/plugins/custom-definesandincludes/Messages.sh similarity index 100% rename from languages/plugins/custom-definesandincludes/Messages.sh rename to plugins/custom-definesandincludes/Messages.sh diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/CMakeLists.txt b/plugins/custom-definesandincludes/compilerprovider/CMakeLists.txt similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/CMakeLists.txt rename to plugins/custom-definesandincludes/compilerprovider/CMakeLists.txt diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/compilerfactories.cpp b/plugins/custom-definesandincludes/compilerprovider/compilerfactories.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/compilerfactories.cpp rename to plugins/custom-definesandincludes/compilerprovider/compilerfactories.cpp diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/compilerfactories.h b/plugins/custom-definesandincludes/compilerprovider/compilerfactories.h similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/compilerfactories.h rename to plugins/custom-definesandincludes/compilerprovider/compilerfactories.h diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp b/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp rename to plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/compilerprovider.h b/plugins/custom-definesandincludes/compilerprovider/compilerprovider.h similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/compilerprovider.h rename to plugins/custom-definesandincludes/compilerprovider/compilerprovider.h diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/gcclikecompiler.cpp b/plugins/custom-definesandincludes/compilerprovider/gcclikecompiler.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/gcclikecompiler.cpp rename to plugins/custom-definesandincludes/compilerprovider/gcclikecompiler.cpp diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/gcclikecompiler.h b/plugins/custom-definesandincludes/compilerprovider/gcclikecompiler.h similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/gcclikecompiler.h rename to plugins/custom-definesandincludes/compilerprovider/gcclikecompiler.h diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/icompiler.cpp b/plugins/custom-definesandincludes/compilerprovider/icompiler.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/icompiler.cpp rename to plugins/custom-definesandincludes/compilerprovider/icompiler.cpp diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/icompiler.h b/plugins/custom-definesandincludes/compilerprovider/icompiler.h similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/icompiler.h rename to plugins/custom-definesandincludes/compilerprovider/icompiler.h diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/icompilerfactory.h b/plugins/custom-definesandincludes/compilerprovider/icompilerfactory.h similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/icompilerfactory.h rename to plugins/custom-definesandincludes/compilerprovider/icompilerfactory.h diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/msvccompiler.cpp b/plugins/custom-definesandincludes/compilerprovider/msvccompiler.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/msvccompiler.cpp rename to plugins/custom-definesandincludes/compilerprovider/msvccompiler.cpp diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/msvccompiler.h b/plugins/custom-definesandincludes/compilerprovider/msvccompiler.h similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/msvccompiler.h rename to plugins/custom-definesandincludes/compilerprovider/msvccompiler.h diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/msvcdefinehelper.cpp b/plugins/custom-definesandincludes/compilerprovider/msvcdefinehelper.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/msvcdefinehelper.cpp rename to plugins/custom-definesandincludes/compilerprovider/msvcdefinehelper.cpp diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/settingsmanager.cpp b/plugins/custom-definesandincludes/compilerprovider/settingsmanager.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/settingsmanager.cpp rename to plugins/custom-definesandincludes/compilerprovider/settingsmanager.cpp diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/settingsmanager.h b/plugins/custom-definesandincludes/compilerprovider/settingsmanager.h similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/settingsmanager.h rename to plugins/custom-definesandincludes/compilerprovider/settingsmanager.h diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/tests/CMakeLists.txt b/plugins/custom-definesandincludes/compilerprovider/tests/CMakeLists.txt similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/tests/CMakeLists.txt rename to plugins/custom-definesandincludes/compilerprovider/tests/CMakeLists.txt diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.cpp b/plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.cpp rename to plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.cpp diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.h b/plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.h similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.h rename to plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.h diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilersmodel.cpp b/plugins/custom-definesandincludes/compilerprovider/widget/compilersmodel.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/widget/compilersmodel.cpp rename to plugins/custom-definesandincludes/compilerprovider/widget/compilersmodel.cpp diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilersmodel.h b/plugins/custom-definesandincludes/compilerprovider/widget/compilersmodel.h similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/widget/compilersmodel.h rename to plugins/custom-definesandincludes/compilerprovider/widget/compilersmodel.h diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.cpp b/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.cpp rename to plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.cpp diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.h b/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.h similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.h rename to plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.h diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.ui b/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.ui similarity index 100% rename from languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.ui rename to plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.ui diff --git a/languages/plugins/custom-definesandincludes/definesandincludesmanager.cpp b/plugins/custom-definesandincludes/definesandincludesmanager.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/definesandincludesmanager.cpp rename to plugins/custom-definesandincludes/definesandincludesmanager.cpp diff --git a/languages/plugins/custom-definesandincludes/definesandincludesmanager.h b/plugins/custom-definesandincludes/definesandincludesmanager.h similarity index 100% rename from languages/plugins/custom-definesandincludes/definesandincludesmanager.h rename to plugins/custom-definesandincludes/definesandincludesmanager.h diff --git a/languages/plugins/custom-definesandincludes/idefinesandincludesmanager.h b/plugins/custom-definesandincludes/idefinesandincludesmanager.h similarity index 100% rename from languages/plugins/custom-definesandincludes/idefinesandincludesmanager.h rename to plugins/custom-definesandincludes/idefinesandincludesmanager.h diff --git a/languages/plugins/custom-definesandincludes/includepathsconverter.cpp b/plugins/custom-definesandincludes/includepathsconverter.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/includepathsconverter.cpp rename to plugins/custom-definesandincludes/includepathsconverter.cpp diff --git a/languages/plugins/custom-definesandincludes/includepathsconverter.h b/plugins/custom-definesandincludes/includepathsconverter.h similarity index 100% rename from languages/plugins/custom-definesandincludes/includepathsconverter.h rename to plugins/custom-definesandincludes/includepathsconverter.h diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/batchedit.ui b/plugins/custom-definesandincludes/kcm_widget/batchedit.ui similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/batchedit.ui rename to plugins/custom-definesandincludes/kcm_widget/batchedit.ui diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/customdefinesandincludes.kcfg b/plugins/custom-definesandincludes/kcm_widget/customdefinesandincludes.kcfg similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/customdefinesandincludes.kcfg rename to plugins/custom-definesandincludes/kcm_widget/customdefinesandincludes.kcfg diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/customdefinesandincludes.kcfgc b/plugins/custom-definesandincludes/kcm_widget/customdefinesandincludes.kcfgc similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/customdefinesandincludes.kcfgc rename to plugins/custom-definesandincludes/kcm_widget/customdefinesandincludes.kcfgc diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/definesandincludesconfigpage.cpp b/plugins/custom-definesandincludes/kcm_widget/definesandincludesconfigpage.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/definesandincludesconfigpage.cpp rename to plugins/custom-definesandincludes/kcm_widget/definesandincludesconfigpage.cpp diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/definesandincludesconfigpage.h b/plugins/custom-definesandincludes/kcm_widget/definesandincludesconfigpage.h similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/definesandincludesconfigpage.h rename to plugins/custom-definesandincludes/kcm_widget/definesandincludesconfigpage.h diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/definesmodel.cpp b/plugins/custom-definesandincludes/kcm_widget/definesmodel.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/definesmodel.cpp rename to plugins/custom-definesandincludes/kcm_widget/definesmodel.cpp diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/definesmodel.h b/plugins/custom-definesandincludes/kcm_widget/definesmodel.h similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/definesmodel.h rename to plugins/custom-definesandincludes/kcm_widget/definesmodel.h diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/defineswidget.cpp b/plugins/custom-definesandincludes/kcm_widget/defineswidget.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/defineswidget.cpp rename to plugins/custom-definesandincludes/kcm_widget/defineswidget.cpp diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/defineswidget.h b/plugins/custom-definesandincludes/kcm_widget/defineswidget.h similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/defineswidget.h rename to plugins/custom-definesandincludes/kcm_widget/defineswidget.h diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/defineswidget.ui b/plugins/custom-definesandincludes/kcm_widget/defineswidget.ui similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/defineswidget.ui rename to plugins/custom-definesandincludes/kcm_widget/defineswidget.ui diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/includesmodel.cpp b/plugins/custom-definesandincludes/kcm_widget/includesmodel.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/includesmodel.cpp rename to plugins/custom-definesandincludes/kcm_widget/includesmodel.cpp diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/includesmodel.h b/plugins/custom-definesandincludes/kcm_widget/includesmodel.h similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/includesmodel.h rename to plugins/custom-definesandincludes/kcm_widget/includesmodel.h diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/includeswidget.cpp b/plugins/custom-definesandincludes/kcm_widget/includeswidget.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/includeswidget.cpp rename to plugins/custom-definesandincludes/kcm_widget/includeswidget.cpp diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/includeswidget.h b/plugins/custom-definesandincludes/kcm_widget/includeswidget.h similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/includeswidget.h rename to plugins/custom-definesandincludes/kcm_widget/includeswidget.h diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/includeswidget.ui b/plugins/custom-definesandincludes/kcm_widget/includeswidget.ui similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/includeswidget.ui rename to plugins/custom-definesandincludes/kcm_widget/includeswidget.ui diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/parserwidget.cpp b/plugins/custom-definesandincludes/kcm_widget/parserwidget.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/parserwidget.cpp rename to plugins/custom-definesandincludes/kcm_widget/parserwidget.cpp diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/parserwidget.h b/plugins/custom-definesandincludes/kcm_widget/parserwidget.h similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/parserwidget.h rename to plugins/custom-definesandincludes/kcm_widget/parserwidget.h diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/parserwidget.ui b/plugins/custom-definesandincludes/kcm_widget/parserwidget.ui similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/parserwidget.ui rename to plugins/custom-definesandincludes/kcm_widget/parserwidget.ui diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/projectpathsmodel.cpp b/plugins/custom-definesandincludes/kcm_widget/projectpathsmodel.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/projectpathsmodel.cpp rename to plugins/custom-definesandincludes/kcm_widget/projectpathsmodel.cpp diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/projectpathsmodel.h b/plugins/custom-definesandincludes/kcm_widget/projectpathsmodel.h similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/projectpathsmodel.h rename to plugins/custom-definesandincludes/kcm_widget/projectpathsmodel.h diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.cpp b/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.cpp rename to plugins/custom-definesandincludes/kcm_widget/projectpathswidget.cpp diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.h b/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.h similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.h rename to plugins/custom-definesandincludes/kcm_widget/projectpathswidget.h diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.ui b/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.ui similarity index 100% rename from languages/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.ui rename to plugins/custom-definesandincludes/kcm_widget/projectpathswidget.ui diff --git a/languages/plugins/custom-definesandincludes/kdevdefinesandincludesmanager.json b/plugins/custom-definesandincludes/kdevdefinesandincludesmanager.json similarity index 100% rename from languages/plugins/custom-definesandincludes/kdevdefinesandincludesmanager.json rename to plugins/custom-definesandincludes/kdevdefinesandincludesmanager.json diff --git a/languages/plugins/custom-definesandincludes/noprojectincludesanddefines/CMakeLists.txt b/plugins/custom-definesandincludes/noprojectincludesanddefines/CMakeLists.txt similarity index 100% rename from languages/plugins/custom-definesandincludes/noprojectincludesanddefines/CMakeLists.txt rename to plugins/custom-definesandincludes/noprojectincludesanddefines/CMakeLists.txt diff --git a/languages/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectcustomincludepaths.cpp b/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectcustomincludepaths.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectcustomincludepaths.cpp rename to plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectcustomincludepaths.cpp diff --git a/languages/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectcustomincludepaths.h b/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectcustomincludepaths.h similarity index 100% rename from languages/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectcustomincludepaths.h rename to plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectcustomincludepaths.h diff --git a/languages/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectcustomincludepaths.ui b/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectcustomincludepaths.ui similarity index 100% rename from languages/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectcustomincludepaths.ui rename to plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectcustomincludepaths.ui diff --git a/languages/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectincludepathsmanager.cpp b/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectincludepathsmanager.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectincludepathsmanager.cpp rename to plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectincludepathsmanager.cpp diff --git a/languages/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectincludepathsmanager.h b/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectincludepathsmanager.h similarity index 100% rename from languages/plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectincludepathsmanager.h rename to plugins/custom-definesandincludes/noprojectincludesanddefines/noprojectincludepathsmanager.h diff --git a/languages/plugins/custom-definesandincludes/tests/CMakeLists.txt b/plugins/custom-definesandincludes/tests/CMakeLists.txt similarity index 100% rename from languages/plugins/custom-definesandincludes/tests/CMakeLists.txt rename to plugins/custom-definesandincludes/tests/CMakeLists.txt diff --git a/languages/plugins/custom-definesandincludes/tests/projectsgenerator.cpp b/plugins/custom-definesandincludes/tests/projectsgenerator.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/tests/projectsgenerator.cpp rename to plugins/custom-definesandincludes/tests/projectsgenerator.cpp diff --git a/languages/plugins/custom-definesandincludes/tests/projectsgenerator.h b/plugins/custom-definesandincludes/tests/projectsgenerator.h similarity index 100% rename from languages/plugins/custom-definesandincludes/tests/projectsgenerator.h rename to plugins/custom-definesandincludes/tests/projectsgenerator.h diff --git a/languages/plugins/custom-definesandincludes/tests/test_definesandincludes.cpp b/plugins/custom-definesandincludes/tests/test_definesandincludes.cpp similarity index 100% rename from languages/plugins/custom-definesandincludes/tests/test_definesandincludes.cpp rename to plugins/custom-definesandincludes/tests/test_definesandincludes.cpp diff --git a/languages/plugins/custom-definesandincludes/tests/test_definesandincludes.h b/plugins/custom-definesandincludes/tests/test_definesandincludes.h similarity index 100% rename from languages/plugins/custom-definesandincludes/tests/test_definesandincludes.h rename to plugins/custom-definesandincludes/tests/test_definesandincludes.h diff --git a/projectmanagers/custommake/CMakeLists.txt b/plugins/custommake/CMakeLists.txt similarity index 93% rename from projectmanagers/custommake/CMakeLists.txt rename to plugins/custommake/CMakeLists.txt index b19ffc0f41..13c915365e 100644 --- a/projectmanagers/custommake/CMakeLists.txt +++ b/plugins/custommake/CMakeLists.txt @@ -1,21 +1,21 @@ add_definitions(-DTRANSLATION_DOMAIN=\"kdevcustommake\") set(kdevcustommakemanager_PART_SRCS custommakemanager.cpp custommakemodelitems.cpp ) ecm_qt_declare_logging_category(kdevcustommakemanager_PART_SRCS HEADER debug.h IDENTIFIER CUSTOMMAKE CATEGORY_NAME "kdevelop.projectmanagers.custommake" ) qt5_add_resources(kdevcustommakemanager_PART_SRCS kdevcustommakemanager.qrc) kdevplatform_add_plugin(kdevcustommakemanager JSON kdevcustommakemanager.json SOURCES ${kdevcustommakemanager_PART_SRCS}) target_link_libraries(kdevcustommakemanager KF5::KIOWidgets - KDev::Interfaces KDev::Project KDev::Util KDev::Language KDev::IMakeBuilder + KDev::Interfaces KDev::Project KDev::Util KDev::Language KDev::IMakeBuilder KDev::DefinesAndIncludesManager kdevmakefileresolver ) add_subdirectory(makefileresolver) diff --git a/projectmanagers/custommake/Messages.sh b/plugins/custommake/Messages.sh similarity index 100% rename from projectmanagers/custommake/Messages.sh rename to plugins/custommake/Messages.sh diff --git a/projectmanagers/custommake/custommakemanager.cpp b/plugins/custommake/custommakemanager.cpp similarity index 98% rename from projectmanagers/custommake/custommakemanager.cpp rename to plugins/custommake/custommakemanager.cpp index d883ecf3e6..e20d4c471b 100644 --- a/projectmanagers/custommake/custommakemanager.cpp +++ b/plugins/custommake/custommakemanager.cpp @@ -1,324 +1,323 @@ /* KDevelop Custom Makefile Support * * Copyright 2007 Dukju Ahn * Copyright 2011 Milian Wolff * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. */ #include "custommakemanager.h" #include "custommakemodelitems.h" #include #include #include #include #include #include #include #include #include +#include +#include #include #include #include #include #include #include -#include "../../languages/plugins/custom-definesandincludes/idefinesandincludesmanager.h" -#include "makefileresolver/makefileresolver.h" - using namespace KDevelop; class CustomMakeProvider : public IDefinesAndIncludesManager::BackgroundProvider { public: explicit CustomMakeProvider(CustomMakeManager* manager) : m_customMakeManager(manager) , m_resolver(new MakeFileResolver()) {} // NOTE: Fixes build failures for GCC versions <4.8. // cf. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53613 ~CustomMakeProvider() Q_DECL_NOEXCEPT override; QHash< QString, QString > definesInBackground(const QString&) const override { return {}; } Path::List resolvePathInBackground(const QString& path, const bool isFrameworks) const { { QReadLocker lock(&m_lock); bool inProject = std::any_of(m_customMakeManager->m_projectPaths.constBegin(), m_customMakeManager->m_projectPaths.constEnd(), [&path](const QString& projectPath) { return path.startsWith(projectPath); } ); if (!inProject) { return {}; } } if (isFrameworks) { return m_resolver->resolveIncludePath(path).frameworkDirectories; } else { return m_resolver->resolveIncludePath(path).paths; } } Path::List includesInBackground(const QString& path) const override { return resolvePathInBackground(path, false); } Path::List frameworkDirectoriesInBackground(const QString& path) const override { return resolvePathInBackground(path, true); } IDefinesAndIncludesManager::Type type() const override { return IDefinesAndIncludesManager::ProjectSpecific; } CustomMakeManager* m_customMakeManager; QScopedPointer m_resolver; mutable QReadWriteLock m_lock; }; // NOTE: Fixes build failures for GCC versions <4.8. // See above. CustomMakeProvider::~CustomMakeProvider() Q_DECL_NOEXCEPT {} K_PLUGIN_FACTORY_WITH_JSON(CustomMakeSupportFactory, "kdevcustommakemanager.json", registerPlugin(); ) CustomMakeManager::CustomMakeManager( QObject *parent, const QVariantList& args ) : KDevelop::AbstractFileManagerPlugin( QStringLiteral("kdevcustommakemanager"), parent ) , m_builder( nullptr ) , m_provider(new CustomMakeProvider(this)) { Q_UNUSED(args) setXMLFile( QStringLiteral("kdevcustommakemanager.rc") ); // TODO use CustomMakeBuilder IPlugin* i = core()->pluginController()->pluginForExtension( QStringLiteral("org.kdevelop.IMakeBuilder") ); Q_ASSERT(i); m_builder = i->extension(); Q_ASSERT(m_builder); connect(this, &CustomMakeManager::reloadedFileItem, this, &CustomMakeManager::reloadMakefile); connect(ICore::self()->projectController(), &IProjectController::projectClosing, this, &CustomMakeManager::projectClosing); IDefinesAndIncludesManager::manager()->registerBackgroundProvider(m_provider.data()); } CustomMakeManager::~CustomMakeManager() { } IProjectBuilder* CustomMakeManager::builder() const { Q_ASSERT(m_builder); return m_builder; } Path::List CustomMakeManager::includeDirectories(KDevelop::ProjectBaseItem*) const { return Path::List(); } Path::List CustomMakeManager::frameworkDirectories(KDevelop::ProjectBaseItem*) const { return Path::List(); } QHash CustomMakeManager::defines(KDevelop::ProjectBaseItem*) const { return QHash(); } ProjectTargetItem* CustomMakeManager::createTarget(const QString& target, KDevelop::ProjectFolderItem *parent) { Q_UNUSED(target) Q_UNUSED(parent) return nullptr; } bool CustomMakeManager::addFilesToTarget(const QList< ProjectFileItem* > &files, ProjectTargetItem* parent) { Q_UNUSED( files ) Q_UNUSED( parent ) return false; } bool CustomMakeManager::removeTarget(KDevelop::ProjectTargetItem *target) { Q_UNUSED( target ) return false; } bool CustomMakeManager::removeFilesFromTargets(const QList< ProjectFileItem* > &targetFiles) { Q_UNUSED( targetFiles ) return false; } bool CustomMakeManager::hasBuildInfo(KDevelop::ProjectBaseItem* item) const { Q_UNUSED(item); return false; } Path CustomMakeManager::buildDirectory(KDevelop::ProjectBaseItem* item) const { ProjectFolderItem *fi=dynamic_cast(item); for(; !fi && item; ) { item=item->parent(); fi=dynamic_cast(item); } if(!fi) { return item->project()->path(); } return fi->path(); } QList CustomMakeManager::targets(KDevelop::ProjectFolderItem*) const { QList ret; return ret; } static bool isMakefile(const QString& fileName) { return ( fileName == QLatin1String("Makefile") || fileName == QLatin1String("makefile") || fileName == QLatin1String("GNUmakefile") || fileName == QLatin1String("BSDmakefile") ); } void CustomMakeManager::createTargetItems(IProject* project, const Path& path, ProjectBaseItem* parent) { Q_ASSERT(isMakefile(path.lastPathSegment())); foreach(const QString& target, parseCustomMakeFile( path )) { if (!isValid(Path(parent->path(), target), false, project)) { continue; } new CustomMakeTargetItem( project, target, parent ); } } ProjectFileItem* CustomMakeManager::createFileItem(IProject* project, const Path& path, ProjectBaseItem* parent) { ProjectFileItem* item = new ProjectFileItem(project, path, parent); if (isMakefile(path.lastPathSegment())){ createTargetItems(project, path, parent); } return item; } void CustomMakeManager::reloadMakefile(ProjectFileItem* file) { if( !isMakefile(file->path().lastPathSegment())){ return; } ProjectBaseItem* parent = file->parent(); // remove the items that are Makefile targets foreach(ProjectBaseItem* item, parent->children()){ if (item->target()){ delete item; } } // Recreate the targets. createTargetItems(parent->project(), file->path(), parent); } ProjectFolderItem* CustomMakeManager::createFolderItem(IProject* project, const Path& path, ProjectBaseItem* parent) { // TODO more faster algorithm. should determine whether this directory // contains makefile or not. return new KDevelop::ProjectBuildFolderItem( project, path, parent ); } KDevelop::ProjectFolderItem* CustomMakeManager::import(KDevelop::IProject *project) { if( project->path().isRemote() ) { //FIXME turn this into a real warning qCWarning(CUSTOMMAKE) << project->path() << "not a local file. Custom make support doesn't handle remote projects"; return nullptr; } { QWriteLocker lock(&m_provider->m_lock); m_projectPaths.insert(project->path().path()); } return AbstractFileManagerPlugin::import( project ); } ///////////////////////////////////////////////////////////////////////////// // private slots ///TODO: move to background thread, probably best would be to use a proper ParseJob QStringList CustomMakeManager::parseCustomMakeFile( const Path &makefile ) { if( !makefile.isValid() ) return QStringList(); QStringList ret; // the list of targets QFile f( makefile.toLocalFile() ); if ( !f.open( QIODevice::ReadOnly | QIODevice::Text ) ) { qCDebug(CUSTOMMAKE) << "could not open" << makefile; return ret; } QRegExp targetRe( "^ *([^\\t$.#]\\S+) *:?:(?!=).*$" ); targetRe.setMinimal( true ); QString str; QTextStream stream( &f ); while ( !stream.atEnd() ) { str = stream.readLine(); if ( targetRe.indexIn( str ) != -1 ) { QString tmpTarget = targetRe.cap( 1 ).simplified(); if ( ! ret.contains( tmpTarget ) ) ret.append( tmpTarget ); } } f.close(); return ret; } void CustomMakeManager::projectClosing(IProject* project) { QWriteLocker lock(&m_provider->m_lock); m_projectPaths.remove(project->path().path()); } void CustomMakeManager::unload() { IDefinesAndIncludesManager::manager()->unregisterBackgroundProvider(m_provider.data()); } #include "custommakemanager.moc" diff --git a/projectmanagers/custommake/custommakemanager.h b/plugins/custommake/custommakemanager.h similarity index 100% rename from projectmanagers/custommake/custommakemanager.h rename to plugins/custommake/custommakemanager.h diff --git a/projectmanagers/custommake/custommakemodelitems.cpp b/plugins/custommake/custommakemodelitems.cpp similarity index 100% rename from projectmanagers/custommake/custommakemodelitems.cpp rename to plugins/custommake/custommakemodelitems.cpp diff --git a/projectmanagers/custommake/custommakemodelitems.h b/plugins/custommake/custommakemodelitems.h similarity index 100% rename from projectmanagers/custommake/custommakemodelitems.h rename to plugins/custommake/custommakemodelitems.h diff --git a/projectmanagers/custommake/kdevcustommakemanager.json b/plugins/custommake/kdevcustommakemanager.json similarity index 100% rename from projectmanagers/custommake/kdevcustommakemanager.json rename to plugins/custommake/kdevcustommakemanager.json diff --git a/projectmanagers/custommake/kdevcustommakemanager.qrc b/plugins/custommake/kdevcustommakemanager.qrc similarity index 100% rename from projectmanagers/custommake/kdevcustommakemanager.qrc rename to plugins/custommake/kdevcustommakemanager.qrc diff --git a/projectmanagers/custommake/kdevcustommakemanager.rc b/plugins/custommake/kdevcustommakemanager.rc similarity index 100% rename from projectmanagers/custommake/kdevcustommakemanager.rc rename to plugins/custommake/kdevcustommakemanager.rc diff --git a/projectmanagers/custommake/makefileresolver/CMakeLists.txt b/plugins/custommake/makefileresolver/CMakeLists.txt similarity index 87% rename from projectmanagers/custommake/makefileresolver/CMakeLists.txt rename to plugins/custommake/makefileresolver/CMakeLists.txt index fd9052c98f..d95327d901 100644 --- a/projectmanagers/custommake/makefileresolver/CMakeLists.txt +++ b/plugins/custommake/makefileresolver/CMakeLists.txt @@ -1,26 +1,29 @@ set(makefileresolver_SRCS makefileresolver.cpp helper.cpp ) add_library(kdevmakefileresolver STATIC ${makefileresolver_SRCS} ) target_link_libraries(kdevmakefileresolver KDev::Interfaces KDev::Project Qt5::Core Qt5::Gui KDev::Language ) set_target_properties(kdevmakefileresolver PROPERTIES POSITION_INDEPENDENT_CODE ON) +target_include_directories(kdevmakefileresolver INTERFACE + "$" +) option(BUILD_kdev_makefileresolver "Build the makefile resolver debugging tool" OFF) if(BUILD_kdev_makefileresolver) add_executable(kdev_makefileresolver makefileresolver.cpp) set_target_properties( kdev_makefileresolver PROPERTIES COMPILE_FLAGS -DTEST ) target_link_libraries(kdev_makefileresolver kdevmakefileresolver) install(TARGETS kdev_makefileresolver ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} ) endif() if(BUILD_TESTING) add_subdirectory(tests) endif() diff --git a/projectmanagers/custommake/makefileresolver/helper.cpp b/plugins/custommake/makefileresolver/helper.cpp similarity index 100% rename from projectmanagers/custommake/makefileresolver/helper.cpp rename to plugins/custommake/makefileresolver/helper.cpp diff --git a/projectmanagers/custommake/makefileresolver/helper.h b/plugins/custommake/makefileresolver/helper.h similarity index 100% rename from projectmanagers/custommake/makefileresolver/helper.h rename to plugins/custommake/makefileresolver/helper.h diff --git a/projectmanagers/custommake/makefileresolver/makefileresolver.cpp b/plugins/custommake/makefileresolver/makefileresolver.cpp similarity index 100% rename from projectmanagers/custommake/makefileresolver/makefileresolver.cpp rename to plugins/custommake/makefileresolver/makefileresolver.cpp diff --git a/projectmanagers/custommake/makefileresolver/makefileresolver.h b/plugins/custommake/makefileresolver/makefileresolver.h similarity index 100% rename from projectmanagers/custommake/makefileresolver/makefileresolver.h rename to plugins/custommake/makefileresolver/makefileresolver.h diff --git a/projectmanagers/custommake/makefileresolver/tests/CMakeLists.txt b/plugins/custommake/makefileresolver/tests/CMakeLists.txt similarity index 100% rename from projectmanagers/custommake/makefileresolver/tests/CMakeLists.txt rename to plugins/custommake/makefileresolver/tests/CMakeLists.txt diff --git a/projectmanagers/custommake/makefileresolver/tests/test_custommake.cpp b/plugins/custommake/makefileresolver/tests/test_custommake.cpp similarity index 100% rename from projectmanagers/custommake/makefileresolver/tests/test_custommake.cpp rename to plugins/custommake/makefileresolver/tests/test_custommake.cpp diff --git a/projectmanagers/custommake/makefileresolver/tests/test_custommake.h b/plugins/custommake/makefileresolver/tests/test_custommake.h similarity index 100% rename from projectmanagers/custommake/makefileresolver/tests/test_custommake.h rename to plugins/custommake/makefileresolver/tests/test_custommake.h diff --git a/formatters/customscript/CMakeLists.txt b/plugins/customscript/CMakeLists.txt similarity index 87% rename from formatters/customscript/CMakeLists.txt rename to plugins/customscript/CMakeLists.txt index 3cfed2d353..7d901915d9 100644 --- a/formatters/customscript/CMakeLists.txt +++ b/plugins/customscript/CMakeLists.txt @@ -1,14 +1,14 @@ -########### indent ############### +add_definitions(-DTRANSLATION_DOMAIN=\"kdevcustomscript\") set(kdevcustomscript_PART_SRCS customscript_plugin.cpp ) ecm_qt_declare_logging_category(kdevcustomscript_PART_SRCS HEADER debug.h IDENTIFIER CUSTOMSCRIPT CATEGORY_NAME "kdevelop.formatters.customscript" ) kdevplatform_add_plugin(kdevcustomscript JSON kdevcustomscript.json SOURCES ${kdevcustomscript_PART_SRCS}) target_link_libraries(kdevcustomscript KDev::Interfaces KDev::Util) diff --git a/analyzers/cppcheck/Messages.sh b/plugins/customscript/Messages.sh similarity index 84% rename from analyzers/cppcheck/Messages.sh rename to plugins/customscript/Messages.sh index 31ca95b09b..11bd8633c1 100644 --- a/analyzers/cppcheck/Messages.sh +++ b/plugins/customscript/Messages.sh @@ -1,4 +1,4 @@ #!/bin/sh $EXTRACTRC `find . -name \*.rc` `find . -name \*.ui` >>rc.cpp -$XGETTEXT `find . -name \*.cc -o -name \*.cpp -o -name \*.h` -o $podir/kdevcppcheck.pot +$XGETTEXT `find . -name \*.cc -o -name \*.cpp -o -name \*.h` -o $podir/kdevcustomscript.pot rm -f rc.cpp diff --git a/formatters/customscript/customscript_plugin.cpp b/plugins/customscript/customscript_plugin.cpp similarity index 100% rename from formatters/customscript/customscript_plugin.cpp rename to plugins/customscript/customscript_plugin.cpp diff --git a/formatters/customscript/customscript_plugin.h b/plugins/customscript/customscript_plugin.h similarity index 100% rename from formatters/customscript/customscript_plugin.h rename to plugins/customscript/customscript_plugin.h diff --git a/formatters/customscript/kdevcustomscript.json b/plugins/customscript/kdevcustomscript.json similarity index 100% rename from formatters/customscript/kdevcustomscript.json rename to plugins/customscript/kdevcustomscript.json diff --git a/kdevplatform/plugins/cvs/CMakeLists.txt b/plugins/cvs/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/cvs/CMakeLists.txt rename to plugins/cvs/CMakeLists.txt diff --git a/kdevplatform/plugins/cvs/DESIGN.txt b/plugins/cvs/DESIGN.txt similarity index 100% rename from kdevplatform/plugins/cvs/DESIGN.txt rename to plugins/cvs/DESIGN.txt diff --git a/kdevplatform/plugins/cvs/Messages.sh b/plugins/cvs/Messages.sh similarity index 100% rename from kdevplatform/plugins/cvs/Messages.sh rename to plugins/cvs/Messages.sh diff --git a/kdevplatform/plugins/cvs/checkoutdialog.cpp b/plugins/cvs/checkoutdialog.cpp similarity index 100% rename from kdevplatform/plugins/cvs/checkoutdialog.cpp rename to plugins/cvs/checkoutdialog.cpp diff --git a/kdevplatform/plugins/cvs/checkoutdialog.h b/plugins/cvs/checkoutdialog.h similarity index 100% rename from kdevplatform/plugins/cvs/checkoutdialog.h rename to plugins/cvs/checkoutdialog.h diff --git a/kdevplatform/plugins/cvs/checkoutdialog.ui b/plugins/cvs/checkoutdialog.ui similarity index 100% rename from kdevplatform/plugins/cvs/checkoutdialog.ui rename to plugins/cvs/checkoutdialog.ui diff --git a/kdevplatform/plugins/cvs/commitdialog.cpp b/plugins/cvs/commitdialog.cpp similarity index 100% rename from kdevplatform/plugins/cvs/commitdialog.cpp rename to plugins/cvs/commitdialog.cpp diff --git a/kdevplatform/plugins/cvs/commitdialog.h b/plugins/cvs/commitdialog.h similarity index 100% rename from kdevplatform/plugins/cvs/commitdialog.h rename to plugins/cvs/commitdialog.h diff --git a/kdevplatform/plugins/cvs/commitdialog.ui b/plugins/cvs/commitdialog.ui similarity index 100% rename from kdevplatform/plugins/cvs/commitdialog.ui rename to plugins/cvs/commitdialog.ui diff --git a/kdevplatform/plugins/cvs/cvsannotatejob.cpp b/plugins/cvs/cvsannotatejob.cpp similarity index 100% rename from kdevplatform/plugins/cvs/cvsannotatejob.cpp rename to plugins/cvs/cvsannotatejob.cpp diff --git a/kdevplatform/plugins/cvs/cvsannotatejob.h b/plugins/cvs/cvsannotatejob.h similarity index 100% rename from kdevplatform/plugins/cvs/cvsannotatejob.h rename to plugins/cvs/cvsannotatejob.h diff --git a/kdevplatform/plugins/cvs/cvsdiffjob.cpp b/plugins/cvs/cvsdiffjob.cpp similarity index 100% rename from kdevplatform/plugins/cvs/cvsdiffjob.cpp rename to plugins/cvs/cvsdiffjob.cpp diff --git a/kdevplatform/plugins/cvs/cvsdiffjob.h b/plugins/cvs/cvsdiffjob.h similarity index 100% rename from kdevplatform/plugins/cvs/cvsdiffjob.h rename to plugins/cvs/cvsdiffjob.h diff --git a/kdevplatform/plugins/cvs/cvsgenericoutputview.cpp b/plugins/cvs/cvsgenericoutputview.cpp similarity index 100% rename from kdevplatform/plugins/cvs/cvsgenericoutputview.cpp rename to plugins/cvs/cvsgenericoutputview.cpp diff --git a/kdevplatform/plugins/cvs/cvsgenericoutputview.h b/plugins/cvs/cvsgenericoutputview.h similarity index 100% rename from kdevplatform/plugins/cvs/cvsgenericoutputview.h rename to plugins/cvs/cvsgenericoutputview.h diff --git a/kdevplatform/plugins/cvs/cvsgenericoutputview.ui b/plugins/cvs/cvsgenericoutputview.ui similarity index 100% rename from kdevplatform/plugins/cvs/cvsgenericoutputview.ui rename to plugins/cvs/cvsgenericoutputview.ui diff --git a/kdevplatform/plugins/cvs/cvsjob.cpp b/plugins/cvs/cvsjob.cpp similarity index 100% rename from kdevplatform/plugins/cvs/cvsjob.cpp rename to plugins/cvs/cvsjob.cpp diff --git a/kdevplatform/plugins/cvs/cvsjob.h b/plugins/cvs/cvsjob.h similarity index 100% rename from kdevplatform/plugins/cvs/cvsjob.h rename to plugins/cvs/cvsjob.h diff --git a/kdevplatform/plugins/cvs/cvslogjob.cpp b/plugins/cvs/cvslogjob.cpp similarity index 100% rename from kdevplatform/plugins/cvs/cvslogjob.cpp rename to plugins/cvs/cvslogjob.cpp diff --git a/kdevplatform/plugins/cvs/cvslogjob.h b/plugins/cvs/cvslogjob.h similarity index 100% rename from kdevplatform/plugins/cvs/cvslogjob.h rename to plugins/cvs/cvslogjob.h diff --git a/kdevplatform/plugins/cvs/cvsmainview.cpp b/plugins/cvs/cvsmainview.cpp similarity index 100% rename from kdevplatform/plugins/cvs/cvsmainview.cpp rename to plugins/cvs/cvsmainview.cpp diff --git a/kdevplatform/plugins/cvs/cvsmainview.h b/plugins/cvs/cvsmainview.h similarity index 100% rename from kdevplatform/plugins/cvs/cvsmainview.h rename to plugins/cvs/cvsmainview.h diff --git a/kdevplatform/plugins/cvs/cvsmainview.ui b/plugins/cvs/cvsmainview.ui similarity index 100% rename from kdevplatform/plugins/cvs/cvsmainview.ui rename to plugins/cvs/cvsmainview.ui diff --git a/kdevplatform/plugins/cvs/cvsplugin.cpp b/plugins/cvs/cvsplugin.cpp similarity index 100% rename from kdevplatform/plugins/cvs/cvsplugin.cpp rename to plugins/cvs/cvsplugin.cpp diff --git a/kdevplatform/plugins/cvs/cvsplugin.h b/plugins/cvs/cvsplugin.h similarity index 100% rename from kdevplatform/plugins/cvs/cvsplugin.h rename to plugins/cvs/cvsplugin.h diff --git a/kdevplatform/plugins/cvs/cvsproxy.cpp b/plugins/cvs/cvsproxy.cpp similarity index 100% rename from kdevplatform/plugins/cvs/cvsproxy.cpp rename to plugins/cvs/cvsproxy.cpp diff --git a/kdevplatform/plugins/cvs/cvsproxy.h b/plugins/cvs/cvsproxy.h similarity index 100% rename from kdevplatform/plugins/cvs/cvsproxy.h rename to plugins/cvs/cvsproxy.h diff --git a/kdevplatform/plugins/cvs/cvsstatusjob.cpp b/plugins/cvs/cvsstatusjob.cpp similarity index 100% rename from kdevplatform/plugins/cvs/cvsstatusjob.cpp rename to plugins/cvs/cvsstatusjob.cpp diff --git a/kdevplatform/plugins/cvs/cvsstatusjob.h b/plugins/cvs/cvsstatusjob.h similarity index 100% rename from kdevplatform/plugins/cvs/cvsstatusjob.h rename to plugins/cvs/cvsstatusjob.h diff --git a/kdevplatform/plugins/cvs/editorsview.cpp b/plugins/cvs/editorsview.cpp similarity index 100% rename from kdevplatform/plugins/cvs/editorsview.cpp rename to plugins/cvs/editorsview.cpp diff --git a/kdevplatform/plugins/cvs/editorsview.h b/plugins/cvs/editorsview.h similarity index 100% rename from kdevplatform/plugins/cvs/editorsview.h rename to plugins/cvs/editorsview.h diff --git a/kdevplatform/plugins/cvs/editorsview.ui b/plugins/cvs/editorsview.ui similarity index 100% rename from kdevplatform/plugins/cvs/editorsview.ui rename to plugins/cvs/editorsview.ui diff --git a/kdevplatform/plugins/cvs/importdialog.cpp b/plugins/cvs/importdialog.cpp similarity index 100% rename from kdevplatform/plugins/cvs/importdialog.cpp rename to plugins/cvs/importdialog.cpp diff --git a/kdevplatform/plugins/cvs/importdialog.h b/plugins/cvs/importdialog.h similarity index 100% rename from kdevplatform/plugins/cvs/importdialog.h rename to plugins/cvs/importdialog.h diff --git a/kdevplatform/plugins/cvs/importmetadatawidget.cpp b/plugins/cvs/importmetadatawidget.cpp similarity index 100% rename from kdevplatform/plugins/cvs/importmetadatawidget.cpp rename to plugins/cvs/importmetadatawidget.cpp diff --git a/kdevplatform/plugins/cvs/importmetadatawidget.h b/plugins/cvs/importmetadatawidget.h similarity index 100% rename from kdevplatform/plugins/cvs/importmetadatawidget.h rename to plugins/cvs/importmetadatawidget.h diff --git a/kdevplatform/plugins/cvs/importmetadatawidget.ui b/plugins/cvs/importmetadatawidget.ui similarity index 100% rename from kdevplatform/plugins/cvs/importmetadatawidget.ui rename to plugins/cvs/importmetadatawidget.ui diff --git a/kdevplatform/plugins/cvs/kdevcvs.json b/plugins/cvs/kdevcvs.json similarity index 100% rename from kdevplatform/plugins/cvs/kdevcvs.json rename to plugins/cvs/kdevcvs.json diff --git a/kdevplatform/plugins/cvs/kdevcvs.qrc b/plugins/cvs/kdevcvs.qrc similarity index 100% rename from kdevplatform/plugins/cvs/kdevcvs.qrc rename to plugins/cvs/kdevcvs.qrc diff --git a/kdevplatform/plugins/cvs/kdevcvs.rc b/plugins/cvs/kdevcvs.rc similarity index 100% rename from kdevplatform/plugins/cvs/kdevcvs.rc rename to plugins/cvs/kdevcvs.rc diff --git a/kdevplatform/plugins/cvs/tests/CMakeLists.txt b/plugins/cvs/tests/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/cvs/tests/CMakeLists.txt rename to plugins/cvs/tests/CMakeLists.txt diff --git a/kdevplatform/plugins/cvs/tests/test_cvs.cpp b/plugins/cvs/tests/test_cvs.cpp similarity index 100% rename from kdevplatform/plugins/cvs/tests/test_cvs.cpp rename to plugins/cvs/tests/test_cvs.cpp diff --git a/kdevplatform/plugins/cvs/tests/test_cvs.h b/plugins/cvs/tests/test_cvs.h similarity index 100% rename from kdevplatform/plugins/cvs/tests/test_cvs.h rename to plugins/cvs/tests/test_cvs.h diff --git a/debuggers/common/CMakeLists.txt b/plugins/debuggercommon/CMakeLists.txt similarity index 96% rename from debuggers/common/CMakeLists.txt rename to plugins/debuggercommon/CMakeLists.txt index 14a5f04a51..7b3d858c30 100644 --- a/debuggers/common/CMakeLists.txt +++ b/plugins/debuggercommon/CMakeLists.txt @@ -1,88 +1,91 @@ add_definitions(-DTRANSLATION_DOMAIN=\"kdevdebuggercommon\") set(debuggercommon_SRCS mi/mi.cpp mi/milexer.cpp mi/miparser.cpp mi/micommand.cpp mi/micommandqueue.cpp dialogs/selectcoredialog.cpp # debug session & debugger midebugger.cpp midebugsession.cpp midebuggerplugin.cpp midebugjobs.cpp # controllers mibreakpointcontroller.cpp miframestackmodel.cpp mivariablecontroller.cpp mivariable.cpp stringhelpers.cpp stty.cpp # tool views widgets/debuggerconsoleview.cpp widgets/disassemblewidget.cpp # register registers/registersview.cpp registers/registercontroller.cpp registers/registersmanager.cpp registers/registercontroller_x86.cpp registers/registercontroller_arm.cpp registers/modelsmanager.cpp registers/converters.cpp ) if(KF5SysGuard_FOUND) list(APPEND debuggercommon_SRCS dialogs/processselection.cpp ) endif() ecm_qt_declare_logging_category(debuggercommon_SRCS HEADER debuglog.h IDENTIFIER DEBUGGERCOMMON CATEGORY_NAME "kdevelop.debuggers.common" ) ki18n_wrap_ui(debuggercommon_SRCS dialogs/selectcoredialog.ui widgets/debuggerconsoleview.ui widgets/selectaddressdialog.ui registers/registersview.ui ) # Use old behavior (ignore the visibility properties for static libraries, object # libraries, and executables without exports) on target kdevdebuggercommon (so the # default public visibility is used). # kdevdebuggercommon is used by target test_gdb which is added by ecm_add_test, # which doesn't set CMP0063 so old behavior is used. # If kdevdebuggercommon honors visibility properties (set to hidden), it will cause # linker warnings about direct access to global weak symbol when link against test_gdb if(NOT CMAKE_VERSION VERSION_LESS "3.3") cmake_policy(SET CMP0063 OLD) endif() add_library(kdevdebuggercommon STATIC ${debuggercommon_SRCS}) target_link_libraries(kdevdebuggercommon PUBLIC KDev::Debugger KDev::OutputView KDev::Sublime PRIVATE Qt5::Core Qt5::Gui Qt5::Widgets KDev::Util KDev::Language KDev::IExecute ) +target_include_directories(kdevdebuggercommon + PUBLIC ${CMAKE_CURRENT_BINARY_DIR} +) if(KF5SysGuard_FOUND) target_link_libraries(kdevdebuggercommon PUBLIC KF5::ProcessUi ) endif() kde_target_enable_exceptions(kdevdebuggercommon PUBLIC) if(BUILD_TESTING) add_subdirectory(tests) endif() diff --git a/debuggers/common/Messages.sh b/plugins/debuggercommon/Messages.sh similarity index 100% rename from debuggers/common/Messages.sh rename to plugins/debuggercommon/Messages.sh diff --git a/debuggers/common/dbgglobal.h b/plugins/debuggercommon/dbgglobal.h similarity index 100% rename from debuggers/common/dbgglobal.h rename to plugins/debuggercommon/dbgglobal.h diff --git a/debuggers/common/dialogs/processselection.cpp b/plugins/debuggercommon/dialogs/processselection.cpp similarity index 100% rename from debuggers/common/dialogs/processselection.cpp rename to plugins/debuggercommon/dialogs/processselection.cpp diff --git a/debuggers/common/dialogs/processselection.h b/plugins/debuggercommon/dialogs/processselection.h similarity index 100% rename from debuggers/common/dialogs/processselection.h rename to plugins/debuggercommon/dialogs/processselection.h diff --git a/debuggers/common/dialogs/selectcoredialog.cpp b/plugins/debuggercommon/dialogs/selectcoredialog.cpp similarity index 100% rename from debuggers/common/dialogs/selectcoredialog.cpp rename to plugins/debuggercommon/dialogs/selectcoredialog.cpp diff --git a/debuggers/common/dialogs/selectcoredialog.h b/plugins/debuggercommon/dialogs/selectcoredialog.h similarity index 100% rename from debuggers/common/dialogs/selectcoredialog.h rename to plugins/debuggercommon/dialogs/selectcoredialog.h diff --git a/debuggers/common/dialogs/selectcoredialog.ui b/plugins/debuggercommon/dialogs/selectcoredialog.ui similarity index 100% rename from debuggers/common/dialogs/selectcoredialog.ui rename to plugins/debuggercommon/dialogs/selectcoredialog.ui diff --git a/debuggers/common/mi/mi.cpp b/plugins/debuggercommon/mi/mi.cpp similarity index 100% rename from debuggers/common/mi/mi.cpp rename to plugins/debuggercommon/mi/mi.cpp diff --git a/debuggers/common/mi/mi.h b/plugins/debuggercommon/mi/mi.h similarity index 100% rename from debuggers/common/mi/mi.h rename to plugins/debuggercommon/mi/mi.h diff --git a/debuggers/common/mi/micommand.cpp b/plugins/debuggercommon/mi/micommand.cpp similarity index 100% rename from debuggers/common/mi/micommand.cpp rename to plugins/debuggercommon/mi/micommand.cpp diff --git a/debuggers/common/mi/micommand.h b/plugins/debuggercommon/mi/micommand.h similarity index 100% rename from debuggers/common/mi/micommand.h rename to plugins/debuggercommon/mi/micommand.h diff --git a/debuggers/common/mi/micommandqueue.cpp b/plugins/debuggercommon/mi/micommandqueue.cpp similarity index 100% rename from debuggers/common/mi/micommandqueue.cpp rename to plugins/debuggercommon/mi/micommandqueue.cpp diff --git a/debuggers/common/mi/micommandqueue.h b/plugins/debuggercommon/mi/micommandqueue.h similarity index 100% rename from debuggers/common/mi/micommandqueue.h rename to plugins/debuggercommon/mi/micommandqueue.h diff --git a/debuggers/common/mi/milexer.cpp b/plugins/debuggercommon/mi/milexer.cpp similarity index 100% rename from debuggers/common/mi/milexer.cpp rename to plugins/debuggercommon/mi/milexer.cpp diff --git a/debuggers/common/mi/milexer.h b/plugins/debuggercommon/mi/milexer.h similarity index 100% rename from debuggers/common/mi/milexer.h rename to plugins/debuggercommon/mi/milexer.h diff --git a/debuggers/common/mi/miparser.cpp b/plugins/debuggercommon/mi/miparser.cpp similarity index 100% rename from debuggers/common/mi/miparser.cpp rename to plugins/debuggercommon/mi/miparser.cpp diff --git a/debuggers/common/mi/miparser.h b/plugins/debuggercommon/mi/miparser.h similarity index 100% rename from debuggers/common/mi/miparser.h rename to plugins/debuggercommon/mi/miparser.h diff --git a/debuggers/common/mi/tokens.h b/plugins/debuggercommon/mi/tokens.h similarity index 100% rename from debuggers/common/mi/tokens.h rename to plugins/debuggercommon/mi/tokens.h diff --git a/debuggers/common/mibreakpointcontroller.cpp b/plugins/debuggercommon/mibreakpointcontroller.cpp similarity index 100% rename from debuggers/common/mibreakpointcontroller.cpp rename to plugins/debuggercommon/mibreakpointcontroller.cpp diff --git a/debuggers/common/mibreakpointcontroller.h b/plugins/debuggercommon/mibreakpointcontroller.h similarity index 100% rename from debuggers/common/mibreakpointcontroller.h rename to plugins/debuggercommon/mibreakpointcontroller.h diff --git a/debuggers/common/midebugger.cpp b/plugins/debuggercommon/midebugger.cpp similarity index 100% rename from debuggers/common/midebugger.cpp rename to plugins/debuggercommon/midebugger.cpp diff --git a/debuggers/common/midebugger.h b/plugins/debuggercommon/midebugger.h similarity index 100% rename from debuggers/common/midebugger.h rename to plugins/debuggercommon/midebugger.h diff --git a/debuggers/common/midebuggerplugin.cpp b/plugins/debuggercommon/midebuggerplugin.cpp similarity index 100% rename from debuggers/common/midebuggerplugin.cpp rename to plugins/debuggercommon/midebuggerplugin.cpp diff --git a/debuggers/common/midebuggerplugin.h b/plugins/debuggercommon/midebuggerplugin.h similarity index 100% rename from debuggers/common/midebuggerplugin.h rename to plugins/debuggercommon/midebuggerplugin.h diff --git a/debuggers/common/midebugjobs.cpp b/plugins/debuggercommon/midebugjobs.cpp similarity index 100% rename from debuggers/common/midebugjobs.cpp rename to plugins/debuggercommon/midebugjobs.cpp diff --git a/debuggers/common/midebugjobs.h b/plugins/debuggercommon/midebugjobs.h similarity index 100% rename from debuggers/common/midebugjobs.h rename to plugins/debuggercommon/midebugjobs.h diff --git a/debuggers/common/midebugsession.cpp b/plugins/debuggercommon/midebugsession.cpp similarity index 100% rename from debuggers/common/midebugsession.cpp rename to plugins/debuggercommon/midebugsession.cpp diff --git a/debuggers/common/midebugsession.h b/plugins/debuggercommon/midebugsession.h similarity index 100% rename from debuggers/common/midebugsession.h rename to plugins/debuggercommon/midebugsession.h diff --git a/debuggers/common/miframestackmodel.cpp b/plugins/debuggercommon/miframestackmodel.cpp similarity index 100% rename from debuggers/common/miframestackmodel.cpp rename to plugins/debuggercommon/miframestackmodel.cpp diff --git a/debuggers/common/miframestackmodel.h b/plugins/debuggercommon/miframestackmodel.h similarity index 100% rename from debuggers/common/miframestackmodel.h rename to plugins/debuggercommon/miframestackmodel.h diff --git a/debuggers/common/mivariable.cpp b/plugins/debuggercommon/mivariable.cpp similarity index 100% rename from debuggers/common/mivariable.cpp rename to plugins/debuggercommon/mivariable.cpp diff --git a/debuggers/common/mivariable.h b/plugins/debuggercommon/mivariable.h similarity index 100% rename from debuggers/common/mivariable.h rename to plugins/debuggercommon/mivariable.h diff --git a/debuggers/common/mivariablecontroller.cpp b/plugins/debuggercommon/mivariablecontroller.cpp similarity index 100% rename from debuggers/common/mivariablecontroller.cpp rename to plugins/debuggercommon/mivariablecontroller.cpp diff --git a/debuggers/common/mivariablecontroller.h b/plugins/debuggercommon/mivariablecontroller.h similarity index 100% rename from debuggers/common/mivariablecontroller.h rename to plugins/debuggercommon/mivariablecontroller.h diff --git a/debuggers/common/registers/converters.cpp b/plugins/debuggercommon/registers/converters.cpp similarity index 100% rename from debuggers/common/registers/converters.cpp rename to plugins/debuggercommon/registers/converters.cpp diff --git a/debuggers/common/registers/converters.h b/plugins/debuggercommon/registers/converters.h similarity index 100% rename from debuggers/common/registers/converters.h rename to plugins/debuggercommon/registers/converters.h diff --git a/debuggers/common/registers/modelsmanager.cpp b/plugins/debuggercommon/registers/modelsmanager.cpp similarity index 100% rename from debuggers/common/registers/modelsmanager.cpp rename to plugins/debuggercommon/registers/modelsmanager.cpp diff --git a/debuggers/common/registers/modelsmanager.h b/plugins/debuggercommon/registers/modelsmanager.h similarity index 100% rename from debuggers/common/registers/modelsmanager.h rename to plugins/debuggercommon/registers/modelsmanager.h diff --git a/debuggers/common/registers/registercontroller.cpp b/plugins/debuggercommon/registers/registercontroller.cpp similarity index 100% rename from debuggers/common/registers/registercontroller.cpp rename to plugins/debuggercommon/registers/registercontroller.cpp diff --git a/debuggers/common/registers/registercontroller.h b/plugins/debuggercommon/registers/registercontroller.h similarity index 100% rename from debuggers/common/registers/registercontroller.h rename to plugins/debuggercommon/registers/registercontroller.h diff --git a/debuggers/common/registers/registercontroller_arm.cpp b/plugins/debuggercommon/registers/registercontroller_arm.cpp similarity index 100% rename from debuggers/common/registers/registercontroller_arm.cpp rename to plugins/debuggercommon/registers/registercontroller_arm.cpp diff --git a/debuggers/common/registers/registercontroller_arm.h b/plugins/debuggercommon/registers/registercontroller_arm.h similarity index 100% rename from debuggers/common/registers/registercontroller_arm.h rename to plugins/debuggercommon/registers/registercontroller_arm.h diff --git a/debuggers/common/registers/registercontroller_x86.cpp b/plugins/debuggercommon/registers/registercontroller_x86.cpp similarity index 100% rename from debuggers/common/registers/registercontroller_x86.cpp rename to plugins/debuggercommon/registers/registercontroller_x86.cpp diff --git a/debuggers/common/registers/registercontroller_x86.h b/plugins/debuggercommon/registers/registercontroller_x86.h similarity index 100% rename from debuggers/common/registers/registercontroller_x86.h rename to plugins/debuggercommon/registers/registercontroller_x86.h diff --git a/debuggers/common/registers/registersmanager.cpp b/plugins/debuggercommon/registers/registersmanager.cpp similarity index 100% rename from debuggers/common/registers/registersmanager.cpp rename to plugins/debuggercommon/registers/registersmanager.cpp diff --git a/debuggers/common/registers/registersmanager.h b/plugins/debuggercommon/registers/registersmanager.h similarity index 100% rename from debuggers/common/registers/registersmanager.h rename to plugins/debuggercommon/registers/registersmanager.h diff --git a/debuggers/common/registers/registersview.cpp b/plugins/debuggercommon/registers/registersview.cpp similarity index 100% rename from debuggers/common/registers/registersview.cpp rename to plugins/debuggercommon/registers/registersview.cpp diff --git a/debuggers/common/registers/registersview.h b/plugins/debuggercommon/registers/registersview.h similarity index 100% rename from debuggers/common/registers/registersview.h rename to plugins/debuggercommon/registers/registersview.h diff --git a/debuggers/common/registers/registersview.ui b/plugins/debuggercommon/registers/registersview.ui similarity index 100% rename from debuggers/common/registers/registersview.ui rename to plugins/debuggercommon/registers/registersview.ui diff --git a/debuggers/common/stringhelpers.cpp b/plugins/debuggercommon/stringhelpers.cpp similarity index 100% rename from debuggers/common/stringhelpers.cpp rename to plugins/debuggercommon/stringhelpers.cpp diff --git a/debuggers/common/stringhelpers.h b/plugins/debuggercommon/stringhelpers.h similarity index 100% rename from debuggers/common/stringhelpers.h rename to plugins/debuggercommon/stringhelpers.h diff --git a/debuggers/common/stty.cpp b/plugins/debuggercommon/stty.cpp similarity index 100% rename from debuggers/common/stty.cpp rename to plugins/debuggercommon/stty.cpp diff --git a/debuggers/common/stty.h b/plugins/debuggercommon/stty.h similarity index 100% rename from debuggers/common/stty.h rename to plugins/debuggercommon/stty.h diff --git a/debuggers/common/tests/CMakeLists.txt b/plugins/debuggercommon/tests/CMakeLists.txt similarity index 100% rename from debuggers/common/tests/CMakeLists.txt rename to plugins/debuggercommon/tests/CMakeLists.txt diff --git a/debuggers/common/tests/debuggees/CMakeLists.txt b/plugins/debuggercommon/tests/debuggees/CMakeLists.txt similarity index 100% rename from debuggers/common/tests/debuggees/CMakeLists.txt rename to plugins/debuggercommon/tests/debuggees/CMakeLists.txt diff --git a/debuggers/common/tests/debuggees/debugee space.cpp b/plugins/debuggercommon/tests/debuggees/debugee space.cpp similarity index 100% rename from debuggers/common/tests/debuggees/debugee space.cpp rename to plugins/debuggercommon/tests/debuggees/debugee space.cpp diff --git a/debuggers/common/tests/debuggees/debugee.cpp b/plugins/debuggercommon/tests/debuggees/debugee.cpp similarity index 100% rename from debuggers/common/tests/debuggees/debugee.cpp rename to plugins/debuggercommon/tests/debuggees/debugee.cpp diff --git a/debuggers/common/tests/debuggees/debugeecrash.cpp b/plugins/debuggercommon/tests/debuggees/debugeecrash.cpp similarity index 100% rename from debuggers/common/tests/debuggees/debugeecrash.cpp rename to plugins/debuggercommon/tests/debuggees/debugeecrash.cpp diff --git a/debuggers/common/tests/debuggees/debugeeechoenv.cpp b/plugins/debuggercommon/tests/debuggees/debugeeechoenv.cpp similarity index 100% rename from debuggers/common/tests/debuggees/debugeeechoenv.cpp rename to plugins/debuggercommon/tests/debuggees/debugeeechoenv.cpp diff --git a/debuggers/common/tests/debuggees/debugeeexception.cpp b/plugins/debuggercommon/tests/debuggees/debugeeexception.cpp similarity index 100% rename from debuggers/common/tests/debuggees/debugeeexception.cpp rename to plugins/debuggercommon/tests/debuggees/debugeeexception.cpp diff --git a/debuggers/common/tests/debuggees/debugeemultilocbreakpoint.cpp b/plugins/debuggercommon/tests/debuggees/debugeemultilocbreakpoint.cpp similarity index 100% rename from debuggers/common/tests/debuggees/debugeemultilocbreakpoint.cpp rename to plugins/debuggercommon/tests/debuggees/debugeemultilocbreakpoint.cpp diff --git a/debuggers/common/tests/debuggees/debugeemultiplebreakpoint.cpp b/plugins/debuggercommon/tests/debuggees/debugeemultiplebreakpoint.cpp similarity index 100% rename from debuggers/common/tests/debuggees/debugeemultiplebreakpoint.cpp rename to plugins/debuggercommon/tests/debuggees/debugeemultiplebreakpoint.cpp diff --git a/debuggers/common/tests/debuggees/debugeepath.cpp b/plugins/debuggercommon/tests/debuggees/debugeepath.cpp similarity index 100% rename from debuggers/common/tests/debuggees/debugeepath.cpp rename to plugins/debuggercommon/tests/debuggees/debugeepath.cpp diff --git a/debuggers/common/tests/debuggees/debugeeqt.cpp b/plugins/debuggercommon/tests/debuggees/debugeeqt.cpp similarity index 100% rename from debuggers/common/tests/debuggees/debugeeqt.cpp rename to plugins/debuggercommon/tests/debuggees/debugeeqt.cpp diff --git a/debuggers/common/tests/debuggees/debugeerecursion.cpp b/plugins/debuggercommon/tests/debuggees/debugeerecursion.cpp similarity index 100% rename from debuggers/common/tests/debuggees/debugeerecursion.cpp rename to plugins/debuggercommon/tests/debuggees/debugeerecursion.cpp diff --git a/debuggers/common/tests/debuggees/debugeeslow.cpp b/plugins/debuggercommon/tests/debuggees/debugeeslow.cpp similarity index 100% rename from debuggers/common/tests/debuggees/debugeeslow.cpp rename to plugins/debuggercommon/tests/debuggees/debugeeslow.cpp diff --git a/debuggers/common/tests/debuggees/debugeethreads.cpp b/plugins/debuggercommon/tests/debuggees/debugeethreads.cpp similarity index 100% rename from debuggers/common/tests/debuggees/debugeethreads.cpp rename to plugins/debuggercommon/tests/debuggees/debugeethreads.cpp diff --git a/debuggers/common/tests/debuggees/kdeveloptypes.cpp b/plugins/debuggercommon/tests/debuggees/kdeveloptypes.cpp similarity index 100% rename from debuggers/common/tests/debuggees/kdeveloptypes.cpp rename to plugins/debuggercommon/tests/debuggees/kdeveloptypes.cpp diff --git a/debuggers/common/tests/debuggees/ktexteditortypes.cpp b/plugins/debuggercommon/tests/debuggees/ktexteditortypes.cpp similarity index 100% rename from debuggers/common/tests/debuggees/ktexteditortypes.cpp rename to plugins/debuggercommon/tests/debuggees/ktexteditortypes.cpp diff --git a/debuggers/common/tests/debuggees/path with space/CMakeLists.txt b/plugins/debuggercommon/tests/debuggees/path with space/CMakeLists.txt similarity index 100% rename from debuggers/common/tests/debuggees/path with space/CMakeLists.txt rename to plugins/debuggercommon/tests/debuggees/path with space/CMakeLists.txt diff --git a/debuggers/common/tests/debuggees/path with space/spacedebugee.cpp b/plugins/debuggercommon/tests/debuggees/path with space/spacedebugee.cpp similarity index 100% rename from debuggers/common/tests/debuggees/path with space/spacedebugee.cpp rename to plugins/debuggercommon/tests/debuggees/path with space/spacedebugee.cpp diff --git a/debuggers/common/tests/debuggees/qbytearray.cpp b/plugins/debuggercommon/tests/debuggees/qbytearray.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qbytearray.cpp rename to plugins/debuggercommon/tests/debuggees/qbytearray.cpp diff --git a/debuggers/common/tests/debuggees/qchar.cpp b/plugins/debuggercommon/tests/debuggees/qchar.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qchar.cpp rename to plugins/debuggercommon/tests/debuggees/qchar.cpp diff --git a/debuggers/common/tests/debuggees/qdate.cpp b/plugins/debuggercommon/tests/debuggees/qdate.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qdate.cpp rename to plugins/debuggercommon/tests/debuggees/qdate.cpp diff --git a/debuggers/common/tests/debuggees/qdatetime.cpp b/plugins/debuggercommon/tests/debuggees/qdatetime.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qdatetime.cpp rename to plugins/debuggercommon/tests/debuggees/qdatetime.cpp diff --git a/debuggers/common/tests/debuggees/qhashint.cpp b/plugins/debuggercommon/tests/debuggees/qhashint.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qhashint.cpp rename to plugins/debuggercommon/tests/debuggees/qhashint.cpp diff --git a/debuggers/common/tests/debuggees/qhashstring.cpp b/plugins/debuggercommon/tests/debuggees/qhashstring.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qhashstring.cpp rename to plugins/debuggercommon/tests/debuggees/qhashstring.cpp diff --git a/debuggers/common/tests/debuggees/qlistcontainer.cpp b/plugins/debuggercommon/tests/debuggees/qlistcontainer.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qlistcontainer.cpp rename to plugins/debuggercommon/tests/debuggees/qlistcontainer.cpp diff --git a/debuggers/common/tests/debuggees/qlistpod.cpp b/plugins/debuggercommon/tests/debuggees/qlistpod.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qlistpod.cpp rename to plugins/debuggercommon/tests/debuggees/qlistpod.cpp diff --git a/debuggers/common/tests/debuggees/qmapint.cpp b/plugins/debuggercommon/tests/debuggees/qmapint.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qmapint.cpp rename to plugins/debuggercommon/tests/debuggees/qmapint.cpp diff --git a/debuggers/common/tests/debuggees/qmapstring.cpp b/plugins/debuggercommon/tests/debuggees/qmapstring.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qmapstring.cpp rename to plugins/debuggercommon/tests/debuggees/qmapstring.cpp diff --git a/debuggers/common/tests/debuggees/qmapstringbool.cpp b/plugins/debuggercommon/tests/debuggees/qmapstringbool.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qmapstringbool.cpp rename to plugins/debuggercommon/tests/debuggees/qmapstringbool.cpp diff --git a/debuggers/common/tests/debuggees/qsetint.cpp b/plugins/debuggercommon/tests/debuggees/qsetint.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qsetint.cpp rename to plugins/debuggercommon/tests/debuggees/qsetint.cpp diff --git a/debuggers/common/tests/debuggees/qsetstring.cpp b/plugins/debuggercommon/tests/debuggees/qsetstring.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qsetstring.cpp rename to plugins/debuggercommon/tests/debuggees/qsetstring.cpp diff --git a/debuggers/common/tests/debuggees/qstring.cpp b/plugins/debuggercommon/tests/debuggees/qstring.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qstring.cpp rename to plugins/debuggercommon/tests/debuggees/qstring.cpp diff --git a/debuggers/common/tests/debuggees/qtime.cpp b/plugins/debuggercommon/tests/debuggees/qtime.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qtime.cpp rename to plugins/debuggercommon/tests/debuggees/qtime.cpp diff --git a/debuggers/common/tests/debuggees/qurl.cpp b/plugins/debuggercommon/tests/debuggees/qurl.cpp similarity index 100% rename from debuggers/common/tests/debuggees/qurl.cpp rename to plugins/debuggercommon/tests/debuggees/qurl.cpp diff --git a/debuggers/common/tests/debuggees/quuid.cpp b/plugins/debuggercommon/tests/debuggees/quuid.cpp similarity index 100% rename from debuggers/common/tests/debuggees/quuid.cpp rename to plugins/debuggercommon/tests/debuggees/quuid.cpp diff --git a/debuggers/common/tests/debuggers-tests-config.h.in b/plugins/debuggercommon/tests/debuggers-tests-config.h.in similarity index 100% rename from debuggers/common/tests/debuggers-tests-config.h.in rename to plugins/debuggercommon/tests/debuggers-tests-config.h.in diff --git a/debuggers/common/tests/testhelper.cpp b/plugins/debuggercommon/tests/testhelper.cpp similarity index 100% rename from debuggers/common/tests/testhelper.cpp rename to plugins/debuggercommon/tests/testhelper.cpp diff --git a/debuggers/common/tests/testhelper.h b/plugins/debuggercommon/tests/testhelper.h similarity index 100% rename from debuggers/common/tests/testhelper.h rename to plugins/debuggercommon/tests/testhelper.h diff --git a/debuggers/common/widgets/debuggerconsoleview.cpp b/plugins/debuggercommon/widgets/debuggerconsoleview.cpp similarity index 100% rename from debuggers/common/widgets/debuggerconsoleview.cpp rename to plugins/debuggercommon/widgets/debuggerconsoleview.cpp diff --git a/debuggers/common/widgets/debuggerconsoleview.h b/plugins/debuggercommon/widgets/debuggerconsoleview.h similarity index 100% rename from debuggers/common/widgets/debuggerconsoleview.h rename to plugins/debuggercommon/widgets/debuggerconsoleview.h diff --git a/debuggers/common/widgets/debuggerconsoleview.ui b/plugins/debuggercommon/widgets/debuggerconsoleview.ui similarity index 100% rename from debuggers/common/widgets/debuggerconsoleview.ui rename to plugins/debuggercommon/widgets/debuggerconsoleview.ui diff --git a/debuggers/common/widgets/disassemblewidget.cpp b/plugins/debuggercommon/widgets/disassemblewidget.cpp similarity index 100% rename from debuggers/common/widgets/disassemblewidget.cpp rename to plugins/debuggercommon/widgets/disassemblewidget.cpp diff --git a/debuggers/common/widgets/disassemblewidget.h b/plugins/debuggercommon/widgets/disassemblewidget.h similarity index 100% rename from debuggers/common/widgets/disassemblewidget.h rename to plugins/debuggercommon/widgets/disassemblewidget.h diff --git a/debuggers/common/widgets/selectaddressdialog.ui b/plugins/debuggercommon/widgets/selectaddressdialog.ui similarity index 100% rename from debuggers/common/widgets/selectaddressdialog.ui rename to plugins/debuggercommon/widgets/selectaddressdialog.ui diff --git a/kdevplatform/plugins/docker/CMakeLists.txt b/plugins/docker/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/docker/CMakeLists.txt rename to plugins/docker/CMakeLists.txt diff --git a/kdevplatform/plugins/docker/Messages.sh b/plugins/docker/Messages.sh similarity index 100% rename from kdevplatform/plugins/docker/Messages.sh rename to plugins/docker/Messages.sh diff --git a/kdevplatform/plugins/docker/dockerfile-template/Dockerfile b/plugins/docker/dockerfile-template/Dockerfile similarity index 100% rename from kdevplatform/plugins/docker/dockerfile-template/Dockerfile rename to plugins/docker/dockerfile-template/Dockerfile diff --git a/kdevplatform/plugins/docker/dockerfile-template/dockerfile-template.desktop b/plugins/docker/dockerfile-template/dockerfile-template.desktop similarity index 100% rename from kdevplatform/plugins/docker/dockerfile-template/dockerfile-template.desktop rename to plugins/docker/dockerfile-template/dockerfile-template.desktop diff --git a/kdevplatform/plugins/docker/dockerfile-template/options.kcfg b/plugins/docker/dockerfile-template/options.kcfg similarity index 100% rename from kdevplatform/plugins/docker/dockerfile-template/options.kcfg rename to plugins/docker/dockerfile-template/options.kcfg diff --git a/kdevplatform/plugins/docker/dockerplugin.cpp b/plugins/docker/dockerplugin.cpp similarity index 100% rename from kdevplatform/plugins/docker/dockerplugin.cpp rename to plugins/docker/dockerplugin.cpp diff --git a/kdevplatform/plugins/docker/dockerplugin.h b/plugins/docker/dockerplugin.h similarity index 100% rename from kdevplatform/plugins/docker/dockerplugin.h rename to plugins/docker/dockerplugin.h diff --git a/kdevplatform/plugins/docker/dockerpreferences.cpp b/plugins/docker/dockerpreferences.cpp similarity index 100% rename from kdevplatform/plugins/docker/dockerpreferences.cpp rename to plugins/docker/dockerpreferences.cpp diff --git a/kdevplatform/plugins/docker/dockerpreferences.h b/plugins/docker/dockerpreferences.h similarity index 100% rename from kdevplatform/plugins/docker/dockerpreferences.h rename to plugins/docker/dockerpreferences.h diff --git a/kdevplatform/plugins/docker/dockerpreferences.ui b/plugins/docker/dockerpreferences.ui similarity index 100% rename from kdevplatform/plugins/docker/dockerpreferences.ui rename to plugins/docker/dockerpreferences.ui diff --git a/kdevplatform/plugins/docker/dockerpreferencessettings.kcfg b/plugins/docker/dockerpreferencessettings.kcfg similarity index 100% rename from kdevplatform/plugins/docker/dockerpreferencessettings.kcfg rename to plugins/docker/dockerpreferencessettings.kcfg diff --git a/kdevplatform/plugins/docker/dockerpreferencessettings.kcfgc b/plugins/docker/dockerpreferencessettings.kcfgc similarity index 100% rename from kdevplatform/plugins/docker/dockerpreferencessettings.kcfgc rename to plugins/docker/dockerpreferencessettings.kcfgc diff --git a/kdevplatform/plugins/docker/dockerruntime.cpp b/plugins/docker/dockerruntime.cpp similarity index 100% rename from kdevplatform/plugins/docker/dockerruntime.cpp rename to plugins/docker/dockerruntime.cpp diff --git a/kdevplatform/plugins/docker/dockerruntime.h b/plugins/docker/dockerruntime.h similarity index 100% rename from kdevplatform/plugins/docker/dockerruntime.h rename to plugins/docker/dockerruntime.h diff --git a/kdevplatform/plugins/docker/kdevdocker.json b/plugins/docker/kdevdocker.json similarity index 100% rename from kdevplatform/plugins/docker/kdevdocker.json rename to plugins/docker/kdevdocker.json diff --git a/kdevplatform/plugins/docker/kdevdockerplugin.qrc b/plugins/docker/kdevdockerplugin.qrc similarity index 100% rename from kdevplatform/plugins/docker/kdevdockerplugin.qrc rename to plugins/docker/kdevdockerplugin.qrc diff --git a/kdevplatform/plugins/docker/kdevdockerplugin.rc b/plugins/docker/kdevdockerplugin.rc similarity index 100% rename from kdevplatform/plugins/docker/kdevdockerplugin.rc rename to plugins/docker/kdevdockerplugin.rc diff --git a/kdevplatform/plugins/docker/tests/CMakeLists.txt b/plugins/docker/tests/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/docker/tests/CMakeLists.txt rename to plugins/docker/tests/CMakeLists.txt diff --git a/kdevplatform/plugins/docker/tests/test_docker.cpp b/plugins/docker/tests/test_docker.cpp similarity index 100% rename from kdevplatform/plugins/docker/tests/test_docker.cpp rename to plugins/docker/tests/test_docker.cpp diff --git a/kdevplatform/plugins/docker/tests/testproject/test.kdev4 b/plugins/docker/tests/testproject/test.kdev4 similarity index 100% rename from kdevplatform/plugins/docker/tests/testproject/test.kdev4 rename to plugins/docker/tests/testproject/test.kdev4 diff --git a/kdevplatform/plugins/docker/tests/testproject/testfile.sh b/plugins/docker/tests/testproject/testfile.sh similarity index 100% rename from kdevplatform/plugins/docker/tests/testproject/testfile.sh rename to plugins/docker/tests/testproject/testfile.sh diff --git a/documentation/CMakeLists.txt b/plugins/documentation/CMakeLists.txt similarity index 100% rename from documentation/CMakeLists.txt rename to plugins/documentation/CMakeLists.txt diff --git a/kdevplatform/plugins/documentswitcher/CMakeLists.txt b/plugins/documentswitcher/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/documentswitcher/CMakeLists.txt rename to plugins/documentswitcher/CMakeLists.txt diff --git a/kdevplatform/plugins/documentswitcher/Messages.sh b/plugins/documentswitcher/Messages.sh similarity index 100% rename from kdevplatform/plugins/documentswitcher/Messages.sh rename to plugins/documentswitcher/Messages.sh diff --git a/kdevplatform/plugins/documentswitcher/documentswitcherplugin.cpp b/plugins/documentswitcher/documentswitcherplugin.cpp similarity index 100% rename from kdevplatform/plugins/documentswitcher/documentswitcherplugin.cpp rename to plugins/documentswitcher/documentswitcherplugin.cpp diff --git a/kdevplatform/plugins/documentswitcher/documentswitcherplugin.h b/plugins/documentswitcher/documentswitcherplugin.h similarity index 100% rename from kdevplatform/plugins/documentswitcher/documentswitcherplugin.h rename to plugins/documentswitcher/documentswitcherplugin.h diff --git a/kdevplatform/plugins/documentswitcher/documentswitchertreeview.cpp b/plugins/documentswitcher/documentswitchertreeview.cpp similarity index 100% rename from kdevplatform/plugins/documentswitcher/documentswitchertreeview.cpp rename to plugins/documentswitcher/documentswitchertreeview.cpp diff --git a/kdevplatform/plugins/documentswitcher/documentswitchertreeview.h b/plugins/documentswitcher/documentswitchertreeview.h similarity index 100% rename from kdevplatform/plugins/documentswitcher/documentswitchertreeview.h rename to plugins/documentswitcher/documentswitchertreeview.h diff --git a/kdevplatform/plugins/documentswitcher/kdevdocumentswitcher.json b/plugins/documentswitcher/kdevdocumentswitcher.json similarity index 100% rename from kdevplatform/plugins/documentswitcher/kdevdocumentswitcher.json rename to plugins/documentswitcher/kdevdocumentswitcher.json diff --git a/kdevplatform/plugins/documentswitcher/kdevdocumentswitcher.qrc b/plugins/documentswitcher/kdevdocumentswitcher.qrc similarity index 100% rename from kdevplatform/plugins/documentswitcher/kdevdocumentswitcher.qrc rename to plugins/documentswitcher/kdevdocumentswitcher.qrc diff --git a/kdevplatform/plugins/documentswitcher/kdevdocumentswitcher.rc b/plugins/documentswitcher/kdevdocumentswitcher.rc similarity index 100% rename from kdevplatform/plugins/documentswitcher/kdevdocumentswitcher.rc rename to plugins/documentswitcher/kdevdocumentswitcher.rc diff --git a/kdevplatform/plugins/documentview/CMakeLists.txt b/plugins/documentview/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/documentview/CMakeLists.txt rename to plugins/documentview/CMakeLists.txt diff --git a/kdevplatform/plugins/documentview/Messages.sh b/plugins/documentview/Messages.sh similarity index 100% rename from kdevplatform/plugins/documentview/Messages.sh rename to plugins/documentview/Messages.sh diff --git a/kdevplatform/plugins/documentview/README b/plugins/documentview/README similarity index 100% rename from kdevplatform/plugins/documentview/README rename to plugins/documentview/README diff --git a/kdevplatform/plugins/documentview/kdevdocumentmodel.cpp b/plugins/documentview/kdevdocumentmodel.cpp similarity index 100% rename from kdevplatform/plugins/documentview/kdevdocumentmodel.cpp rename to plugins/documentview/kdevdocumentmodel.cpp diff --git a/kdevplatform/plugins/documentview/kdevdocumentmodel.h b/plugins/documentview/kdevdocumentmodel.h similarity index 100% rename from kdevplatform/plugins/documentview/kdevdocumentmodel.h rename to plugins/documentview/kdevdocumentmodel.h diff --git a/kdevplatform/plugins/documentview/kdevdocumentselection.cpp b/plugins/documentview/kdevdocumentselection.cpp similarity index 100% rename from kdevplatform/plugins/documentview/kdevdocumentselection.cpp rename to plugins/documentview/kdevdocumentselection.cpp diff --git a/kdevplatform/plugins/documentview/kdevdocumentselection.h b/plugins/documentview/kdevdocumentselection.h similarity index 100% rename from kdevplatform/plugins/documentview/kdevdocumentselection.h rename to plugins/documentview/kdevdocumentselection.h diff --git a/kdevplatform/plugins/documentview/kdevdocumentview.cpp b/plugins/documentview/kdevdocumentview.cpp similarity index 100% rename from kdevplatform/plugins/documentview/kdevdocumentview.cpp rename to plugins/documentview/kdevdocumentview.cpp diff --git a/kdevplatform/plugins/documentview/kdevdocumentview.h b/plugins/documentview/kdevdocumentview.h similarity index 100% rename from kdevplatform/plugins/documentview/kdevdocumentview.h rename to plugins/documentview/kdevdocumentview.h diff --git a/kdevplatform/plugins/documentview/kdevdocumentview.json b/plugins/documentview/kdevdocumentview.json similarity index 100% rename from kdevplatform/plugins/documentview/kdevdocumentview.json rename to plugins/documentview/kdevdocumentview.json diff --git a/kdevplatform/plugins/documentview/kdevdocumentview.qrc b/plugins/documentview/kdevdocumentview.qrc similarity index 100% rename from kdevplatform/plugins/documentview/kdevdocumentview.qrc rename to plugins/documentview/kdevdocumentview.qrc diff --git a/kdevplatform/plugins/documentview/kdevdocumentview.rc b/plugins/documentview/kdevdocumentview.rc similarity index 100% rename from kdevplatform/plugins/documentview/kdevdocumentview.rc rename to plugins/documentview/kdevdocumentview.rc diff --git a/kdevplatform/plugins/documentview/kdevdocumentviewdelegate.cpp b/plugins/documentview/kdevdocumentviewdelegate.cpp similarity index 100% rename from kdevplatform/plugins/documentview/kdevdocumentviewdelegate.cpp rename to plugins/documentview/kdevdocumentviewdelegate.cpp diff --git a/kdevplatform/plugins/documentview/kdevdocumentviewdelegate.h b/plugins/documentview/kdevdocumentviewdelegate.h similarity index 100% rename from kdevplatform/plugins/documentview/kdevdocumentviewdelegate.h rename to plugins/documentview/kdevdocumentviewdelegate.h diff --git a/kdevplatform/plugins/documentview/kdevdocumentviewplugin.cpp b/plugins/documentview/kdevdocumentviewplugin.cpp similarity index 100% rename from kdevplatform/plugins/documentview/kdevdocumentviewplugin.cpp rename to plugins/documentview/kdevdocumentviewplugin.cpp diff --git a/kdevplatform/plugins/documentview/kdevdocumentviewplugin.h b/plugins/documentview/kdevdocumentviewplugin.h similarity index 100% rename from kdevplatform/plugins/documentview/kdevdocumentviewplugin.h rename to plugins/documentview/kdevdocumentviewplugin.h diff --git a/kdevplatform/plugins/documentview/settings/CMakeLists.txt b/plugins/documentview/settings/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/documentview/settings/CMakeLists.txt rename to plugins/documentview/settings/CMakeLists.txt diff --git a/kdevplatform/plugins/documentview/settings/config.kcfg b/plugins/documentview/settings/config.kcfg similarity index 100% rename from kdevplatform/plugins/documentview/settings/config.kcfg rename to plugins/documentview/settings/config.kcfg diff --git a/kdevplatform/plugins/documentview/settings/config.kcfgc b/plugins/documentview/settings/config.kcfgc similarity index 100% rename from kdevplatform/plugins/documentview/settings/config.kcfgc rename to plugins/documentview/settings/config.kcfgc diff --git a/kdevplatform/plugins/documentview/settings/kcm_documentview_settings.desktop b/plugins/documentview/settings/kcm_documentview_settings.desktop similarity index 100% rename from kdevplatform/plugins/documentview/settings/kcm_documentview_settings.desktop rename to plugins/documentview/settings/kcm_documentview_settings.desktop diff --git a/kdevplatform/plugins/documentview/settings/preferences.cpp b/plugins/documentview/settings/preferences.cpp similarity index 100% rename from kdevplatform/plugins/documentview/settings/preferences.cpp rename to plugins/documentview/settings/preferences.cpp diff --git a/kdevplatform/plugins/documentview/settings/preferences.h b/plugins/documentview/settings/preferences.h similarity index 100% rename from kdevplatform/plugins/documentview/settings/preferences.h rename to plugins/documentview/settings/preferences.h diff --git a/kdevplatform/plugins/documentview/settings/settingswidget.ui b/plugins/documentview/settings/settingswidget.ui similarity index 100% rename from kdevplatform/plugins/documentview/settings/settingswidget.ui rename to plugins/documentview/settings/settingswidget.ui diff --git a/kdevplatform/plugins/execute/CMakeLists.txt b/plugins/execute/CMakeLists.txt similarity index 95% rename from kdevplatform/plugins/execute/CMakeLists.txt rename to plugins/execute/CMakeLists.txt index 098156646a..a909d2902a 100644 --- a/kdevplatform/plugins/execute/CMakeLists.txt +++ b/plugins/execute/CMakeLists.txt @@ -1,44 +1,44 @@ add_definitions(-DTRANSLATION_DOMAIN=\"kdevexecute\") ########### next target ############### set(kdevexecute_PART_SRCS projecttargetscombobox.cpp executeplugin.cpp nativeappconfig.cpp nativeappjob.cpp ) ecm_qt_declare_logging_category(kdevexecute_PART_SRCS HEADER debug.h IDENTIFIER PLUGIN_EXECUTE CATEGORY_NAME "kdevplatform.plugins.execute" ) ki18n_wrap_ui( kdevexecute_PART_SRCS nativeappconfig.ui) kdevplatform_add_plugin(kdevexecute JSON kdevexecute.json SOURCES ${kdevexecute_PART_SRCS}) target_link_libraries(kdevexecute KF5::KCMUtils KDev::Interfaces KDev::Util KDev::Project KDev::OutputView KDev::Shell ) add_library(KDevPlatformIExecute INTERFACE) add_library(KDev::IExecute ALIAS KDevPlatformIExecute) target_include_directories(KDevPlatformIExecute INTERFACE - "$" + "$" "$" ) set_target_properties(KDevPlatformIExecute PROPERTIES EXPORT_NAME IExecute ) install(TARGETS KDevPlatformIExecute EXPORT KDevPlatformTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) ########### install files ############### install(FILES iexecuteplugin.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/kdevplatform/execute COMPONENT Devel) diff --git a/kdevplatform/plugins/execute/Messages.sh b/plugins/execute/Messages.sh similarity index 100% rename from kdevplatform/plugins/execute/Messages.sh rename to plugins/execute/Messages.sh diff --git a/kdevplatform/plugins/execute/executeplugin.cpp b/plugins/execute/executeplugin.cpp similarity index 100% rename from kdevplatform/plugins/execute/executeplugin.cpp rename to plugins/execute/executeplugin.cpp diff --git a/kdevplatform/plugins/execute/executeplugin.h b/plugins/execute/executeplugin.h similarity index 100% rename from kdevplatform/plugins/execute/executeplugin.h rename to plugins/execute/executeplugin.h diff --git a/kdevplatform/plugins/execute/iexecuteplugin.h b/plugins/execute/iexecuteplugin.h similarity index 100% rename from kdevplatform/plugins/execute/iexecuteplugin.h rename to plugins/execute/iexecuteplugin.h diff --git a/kdevplatform/plugins/execute/kdevexecute.json b/plugins/execute/kdevexecute.json similarity index 100% rename from kdevplatform/plugins/execute/kdevexecute.json rename to plugins/execute/kdevexecute.json diff --git a/kdevplatform/plugins/execute/nativeappconfig.cpp b/plugins/execute/nativeappconfig.cpp similarity index 100% rename from kdevplatform/plugins/execute/nativeappconfig.cpp rename to plugins/execute/nativeappconfig.cpp diff --git a/kdevplatform/plugins/execute/nativeappconfig.h b/plugins/execute/nativeappconfig.h similarity index 100% rename from kdevplatform/plugins/execute/nativeappconfig.h rename to plugins/execute/nativeappconfig.h diff --git a/kdevplatform/plugins/execute/nativeappconfig.ui b/plugins/execute/nativeappconfig.ui similarity index 100% rename from kdevplatform/plugins/execute/nativeappconfig.ui rename to plugins/execute/nativeappconfig.ui diff --git a/kdevplatform/plugins/execute/nativeappjob.cpp b/plugins/execute/nativeappjob.cpp similarity index 100% rename from kdevplatform/plugins/execute/nativeappjob.cpp rename to plugins/execute/nativeappjob.cpp diff --git a/kdevplatform/plugins/execute/nativeappjob.h b/plugins/execute/nativeappjob.h similarity index 100% rename from kdevplatform/plugins/execute/nativeappjob.h rename to plugins/execute/nativeappjob.h diff --git a/kdevplatform/plugins/execute/projecttargetscombobox.cpp b/plugins/execute/projecttargetscombobox.cpp similarity index 100% rename from kdevplatform/plugins/execute/projecttargetscombobox.cpp rename to plugins/execute/projecttargetscombobox.cpp diff --git a/kdevplatform/plugins/execute/projecttargetscombobox.h b/plugins/execute/projecttargetscombobox.h similarity index 100% rename from kdevplatform/plugins/execute/projecttargetscombobox.h rename to plugins/execute/projecttargetscombobox.h diff --git a/kdeintegration/executeplasmoid/CMakeLists.txt b/plugins/executeplasmoid/CMakeLists.txt similarity index 100% rename from kdeintegration/executeplasmoid/CMakeLists.txt rename to plugins/executeplasmoid/CMakeLists.txt diff --git a/kdeintegration/executeplasmoid/Messages.sh b/plugins/executeplasmoid/Messages.sh similarity index 100% rename from kdeintegration/executeplasmoid/Messages.sh rename to plugins/executeplasmoid/Messages.sh diff --git a/kdeintegration/executeplasmoid/executeplasmoidplugin.cpp b/plugins/executeplasmoid/executeplasmoidplugin.cpp similarity index 100% rename from kdeintegration/executeplasmoid/executeplasmoidplugin.cpp rename to plugins/executeplasmoid/executeplasmoidplugin.cpp diff --git a/kdeintegration/executeplasmoid/executeplasmoidplugin.h b/plugins/executeplasmoid/executeplasmoidplugin.h similarity index 100% rename from kdeintegration/executeplasmoid/executeplasmoidplugin.h rename to plugins/executeplasmoid/executeplasmoidplugin.h diff --git a/kdeintegration/executeplasmoid/kdevexecuteplasmoid.json b/plugins/executeplasmoid/kdevexecuteplasmoid.json similarity index 100% rename from kdeintegration/executeplasmoid/kdevexecuteplasmoid.json rename to plugins/executeplasmoid/kdevexecuteplasmoid.json diff --git a/kdeintegration/executeplasmoid/plasmoidexecutionconfig.cpp b/plugins/executeplasmoid/plasmoidexecutionconfig.cpp similarity index 100% rename from kdeintegration/executeplasmoid/plasmoidexecutionconfig.cpp rename to plugins/executeplasmoid/plasmoidexecutionconfig.cpp diff --git a/kdeintegration/executeplasmoid/plasmoidexecutionconfig.h b/plugins/executeplasmoid/plasmoidexecutionconfig.h similarity index 100% rename from kdeintegration/executeplasmoid/plasmoidexecutionconfig.h rename to plugins/executeplasmoid/plasmoidexecutionconfig.h diff --git a/kdeintegration/executeplasmoid/plasmoidexecutionconfig.ui b/plugins/executeplasmoid/plasmoidexecutionconfig.ui similarity index 100% rename from kdeintegration/executeplasmoid/plasmoidexecutionconfig.ui rename to plugins/executeplasmoid/plasmoidexecutionconfig.ui diff --git a/kdeintegration/executeplasmoid/plasmoidexecutionjob.cpp b/plugins/executeplasmoid/plasmoidexecutionjob.cpp similarity index 100% rename from kdeintegration/executeplasmoid/plasmoidexecutionjob.cpp rename to plugins/executeplasmoid/plasmoidexecutionjob.cpp diff --git a/kdeintegration/executeplasmoid/plasmoidexecutionjob.h b/plugins/executeplasmoid/plasmoidexecutionjob.h similarity index 100% rename from kdeintegration/executeplasmoid/plasmoidexecutionjob.h rename to plugins/executeplasmoid/plasmoidexecutionjob.h diff --git a/kdevplatform/plugins/executescript/CMakeLists.txt b/plugins/executescript/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/executescript/CMakeLists.txt rename to plugins/executescript/CMakeLists.txt diff --git a/kdevplatform/plugins/executescript/Messages.sh b/plugins/executescript/Messages.sh similarity index 100% rename from kdevplatform/plugins/executescript/Messages.sh rename to plugins/executescript/Messages.sh diff --git a/kdevplatform/plugins/executescript/executescriptplugin.cpp b/plugins/executescript/executescriptplugin.cpp similarity index 100% rename from kdevplatform/plugins/executescript/executescriptplugin.cpp rename to plugins/executescript/executescriptplugin.cpp diff --git a/kdevplatform/plugins/executescript/executescriptplugin.h b/plugins/executescript/executescriptplugin.h similarity index 100% rename from kdevplatform/plugins/executescript/executescriptplugin.h rename to plugins/executescript/executescriptplugin.h diff --git a/kdevplatform/plugins/executescript/iexecutescriptplugin.h b/plugins/executescript/iexecutescriptplugin.h similarity index 100% rename from kdevplatform/plugins/executescript/iexecutescriptplugin.h rename to plugins/executescript/iexecutescriptplugin.h diff --git a/kdevplatform/plugins/executescript/kdevexecutescript.json b/plugins/executescript/kdevexecutescript.json similarity index 100% rename from kdevplatform/plugins/executescript/kdevexecutescript.json rename to plugins/executescript/kdevexecutescript.json diff --git a/kdevplatform/plugins/executescript/scriptappconfig.cpp b/plugins/executescript/scriptappconfig.cpp similarity index 100% rename from kdevplatform/plugins/executescript/scriptappconfig.cpp rename to plugins/executescript/scriptappconfig.cpp diff --git a/kdevplatform/plugins/executescript/scriptappconfig.h b/plugins/executescript/scriptappconfig.h similarity index 100% rename from kdevplatform/plugins/executescript/scriptappconfig.h rename to plugins/executescript/scriptappconfig.h diff --git a/kdevplatform/plugins/executescript/scriptappconfig.ui b/plugins/executescript/scriptappconfig.ui similarity index 100% rename from kdevplatform/plugins/executescript/scriptappconfig.ui rename to plugins/executescript/scriptappconfig.ui diff --git a/kdevplatform/plugins/executescript/scriptappjob.cpp b/plugins/executescript/scriptappjob.cpp similarity index 100% rename from kdevplatform/plugins/executescript/scriptappjob.cpp rename to plugins/executescript/scriptappjob.cpp diff --git a/kdevplatform/plugins/executescript/scriptappjob.h b/plugins/executescript/scriptappjob.h similarity index 100% rename from kdevplatform/plugins/executescript/scriptappjob.h rename to plugins/executescript/scriptappjob.h diff --git a/kdevplatform/plugins/externalscript/CMakeLists.txt b/plugins/externalscript/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/externalscript/CMakeLists.txt rename to plugins/externalscript/CMakeLists.txt diff --git a/kdevplatform/plugins/externalscript/Messages.sh b/plugins/externalscript/Messages.sh similarity index 100% rename from kdevplatform/plugins/externalscript/Messages.sh rename to plugins/externalscript/Messages.sh diff --git a/kdevplatform/plugins/externalscript/editexternalscript.cpp b/plugins/externalscript/editexternalscript.cpp similarity index 100% rename from kdevplatform/plugins/externalscript/editexternalscript.cpp rename to plugins/externalscript/editexternalscript.cpp diff --git a/kdevplatform/plugins/externalscript/editexternalscript.h b/plugins/externalscript/editexternalscript.h similarity index 100% rename from kdevplatform/plugins/externalscript/editexternalscript.h rename to plugins/externalscript/editexternalscript.h diff --git a/kdevplatform/plugins/externalscript/editexternalscript.ui b/plugins/externalscript/editexternalscript.ui similarity index 100% rename from kdevplatform/plugins/externalscript/editexternalscript.ui rename to plugins/externalscript/editexternalscript.ui diff --git a/kdevplatform/plugins/externalscript/externalscriptitem.cpp b/plugins/externalscript/externalscriptitem.cpp similarity index 100% rename from kdevplatform/plugins/externalscript/externalscriptitem.cpp rename to plugins/externalscript/externalscriptitem.cpp diff --git a/kdevplatform/plugins/externalscript/externalscriptitem.h b/plugins/externalscript/externalscriptitem.h similarity index 100% rename from kdevplatform/plugins/externalscript/externalscriptitem.h rename to plugins/externalscript/externalscriptitem.h diff --git a/kdevplatform/plugins/externalscript/externalscriptjob.cpp b/plugins/externalscript/externalscriptjob.cpp similarity index 100% rename from kdevplatform/plugins/externalscript/externalscriptjob.cpp rename to plugins/externalscript/externalscriptjob.cpp diff --git a/kdevplatform/plugins/externalscript/externalscriptjob.h b/plugins/externalscript/externalscriptjob.h similarity index 100% rename from kdevplatform/plugins/externalscript/externalscriptjob.h rename to plugins/externalscript/externalscriptjob.h diff --git a/kdevplatform/plugins/externalscript/externalscriptplugin.cpp b/plugins/externalscript/externalscriptplugin.cpp similarity index 100% rename from kdevplatform/plugins/externalscript/externalscriptplugin.cpp rename to plugins/externalscript/externalscriptplugin.cpp diff --git a/kdevplatform/plugins/externalscript/externalscriptplugin.h b/plugins/externalscript/externalscriptplugin.h similarity index 100% rename from kdevplatform/plugins/externalscript/externalscriptplugin.h rename to plugins/externalscript/externalscriptplugin.h diff --git a/kdevplatform/plugins/externalscript/externalscriptview.cpp b/plugins/externalscript/externalscriptview.cpp similarity index 100% rename from kdevplatform/plugins/externalscript/externalscriptview.cpp rename to plugins/externalscript/externalscriptview.cpp diff --git a/kdevplatform/plugins/externalscript/externalscriptview.h b/plugins/externalscript/externalscriptview.h similarity index 100% rename from kdevplatform/plugins/externalscript/externalscriptview.h rename to plugins/externalscript/externalscriptview.h diff --git a/kdevplatform/plugins/externalscript/externalscriptview.ui b/plugins/externalscript/externalscriptview.ui similarity index 100% rename from kdevplatform/plugins/externalscript/externalscriptview.ui rename to plugins/externalscript/externalscriptview.ui diff --git a/kdevplatform/plugins/externalscript/kdevexternalscript.json b/plugins/externalscript/kdevexternalscript.json similarity index 100% rename from kdevplatform/plugins/externalscript/kdevexternalscript.json rename to plugins/externalscript/kdevexternalscript.json diff --git a/kdevplatform/plugins/externalscript/kdevexternalscript.qrc b/plugins/externalscript/kdevexternalscript.qrc similarity index 100% rename from kdevplatform/plugins/externalscript/kdevexternalscript.qrc rename to plugins/externalscript/kdevexternalscript.qrc diff --git a/kdevplatform/plugins/externalscript/kdevexternalscript.rc b/plugins/externalscript/kdevexternalscript.rc similarity index 100% rename from kdevplatform/plugins/externalscript/kdevexternalscript.rc rename to plugins/externalscript/kdevexternalscript.rc diff --git a/kdevplatform/plugins/filemanager/CMakeLists.txt b/plugins/filemanager/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/filemanager/CMakeLists.txt rename to plugins/filemanager/CMakeLists.txt diff --git a/kdevplatform/plugins/filemanager/Messages.sh b/plugins/filemanager/Messages.sh similarity index 100% rename from kdevplatform/plugins/filemanager/Messages.sh rename to plugins/filemanager/Messages.sh diff --git a/kdevplatform/plugins/filemanager/bookmarkhandler.cpp b/plugins/filemanager/bookmarkhandler.cpp similarity index 100% rename from kdevplatform/plugins/filemanager/bookmarkhandler.cpp rename to plugins/filemanager/bookmarkhandler.cpp diff --git a/kdevplatform/plugins/filemanager/bookmarkhandler.h b/plugins/filemanager/bookmarkhandler.h similarity index 100% rename from kdevplatform/plugins/filemanager/bookmarkhandler.h rename to plugins/filemanager/bookmarkhandler.h diff --git a/kdevplatform/plugins/filemanager/filemanager.cpp b/plugins/filemanager/filemanager.cpp similarity index 100% rename from kdevplatform/plugins/filemanager/filemanager.cpp rename to plugins/filemanager/filemanager.cpp diff --git a/kdevplatform/plugins/filemanager/filemanager.h b/plugins/filemanager/filemanager.h similarity index 100% rename from kdevplatform/plugins/filemanager/filemanager.h rename to plugins/filemanager/filemanager.h diff --git a/kdevplatform/plugins/filemanager/kdevfilemanager.json b/plugins/filemanager/kdevfilemanager.json similarity index 100% rename from kdevplatform/plugins/filemanager/kdevfilemanager.json rename to plugins/filemanager/kdevfilemanager.json diff --git a/kdevplatform/plugins/filemanager/kdevfilemanager.qrc b/plugins/filemanager/kdevfilemanager.qrc similarity index 100% rename from kdevplatform/plugins/filemanager/kdevfilemanager.qrc rename to plugins/filemanager/kdevfilemanager.qrc diff --git a/kdevplatform/plugins/filemanager/kdevfilemanager.rc b/plugins/filemanager/kdevfilemanager.rc similarity index 100% rename from kdevplatform/plugins/filemanager/kdevfilemanager.rc rename to plugins/filemanager/kdevfilemanager.rc diff --git a/kdevplatform/plugins/filemanager/kdevfilemanagerplugin.cpp b/plugins/filemanager/kdevfilemanagerplugin.cpp similarity index 100% rename from kdevplatform/plugins/filemanager/kdevfilemanagerplugin.cpp rename to plugins/filemanager/kdevfilemanagerplugin.cpp diff --git a/kdevplatform/plugins/filemanager/kdevfilemanagerplugin.h b/plugins/filemanager/kdevfilemanagerplugin.h similarity index 100% rename from kdevplatform/plugins/filemanager/kdevfilemanagerplugin.h rename to plugins/filemanager/kdevfilemanagerplugin.h diff --git a/kdevplatform/plugins/filetemplates/CMakeLists.txt b/plugins/filetemplates/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/filetemplates/CMakeLists.txt rename to plugins/filetemplates/CMakeLists.txt diff --git a/kdevplatform/plugins/filetemplates/Messages.sh b/plugins/filetemplates/Messages.sh similarity index 100% rename from kdevplatform/plugins/filetemplates/Messages.sh rename to plugins/filetemplates/Messages.sh diff --git a/kdevplatform/plugins/filetemplates/classidentifierpage.cpp b/plugins/filetemplates/classidentifierpage.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/classidentifierpage.cpp rename to plugins/filetemplates/classidentifierpage.cpp diff --git a/kdevplatform/plugins/filetemplates/classidentifierpage.h b/plugins/filetemplates/classidentifierpage.h similarity index 100% rename from kdevplatform/plugins/filetemplates/classidentifierpage.h rename to plugins/filetemplates/classidentifierpage.h diff --git a/kdevplatform/plugins/filetemplates/classmemberspage.cpp b/plugins/filetemplates/classmemberspage.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/classmemberspage.cpp rename to plugins/filetemplates/classmemberspage.cpp diff --git a/kdevplatform/plugins/filetemplates/classmemberspage.h b/plugins/filetemplates/classmemberspage.h similarity index 100% rename from kdevplatform/plugins/filetemplates/classmemberspage.h rename to plugins/filetemplates/classmemberspage.h diff --git a/kdevplatform/plugins/filetemplates/defaultcreateclasshelper.cpp b/plugins/filetemplates/defaultcreateclasshelper.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/defaultcreateclasshelper.cpp rename to plugins/filetemplates/defaultcreateclasshelper.cpp diff --git a/kdevplatform/plugins/filetemplates/defaultcreateclasshelper.h b/plugins/filetemplates/defaultcreateclasshelper.h similarity index 100% rename from kdevplatform/plugins/filetemplates/defaultcreateclasshelper.h rename to plugins/filetemplates/defaultcreateclasshelper.h diff --git a/kdevplatform/plugins/filetemplates/filetemplatesplugin.cpp b/plugins/filetemplates/filetemplatesplugin.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/filetemplatesplugin.cpp rename to plugins/filetemplates/filetemplatesplugin.cpp diff --git a/kdevplatform/plugins/filetemplates/filetemplatesplugin.h b/plugins/filetemplates/filetemplatesplugin.h similarity index 100% rename from kdevplatform/plugins/filetemplates/filetemplatesplugin.h rename to plugins/filetemplates/filetemplatesplugin.h diff --git a/kdevplatform/plugins/filetemplates/ipagefocus.cpp b/plugins/filetemplates/ipagefocus.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/ipagefocus.cpp rename to plugins/filetemplates/ipagefocus.cpp diff --git a/kdevplatform/plugins/filetemplates/ipagefocus.h b/plugins/filetemplates/ipagefocus.h similarity index 100% rename from kdevplatform/plugins/filetemplates/ipagefocus.h rename to plugins/filetemplates/ipagefocus.h diff --git a/kdevplatform/plugins/filetemplates/kdevfiletemplates.json b/plugins/filetemplates/kdevfiletemplates.json similarity index 100% rename from kdevplatform/plugins/filetemplates/kdevfiletemplates.json rename to plugins/filetemplates/kdevfiletemplates.json diff --git a/kdevplatform/plugins/filetemplates/kdevfiletemplates.knsrc b/plugins/filetemplates/kdevfiletemplates.knsrc similarity index 100% rename from kdevplatform/plugins/filetemplates/kdevfiletemplates.knsrc rename to plugins/filetemplates/kdevfiletemplates.knsrc diff --git a/kdevplatform/plugins/filetemplates/kdevfiletemplates.qrc b/plugins/filetemplates/kdevfiletemplates.qrc similarity index 100% rename from kdevplatform/plugins/filetemplates/kdevfiletemplates.qrc rename to plugins/filetemplates/kdevfiletemplates.qrc diff --git a/kdevplatform/plugins/filetemplates/kdevfiletemplates.rc b/plugins/filetemplates/kdevfiletemplates.rc similarity index 100% rename from kdevplatform/plugins/filetemplates/kdevfiletemplates.rc rename to plugins/filetemplates/kdevfiletemplates.rc diff --git a/kdevplatform/plugins/filetemplates/licensepage.cpp b/plugins/filetemplates/licensepage.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/licensepage.cpp rename to plugins/filetemplates/licensepage.cpp diff --git a/kdevplatform/plugins/filetemplates/licensepage.h b/plugins/filetemplates/licensepage.h similarity index 100% rename from kdevplatform/plugins/filetemplates/licensepage.h rename to plugins/filetemplates/licensepage.h diff --git a/kdevplatform/plugins/filetemplates/licenses/Apache v2 b/plugins/filetemplates/licenses/Apache v2 similarity index 100% rename from kdevplatform/plugins/filetemplates/licenses/Apache v2 rename to plugins/filetemplates/licenses/Apache v2 diff --git a/kdevplatform/plugins/filetemplates/licenses/BSD b/plugins/filetemplates/licenses/BSD similarity index 100% rename from kdevplatform/plugins/filetemplates/licenses/BSD rename to plugins/filetemplates/licenses/BSD diff --git a/kdevplatform/plugins/filetemplates/licenses/Boost b/plugins/filetemplates/licenses/Boost similarity index 100% rename from kdevplatform/plugins/filetemplates/licenses/Boost rename to plugins/filetemplates/licenses/Boost diff --git a/kdevplatform/plugins/filetemplates/licenses/GPL v2 b/plugins/filetemplates/licenses/GPL v2 similarity index 100% rename from kdevplatform/plugins/filetemplates/licenses/GPL v2 rename to plugins/filetemplates/licenses/GPL v2 diff --git a/kdevplatform/plugins/filetemplates/licenses/GPL v2+ (KDE) b/plugins/filetemplates/licenses/GPL v2+ (KDE) similarity index 100% rename from kdevplatform/plugins/filetemplates/licenses/GPL v2+ (KDE) rename to plugins/filetemplates/licenses/GPL v2+ (KDE) diff --git a/kdevplatform/plugins/filetemplates/licenses/GPL v3 b/plugins/filetemplates/licenses/GPL v3 similarity index 100% rename from kdevplatform/plugins/filetemplates/licenses/GPL v3 rename to plugins/filetemplates/licenses/GPL v3 diff --git a/kdevplatform/plugins/filetemplates/licenses/LGPL v2 b/plugins/filetemplates/licenses/LGPL v2 similarity index 100% rename from kdevplatform/plugins/filetemplates/licenses/LGPL v2 rename to plugins/filetemplates/licenses/LGPL v2 diff --git a/kdevplatform/plugins/filetemplates/licenses/LGPL v2+ (KDE) b/plugins/filetemplates/licenses/LGPL v2+ (KDE) similarity index 100% rename from kdevplatform/plugins/filetemplates/licenses/LGPL v2+ (KDE) rename to plugins/filetemplates/licenses/LGPL v2+ (KDE) diff --git a/kdevplatform/plugins/filetemplates/licenses/LGPL v3 b/plugins/filetemplates/licenses/LGPL v3 similarity index 100% rename from kdevplatform/plugins/filetemplates/licenses/LGPL v3 rename to plugins/filetemplates/licenses/LGPL v3 diff --git a/kdevplatform/plugins/filetemplates/licenses/MIT X11 b/plugins/filetemplates/licenses/MIT X11 similarity index 100% rename from kdevplatform/plugins/filetemplates/licenses/MIT X11 rename to plugins/filetemplates/licenses/MIT X11 diff --git a/kdevplatform/plugins/filetemplates/licenses/Mozilla v1.1 b/plugins/filetemplates/licenses/Mozilla v1.1 similarity index 100% rename from kdevplatform/plugins/filetemplates/licenses/Mozilla v1.1 rename to plugins/filetemplates/licenses/Mozilla v1.1 diff --git a/kdevplatform/plugins/filetemplates/main.cpp b/plugins/filetemplates/main.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/main.cpp rename to plugins/filetemplates/main.cpp diff --git a/kdevplatform/plugins/filetemplates/outputpage.cpp b/plugins/filetemplates/outputpage.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/outputpage.cpp rename to plugins/filetemplates/outputpage.cpp diff --git a/kdevplatform/plugins/filetemplates/outputpage.h b/plugins/filetemplates/outputpage.h similarity index 100% rename from kdevplatform/plugins/filetemplates/outputpage.h rename to plugins/filetemplates/outputpage.h diff --git a/kdevplatform/plugins/filetemplates/overridespage.cpp b/plugins/filetemplates/overridespage.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/overridespage.cpp rename to plugins/filetemplates/overridespage.cpp diff --git a/kdevplatform/plugins/filetemplates/overridespage.h b/plugins/filetemplates/overridespage.h similarity index 100% rename from kdevplatform/plugins/filetemplates/overridespage.h rename to plugins/filetemplates/overridespage.h diff --git a/kdevplatform/plugins/filetemplates/templateclassassistant.cpp b/plugins/filetemplates/templateclassassistant.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/templateclassassistant.cpp rename to plugins/filetemplates/templateclassassistant.cpp diff --git a/kdevplatform/plugins/filetemplates/templateclassassistant.h b/plugins/filetemplates/templateclassassistant.h similarity index 100% rename from kdevplatform/plugins/filetemplates/templateclassassistant.h rename to plugins/filetemplates/templateclassassistant.h diff --git a/kdevplatform/plugins/filetemplates/templateoptionspage.cpp b/plugins/filetemplates/templateoptionspage.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/templateoptionspage.cpp rename to plugins/filetemplates/templateoptionspage.cpp diff --git a/kdevplatform/plugins/filetemplates/templateoptionspage.h b/plugins/filetemplates/templateoptionspage.h similarity index 100% rename from kdevplatform/plugins/filetemplates/templateoptionspage.h rename to plugins/filetemplates/templateoptionspage.h diff --git a/kdevplatform/plugins/filetemplates/templatepreview.cpp b/plugins/filetemplates/templatepreview.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/templatepreview.cpp rename to plugins/filetemplates/templatepreview.cpp diff --git a/kdevplatform/plugins/filetemplates/templatepreview.h b/plugins/filetemplates/templatepreview.h similarity index 100% rename from kdevplatform/plugins/filetemplates/templatepreview.h rename to plugins/filetemplates/templatepreview.h diff --git a/kdevplatform/plugins/filetemplates/templatepreviewtoolview.cpp b/plugins/filetemplates/templatepreviewtoolview.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/templatepreviewtoolview.cpp rename to plugins/filetemplates/templatepreviewtoolview.cpp diff --git a/kdevplatform/plugins/filetemplates/templatepreviewtoolview.h b/plugins/filetemplates/templatepreviewtoolview.h similarity index 100% rename from kdevplatform/plugins/filetemplates/templatepreviewtoolview.h rename to plugins/filetemplates/templatepreviewtoolview.h diff --git a/kdevplatform/plugins/filetemplates/templatepreviewtoolview.ui b/plugins/filetemplates/templatepreviewtoolview.ui similarity index 100% rename from kdevplatform/plugins/filetemplates/templatepreviewtoolview.ui rename to plugins/filetemplates/templatepreviewtoolview.ui diff --git a/kdevplatform/plugins/filetemplates/templateselectionpage.cpp b/plugins/filetemplates/templateselectionpage.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/templateselectionpage.cpp rename to plugins/filetemplates/templateselectionpage.cpp diff --git a/kdevplatform/plugins/filetemplates/templateselectionpage.h b/plugins/filetemplates/templateselectionpage.h similarity index 100% rename from kdevplatform/plugins/filetemplates/templateselectionpage.h rename to plugins/filetemplates/templateselectionpage.h diff --git a/kdevplatform/plugins/filetemplates/testcasespage.cpp b/plugins/filetemplates/testcasespage.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/testcasespage.cpp rename to plugins/filetemplates/testcasespage.cpp diff --git a/kdevplatform/plugins/filetemplates/testcasespage.h b/plugins/filetemplates/testcasespage.h similarity index 100% rename from kdevplatform/plugins/filetemplates/testcasespage.h rename to plugins/filetemplates/testcasespage.h diff --git a/kdevplatform/plugins/filetemplates/tests/CMakeLists.txt b/plugins/filetemplates/tests/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/filetemplates/tests/CMakeLists.txt rename to plugins/filetemplates/tests/CMakeLists.txt diff --git a/kdevplatform/plugins/filetemplates/tests/data/testgenerationtest/templates/CMakeLists.txt b/plugins/filetemplates/tests/data/testgenerationtest/templates/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/filetemplates/tests/data/testgenerationtest/templates/CMakeLists.txt rename to plugins/filetemplates/tests/data/testgenerationtest/templates/CMakeLists.txt diff --git a/kdevplatform/plugins/filetemplates/tests/data/testgenerationtest/templates/test_qtestlib/class.cpp b/plugins/filetemplates/tests/data/testgenerationtest/templates/test_qtestlib/class.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/tests/data/testgenerationtest/templates/test_qtestlib/class.cpp rename to plugins/filetemplates/tests/data/testgenerationtest/templates/test_qtestlib/class.cpp diff --git a/kdevplatform/plugins/filetemplates/tests/data/testgenerationtest/templates/test_qtestlib/class.h b/plugins/filetemplates/tests/data/testgenerationtest/templates/test_qtestlib/class.h similarity index 100% rename from kdevplatform/plugins/filetemplates/tests/data/testgenerationtest/templates/test_qtestlib/class.h rename to plugins/filetemplates/tests/data/testgenerationtest/templates/test_qtestlib/class.h diff --git a/kdevplatform/plugins/filetemplates/tests/data/testgenerationtest/templates/test_qtestlib/test_qtestlib.desktop b/plugins/filetemplates/tests/data/testgenerationtest/templates/test_qtestlib/test_qtestlib.desktop similarity index 100% rename from kdevplatform/plugins/filetemplates/tests/data/testgenerationtest/templates/test_qtestlib/test_qtestlib.desktop rename to plugins/filetemplates/tests/data/testgenerationtest/templates/test_qtestlib/test_qtestlib.desktop diff --git a/kdevplatform/plugins/filetemplates/tests/data/testgenerationtest/templates/test_yaml2/class.yaml b/plugins/filetemplates/tests/data/testgenerationtest/templates/test_yaml2/class.yaml similarity index 100% rename from kdevplatform/plugins/filetemplates/tests/data/testgenerationtest/templates/test_yaml2/class.yaml rename to plugins/filetemplates/tests/data/testgenerationtest/templates/test_yaml2/class.yaml diff --git a/kdevplatform/plugins/filetemplates/tests/data/testgenerationtest/templates/test_yaml2/test_yaml2.desktop b/plugins/filetemplates/tests/data/testgenerationtest/templates/test_yaml2/test_yaml2.desktop similarity index 100% rename from kdevplatform/plugins/filetemplates/tests/data/testgenerationtest/templates/test_yaml2/test_yaml2.desktop rename to plugins/filetemplates/tests/data/testgenerationtest/templates/test_yaml2/test_yaml2.desktop diff --git a/kdevplatform/plugins/filetemplates/tests/expected/testname.cpp b/plugins/filetemplates/tests/expected/testname.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/tests/expected/testname.cpp rename to plugins/filetemplates/tests/expected/testname.cpp diff --git a/kdevplatform/plugins/filetemplates/tests/expected/testname.h b/plugins/filetemplates/tests/expected/testname.h similarity index 100% rename from kdevplatform/plugins/filetemplates/tests/expected/testname.h rename to plugins/filetemplates/tests/expected/testname.h diff --git a/kdevplatform/plugins/filetemplates/tests/expected/testname.yaml b/plugins/filetemplates/tests/expected/testname.yaml similarity index 100% rename from kdevplatform/plugins/filetemplates/tests/expected/testname.yaml rename to plugins/filetemplates/tests/expected/testname.yaml diff --git a/kdevplatform/plugins/filetemplates/tests/test_generationtest.cpp b/plugins/filetemplates/tests/test_generationtest.cpp similarity index 100% rename from kdevplatform/plugins/filetemplates/tests/test_generationtest.cpp rename to plugins/filetemplates/tests/test_generationtest.cpp diff --git a/kdevplatform/plugins/filetemplates/tests/test_generationtest.h b/plugins/filetemplates/tests/test_generationtest.h similarity index 100% rename from kdevplatform/plugins/filetemplates/tests/test_generationtest.h rename to plugins/filetemplates/tests/test_generationtest.h diff --git a/kdevplatform/plugins/filetemplates/tests/tests_config.h.cmake b/plugins/filetemplates/tests/tests_config.h.cmake similarity index 100% rename from kdevplatform/plugins/filetemplates/tests/tests_config.h.cmake rename to plugins/filetemplates/tests/tests_config.h.cmake diff --git a/kdevplatform/plugins/filetemplates/ui/licensechooser.ui b/plugins/filetemplates/ui/licensechooser.ui similarity index 100% rename from kdevplatform/plugins/filetemplates/ui/licensechooser.ui rename to plugins/filetemplates/ui/licensechooser.ui diff --git a/kdevplatform/plugins/filetemplates/ui/newclass.ui b/plugins/filetemplates/ui/newclass.ui similarity index 100% rename from kdevplatform/plugins/filetemplates/ui/newclass.ui rename to plugins/filetemplates/ui/newclass.ui diff --git a/kdevplatform/plugins/filetemplates/ui/outputlocation.ui b/plugins/filetemplates/ui/outputlocation.ui similarity index 100% rename from kdevplatform/plugins/filetemplates/ui/outputlocation.ui rename to plugins/filetemplates/ui/outputlocation.ui diff --git a/kdevplatform/plugins/filetemplates/ui/overridevirtuals.ui b/plugins/filetemplates/ui/overridevirtuals.ui similarity index 100% rename from kdevplatform/plugins/filetemplates/ui/overridevirtuals.ui rename to plugins/filetemplates/ui/overridevirtuals.ui diff --git a/kdevplatform/plugins/filetemplates/ui/templateselection.ui b/plugins/filetemplates/ui/templateselection.ui similarity index 100% rename from kdevplatform/plugins/filetemplates/ui/templateselection.ui rename to plugins/filetemplates/ui/templateselection.ui diff --git a/kdevplatform/plugins/filetemplates/ui/testcases.ui b/plugins/filetemplates/ui/testcases.ui similarity index 100% rename from kdevplatform/plugins/filetemplates/ui/testcases.ui rename to plugins/filetemplates/ui/testcases.ui diff --git a/kdevplatform/plugins/flatpak/CMakeLists.txt b/plugins/flatpak/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/flatpak/CMakeLists.txt rename to plugins/flatpak/CMakeLists.txt diff --git a/kdevplatform/plugins/flatpak/Messages.sh b/plugins/flatpak/Messages.sh similarity index 100% rename from kdevplatform/plugins/flatpak/Messages.sh rename to plugins/flatpak/Messages.sh diff --git a/kdevplatform/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop b/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop similarity index 100% rename from kdevplatform/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop rename to plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop diff --git a/kdevplatform/plugins/flatpak/flatpak-template/flatpakbuilder.json b/plugins/flatpak/flatpak-template/flatpakbuilder.json similarity index 100% rename from kdevplatform/plugins/flatpak/flatpak-template/flatpakbuilder.json rename to plugins/flatpak/flatpak-template/flatpakbuilder.json diff --git a/kdevplatform/plugins/flatpak/flatpak-template/options.kcfg b/plugins/flatpak/flatpak-template/options.kcfg similarity index 100% rename from kdevplatform/plugins/flatpak/flatpak-template/options.kcfg rename to plugins/flatpak/flatpak-template/options.kcfg diff --git a/kdevplatform/plugins/flatpak/flatpakplugin.cpp b/plugins/flatpak/flatpakplugin.cpp similarity index 100% rename from kdevplatform/plugins/flatpak/flatpakplugin.cpp rename to plugins/flatpak/flatpakplugin.cpp diff --git a/kdevplatform/plugins/flatpak/flatpakplugin.h b/plugins/flatpak/flatpakplugin.h similarity index 100% rename from kdevplatform/plugins/flatpak/flatpakplugin.h rename to plugins/flatpak/flatpakplugin.h diff --git a/kdevplatform/plugins/flatpak/flatpakruntime.cpp b/plugins/flatpak/flatpakruntime.cpp similarity index 100% rename from kdevplatform/plugins/flatpak/flatpakruntime.cpp rename to plugins/flatpak/flatpakruntime.cpp diff --git a/kdevplatform/plugins/flatpak/flatpakruntime.h b/plugins/flatpak/flatpakruntime.h similarity index 100% rename from kdevplatform/plugins/flatpak/flatpakruntime.h rename to plugins/flatpak/flatpakruntime.h diff --git a/kdevplatform/plugins/flatpak/kdevflatpak.json b/plugins/flatpak/kdevflatpak.json similarity index 100% rename from kdevplatform/plugins/flatpak/kdevflatpak.json rename to plugins/flatpak/kdevflatpak.json diff --git a/kdevplatform/plugins/flatpak/kdevflatpakplugin.qrc b/plugins/flatpak/kdevflatpakplugin.qrc similarity index 100% rename from kdevplatform/plugins/flatpak/kdevflatpakplugin.qrc rename to plugins/flatpak/kdevflatpakplugin.qrc diff --git a/kdevplatform/plugins/flatpak/kdevflatpakplugin.rc b/plugins/flatpak/kdevflatpakplugin.rc similarity index 100% rename from kdevplatform/plugins/flatpak/kdevflatpakplugin.rc rename to plugins/flatpak/kdevflatpakplugin.rc diff --git a/kdevplatform/plugins/flatpak/replicate.sh b/plugins/flatpak/replicate.sh similarity index 100% rename from kdevplatform/plugins/flatpak/replicate.sh rename to plugins/flatpak/replicate.sh diff --git a/formatters/CMakeLists.txt b/plugins/formatters/CMakeLists.txt similarity index 100% rename from formatters/CMakeLists.txt rename to plugins/formatters/CMakeLists.txt diff --git a/formatters/Messages.sh b/plugins/formatters/Messages.sh similarity index 100% rename from formatters/Messages.sh rename to plugins/formatters/Messages.sh diff --git a/languages/clang/.kateconfig b/plugins/gdb/.kateconfig similarity index 100% rename from languages/clang/.kateconfig rename to plugins/gdb/.kateconfig diff --git a/debuggers/gdb/CMakeLists.txt b/plugins/gdb/CMakeLists.txt similarity index 100% rename from debuggers/gdb/CMakeLists.txt rename to plugins/gdb/CMakeLists.txt diff --git a/debuggers/gdb/DESIGN.txt b/plugins/gdb/DESIGN.txt similarity index 100% rename from debuggers/gdb/DESIGN.txt rename to plugins/gdb/DESIGN.txt diff --git a/debuggers/gdb/Messages.sh b/plugins/gdb/Messages.sh similarity index 100% rename from debuggers/gdb/Messages.sh rename to plugins/gdb/Messages.sh diff --git a/debuggers/gdb/TODO.txt b/plugins/gdb/TODO.txt similarity index 100% rename from debuggers/gdb/TODO.txt rename to plugins/gdb/TODO.txt diff --git a/debuggers/gdb/config-gdb-plugin.h.cmake b/plugins/gdb/config-gdb-plugin.h.cmake similarity index 100% rename from debuggers/gdb/config-gdb-plugin.h.cmake rename to plugins/gdb/config-gdb-plugin.h.cmake diff --git a/debuggers/gdb/debuggerplugin.cpp b/plugins/gdb/debuggerplugin.cpp similarity index 100% rename from debuggers/gdb/debuggerplugin.cpp rename to plugins/gdb/debuggerplugin.cpp diff --git a/debuggers/gdb/debuggerplugin.h b/plugins/gdb/debuggerplugin.h similarity index 100% rename from debuggers/gdb/debuggerplugin.h rename to plugins/gdb/debuggerplugin.h diff --git a/debuggers/gdb/debuggertracingdialog.cpp b/plugins/gdb/debuggertracingdialog.cpp similarity index 100% rename from debuggers/gdb/debuggertracingdialog.cpp rename to plugins/gdb/debuggertracingdialog.cpp diff --git a/debuggers/gdb/debuggertracingdialog.h b/plugins/gdb/debuggertracingdialog.h similarity index 100% rename from debuggers/gdb/debuggertracingdialog.h rename to plugins/gdb/debuggertracingdialog.h diff --git a/debuggers/gdb/debuggertracingdialog.ui b/plugins/gdb/debuggertracingdialog.ui similarity index 100% rename from debuggers/gdb/debuggertracingdialog.ui rename to plugins/gdb/debuggertracingdialog.ui diff --git a/debuggers/gdb/debugsession.cpp b/plugins/gdb/debugsession.cpp similarity index 100% rename from debuggers/gdb/debugsession.cpp rename to plugins/gdb/debugsession.cpp diff --git a/debuggers/gdb/debugsession.h b/plugins/gdb/debugsession.h similarity index 100% rename from debuggers/gdb/debugsession.h rename to plugins/gdb/debugsession.h diff --git a/debuggers/gdb/gdb.cpp b/plugins/gdb/gdb.cpp similarity index 100% rename from debuggers/gdb/gdb.cpp rename to plugins/gdb/gdb.cpp diff --git a/debuggers/gdb/gdb.h b/plugins/gdb/gdb.h similarity index 100% rename from debuggers/gdb/gdb.h rename to plugins/gdb/gdb.h diff --git a/debuggers/gdb/gdbbreakpointcontroller.cpp b/plugins/gdb/gdbbreakpointcontroller.cpp similarity index 100% rename from debuggers/gdb/gdbbreakpointcontroller.cpp rename to plugins/gdb/gdbbreakpointcontroller.cpp diff --git a/debuggers/gdb/gdbbreakpointcontroller.h b/plugins/gdb/gdbbreakpointcontroller.h similarity index 100% rename from debuggers/gdb/gdbbreakpointcontroller.h rename to plugins/gdb/gdbbreakpointcontroller.h diff --git a/debuggers/gdb/gdbconfigpage.cpp b/plugins/gdb/gdbconfigpage.cpp similarity index 100% rename from debuggers/gdb/gdbconfigpage.cpp rename to plugins/gdb/gdbconfigpage.cpp diff --git a/debuggers/gdb/gdbconfigpage.h b/plugins/gdb/gdbconfigpage.h similarity index 100% rename from debuggers/gdb/gdbconfigpage.h rename to plugins/gdb/gdbconfigpage.h diff --git a/debuggers/gdb/gdbconfigpage.ui b/plugins/gdb/gdbconfigpage.ui similarity index 100% rename from debuggers/gdb/gdbconfigpage.ui rename to plugins/gdb/gdbconfigpage.ui diff --git a/debuggers/gdb/gdbframestackmodel.cpp b/plugins/gdb/gdbframestackmodel.cpp similarity index 100% rename from debuggers/gdb/gdbframestackmodel.cpp rename to plugins/gdb/gdbframestackmodel.cpp diff --git a/debuggers/gdb/gdbframestackmodel.h b/plugins/gdb/gdbframestackmodel.h similarity index 100% rename from debuggers/gdb/gdbframestackmodel.h rename to plugins/gdb/gdbframestackmodel.h diff --git a/debuggers/gdb/gdboutputwidget.cpp b/plugins/gdb/gdboutputwidget.cpp similarity index 100% rename from debuggers/gdb/gdboutputwidget.cpp rename to plugins/gdb/gdboutputwidget.cpp diff --git a/debuggers/gdb/gdboutputwidget.h b/plugins/gdb/gdboutputwidget.h similarity index 100% rename from debuggers/gdb/gdboutputwidget.h rename to plugins/gdb/gdboutputwidget.h diff --git a/debuggers/gdb/gdbvariable.cpp b/plugins/gdb/gdbvariable.cpp similarity index 100% rename from debuggers/gdb/gdbvariable.cpp rename to plugins/gdb/gdbvariable.cpp diff --git a/debuggers/gdb/gdbvariable.h b/plugins/gdb/gdbvariable.h similarity index 100% rename from debuggers/gdb/gdbvariable.h rename to plugins/gdb/gdbvariable.h diff --git a/debuggers/gdb/kdevgdb.json b/plugins/gdb/kdevgdb.json similarity index 100% rename from debuggers/gdb/kdevgdb.json rename to plugins/gdb/kdevgdb.json diff --git a/debuggers/gdb/kdevgdb.qrc b/plugins/gdb/kdevgdb.qrc similarity index 100% rename from debuggers/gdb/kdevgdb.qrc rename to plugins/gdb/kdevgdb.qrc diff --git a/debuggers/gdb/kdevgdbui.rc b/plugins/gdb/kdevgdbui.rc similarity index 100% rename from debuggers/gdb/kdevgdbui.rc rename to plugins/gdb/kdevgdbui.rc diff --git a/debuggers/gdb/memviewdlg.cpp b/plugins/gdb/memviewdlg.cpp similarity index 100% rename from debuggers/gdb/memviewdlg.cpp rename to plugins/gdb/memviewdlg.cpp diff --git a/debuggers/gdb/memviewdlg.h b/plugins/gdb/memviewdlg.h similarity index 100% rename from debuggers/gdb/memviewdlg.h rename to plugins/gdb/memviewdlg.h diff --git a/debuggers/gdb/printers/CMakeLists.txt b/plugins/gdb/printers/CMakeLists.txt similarity index 100% rename from debuggers/gdb/printers/CMakeLists.txt rename to plugins/gdb/printers/CMakeLists.txt diff --git a/debuggers/gdb/printers/gdbinit b/plugins/gdb/printers/gdbinit similarity index 100% rename from debuggers/gdb/printers/gdbinit rename to plugins/gdb/printers/gdbinit diff --git a/debuggers/gdb/printers/helper.py b/plugins/gdb/printers/helper.py similarity index 100% rename from debuggers/gdb/printers/helper.py rename to plugins/gdb/printers/helper.py diff --git a/debuggers/gdb/printers/kde.py b/plugins/gdb/printers/kde.py similarity index 100% rename from debuggers/gdb/printers/kde.py rename to plugins/gdb/printers/kde.py diff --git a/debuggers/gdb/printers/qt.py b/plugins/gdb/printers/qt.py similarity index 100% rename from debuggers/gdb/printers/qt.py rename to plugins/gdb/printers/qt.py diff --git a/debuggers/gdb/tests/README.txt b/plugins/gdb/tests/README.txt similarity index 100% rename from debuggers/gdb/tests/README.txt rename to plugins/gdb/tests/README.txt diff --git a/debuggers/gdb/tests/breakpoints/Makefile b/plugins/gdb/tests/breakpoints/Makefile similarity index 100% rename from debuggers/gdb/tests/breakpoints/Makefile rename to plugins/gdb/tests/breakpoints/Makefile diff --git a/debuggers/gdb/tests/breakpoints/README.txt b/plugins/gdb/tests/breakpoints/README.txt similarity index 100% rename from debuggers/gdb/tests/breakpoints/README.txt rename to plugins/gdb/tests/breakpoints/README.txt diff --git a/debuggers/gdb/tests/breakpoints/breakpoints.kdevelop b/plugins/gdb/tests/breakpoints/breakpoints.kdevelop similarity index 100% rename from debuggers/gdb/tests/breakpoints/breakpoints.kdevelop rename to plugins/gdb/tests/breakpoints/breakpoints.kdevelop diff --git a/debuggers/gdb/tests/breakpoints/foo.cpp b/plugins/gdb/tests/breakpoints/foo.cpp similarity index 100% rename from debuggers/gdb/tests/breakpoints/foo.cpp rename to plugins/gdb/tests/breakpoints/foo.cpp diff --git a/debuggers/gdb/tests/breakpoints/main.cpp b/plugins/gdb/tests/breakpoints/main.cpp similarity index 100% rename from debuggers/gdb/tests/breakpoints/main.cpp rename to plugins/gdb/tests/breakpoints/main.cpp diff --git a/debuggers/gdb/tests/dll/Makefile b/plugins/gdb/tests/dll/Makefile similarity index 100% rename from debuggers/gdb/tests/dll/Makefile rename to plugins/gdb/tests/dll/Makefile diff --git a/debuggers/gdb/tests/dll/README.txt b/plugins/gdb/tests/dll/README.txt similarity index 100% rename from debuggers/gdb/tests/dll/README.txt rename to plugins/gdb/tests/dll/README.txt diff --git a/debuggers/gdb/tests/dll/dll.kdev4 b/plugins/gdb/tests/dll/dll.kdev4 similarity index 100% rename from debuggers/gdb/tests/dll/dll.kdev4 rename to plugins/gdb/tests/dll/dll.kdev4 diff --git a/debuggers/gdb/tests/dll/dll.kdevelop b/plugins/gdb/tests/dll/dll.kdevelop similarity index 100% rename from debuggers/gdb/tests/dll/dll.kdevelop rename to plugins/gdb/tests/dll/dll.kdevelop diff --git a/debuggers/gdb/tests/dll/helper.cpp b/plugins/gdb/tests/dll/helper.cpp similarity index 100% rename from debuggers/gdb/tests/dll/helper.cpp rename to plugins/gdb/tests/dll/helper.cpp diff --git a/debuggers/gdb/tests/dll/main.cpp b/plugins/gdb/tests/dll/main.cpp similarity index 100% rename from debuggers/gdb/tests/dll/main.cpp rename to plugins/gdb/tests/dll/main.cpp diff --git a/debuggers/gdb/tests/infinite_loop/Makefile b/plugins/gdb/tests/infinite_loop/Makefile similarity index 100% rename from debuggers/gdb/tests/infinite_loop/Makefile rename to plugins/gdb/tests/infinite_loop/Makefile diff --git a/debuggers/gdb/tests/infinite_loop/README.txt b/plugins/gdb/tests/infinite_loop/README.txt similarity index 100% rename from debuggers/gdb/tests/infinite_loop/README.txt rename to plugins/gdb/tests/infinite_loop/README.txt diff --git a/debuggers/gdb/tests/infinite_loop/infinite_loop.cpp b/plugins/gdb/tests/infinite_loop/infinite_loop.cpp similarity index 100% rename from debuggers/gdb/tests/infinite_loop/infinite_loop.cpp rename to plugins/gdb/tests/infinite_loop/infinite_loop.cpp diff --git a/debuggers/gdb/tests/infinite_loop/infinite_loop.kdevelop b/plugins/gdb/tests/infinite_loop/infinite_loop.kdevelop similarity index 100% rename from debuggers/gdb/tests/infinite_loop/infinite_loop.kdevelop rename to plugins/gdb/tests/infinite_loop/infinite_loop.kdevelop diff --git a/debuggers/gdb/tests/print_pointers/Makefile b/plugins/gdb/tests/print_pointers/Makefile similarity index 100% rename from debuggers/gdb/tests/print_pointers/Makefile rename to plugins/gdb/tests/print_pointers/Makefile diff --git a/debuggers/gdb/tests/print_pointers/print_pointers.cpp b/plugins/gdb/tests/print_pointers/print_pointers.cpp similarity index 100% rename from debuggers/gdb/tests/print_pointers/print_pointers.cpp rename to plugins/gdb/tests/print_pointers/print_pointers.cpp diff --git a/debuggers/gdb/tests/print_pointers/print_pointers.kdev4 b/plugins/gdb/tests/print_pointers/print_pointers.kdev4 similarity index 100% rename from debuggers/gdb/tests/print_pointers/print_pointers.kdev4 rename to plugins/gdb/tests/print_pointers/print_pointers.kdev4 diff --git a/debuggers/gdb/tests/print_pointers/print_pointers.kdevelop b/plugins/gdb/tests/print_pointers/print_pointers.kdevelop similarity index 100% rename from debuggers/gdb/tests/print_pointers/print_pointers.kdevelop rename to plugins/gdb/tests/print_pointers/print_pointers.kdevelop diff --git a/debuggers/gdb/tests/segfault/Makefile b/plugins/gdb/tests/segfault/Makefile similarity index 100% rename from debuggers/gdb/tests/segfault/Makefile rename to plugins/gdb/tests/segfault/Makefile diff --git a/debuggers/gdb/tests/segfault/README.txt b/plugins/gdb/tests/segfault/README.txt similarity index 100% rename from debuggers/gdb/tests/segfault/README.txt rename to plugins/gdb/tests/segfault/README.txt diff --git a/debuggers/gdb/tests/segfault/segfault.cpp b/plugins/gdb/tests/segfault/segfault.cpp similarity index 100% rename from debuggers/gdb/tests/segfault/segfault.cpp rename to plugins/gdb/tests/segfault/segfault.cpp diff --git a/debuggers/gdb/tests/segfault/segfault.kdevelop b/plugins/gdb/tests/segfault/segfault.kdevelop similarity index 100% rename from debuggers/gdb/tests/segfault/segfault.kdevelop rename to plugins/gdb/tests/segfault/segfault.kdevelop diff --git a/debuggers/gdb/tests/threads/Makefile b/plugins/gdb/tests/threads/Makefile similarity index 100% rename from debuggers/gdb/tests/threads/Makefile rename to plugins/gdb/tests/threads/Makefile diff --git a/debuggers/gdb/tests/threads/README.txt b/plugins/gdb/tests/threads/README.txt similarity index 100% rename from debuggers/gdb/tests/threads/README.txt rename to plugins/gdb/tests/threads/README.txt diff --git a/debuggers/gdb/tests/threads/threads.cpp b/plugins/gdb/tests/threads/threads.cpp similarity index 100% rename from debuggers/gdb/tests/threads/threads.cpp rename to plugins/gdb/tests/threads/threads.cpp diff --git a/debuggers/gdb/tests/threads/threads.kdev4 b/plugins/gdb/tests/threads/threads.kdev4 similarity index 100% rename from debuggers/gdb/tests/threads/threads.kdev4 rename to plugins/gdb/tests/threads/threads.kdev4 diff --git a/debuggers/gdb/tests/tracing/Makefile b/plugins/gdb/tests/tracing/Makefile similarity index 100% rename from debuggers/gdb/tests/tracing/Makefile rename to plugins/gdb/tests/tracing/Makefile diff --git a/debuggers/gdb/tests/tracing/main.cpp b/plugins/gdb/tests/tracing/main.cpp similarity index 100% rename from debuggers/gdb/tests/tracing/main.cpp rename to plugins/gdb/tests/tracing/main.cpp diff --git a/debuggers/gdb/tests/tracing/tracing.kdevelop b/plugins/gdb/tests/tracing/tracing.kdevelop similarity index 100% rename from debuggers/gdb/tests/tracing/tracing.kdevelop rename to plugins/gdb/tests/tracing/tracing.kdevelop diff --git a/debuggers/gdb/tests/two_module/Makefile b/plugins/gdb/tests/two_module/Makefile similarity index 100% rename from debuggers/gdb/tests/two_module/Makefile rename to plugins/gdb/tests/two_module/Makefile diff --git a/debuggers/gdb/tests/two_module/README.txt b/plugins/gdb/tests/two_module/README.txt similarity index 100% rename from debuggers/gdb/tests/two_module/README.txt rename to plugins/gdb/tests/two_module/README.txt diff --git a/debuggers/gdb/tests/two_module/main.cpp b/plugins/gdb/tests/two_module/main.cpp similarity index 100% rename from debuggers/gdb/tests/two_module/main.cpp rename to plugins/gdb/tests/two_module/main.cpp diff --git a/debuggers/gdb/tests/two_module/src/foo.cpp b/plugins/gdb/tests/two_module/src/foo.cpp similarity index 100% rename from debuggers/gdb/tests/two_module/src/foo.cpp rename to plugins/gdb/tests/two_module/src/foo.cpp diff --git a/debuggers/gdb/tests/two_module/two_module.kdevelop b/plugins/gdb/tests/two_module/two_module.kdevelop similarity index 100% rename from debuggers/gdb/tests/two_module/two_module.kdevelop rename to plugins/gdb/tests/two_module/two_module.kdevelop diff --git a/debuggers/gdb/unittests/CMakeLists.txt b/plugins/gdb/unittests/CMakeLists.txt similarity index 89% rename from debuggers/gdb/unittests/CMakeLists.txt rename to plugins/gdb/unittests/CMakeLists.txt index 874df3eecc..6a70198c97 100644 --- a/debuggers/gdb/unittests/CMakeLists.txt +++ b/plugins/gdb/unittests/CMakeLists.txt @@ -1,13 +1,14 @@ ecm_add_test(test_gdb.cpp LINK_LIBRARIES kdevgdb_static kdevdbg_testhelper KDev::Tests Qt5::Test ) ecm_add_test(test_gdbprinters.cpp LINK_LIBRARIES Qt5::Core Qt5::Test + kdevdebuggercommon ) diff --git a/debuggers/gdb/unittests/gdb_script_empty b/plugins/gdb/unittests/gdb_script_empty similarity index 100% rename from debuggers/gdb/unittests/gdb_script_empty rename to plugins/gdb/unittests/gdb_script_empty diff --git a/debuggers/gdb/unittests/test_gdb.cpp b/plugins/gdb/unittests/test_gdb.cpp similarity index 100% rename from debuggers/gdb/unittests/test_gdb.cpp rename to plugins/gdb/unittests/test_gdb.cpp diff --git a/debuggers/gdb/unittests/test_gdb.h b/plugins/gdb/unittests/test_gdb.h similarity index 100% rename from debuggers/gdb/unittests/test_gdb.h rename to plugins/gdb/unittests/test_gdb.h diff --git a/debuggers/gdb/unittests/test_gdbprinters.cpp b/plugins/gdb/unittests/test_gdbprinters.cpp similarity index 99% rename from debuggers/gdb/unittests/test_gdbprinters.cpp rename to plugins/gdb/unittests/test_gdbprinters.cpp index fc6ac50bd3..8f760d665b 100644 --- a/debuggers/gdb/unittests/test_gdbprinters.cpp +++ b/plugins/gdb/unittests/test_gdbprinters.cpp @@ -1,456 +1,456 @@ /* Copyright 2010 Niko Sams This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2 as published by the Free Software Foundation. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "test_gdbprinters.h" -#include "common/tests/debuggers-tests-config.h" +#include "tests/debuggers-tests-config.h" #include #include #include #include #include const QString BINARY_PATH(DEBUGGEE_BIN_DIR); class GdbProcess : private QProcess { public: explicit GdbProcess(const QString &program) : QProcess() { setProcessChannelMode(MergedChannels); // don't attempt to load .gdbinit in home (may cause unexpected results) QProcess::start(QStringLiteral("gdb"), (QStringList() << QStringLiteral("-nx") << (BINARY_PATH + '/' + program))); const bool started = waitForStarted(); if (!started) { qDebug() << "Failed to start 'gdb' executable:" << errorString(); Q_ASSERT(false); return; } QByteArray prompt = waitForPrompt(); QVERIFY(!prompt.contains("No such file or directory")); execute("set confirm off"); execute("set print pretty on"); execute("set disable-randomization off"); // see https://phabricator.kde.org/D2188 QList p; QDir printersDir = QFileInfo(__FILE__).dir(); printersDir.cdUp(); // go up to get to the main printers directory QVERIFY(printersDir.cd("printers")); p << "python" << "import sys" << "sys.path.insert(0, '"+printersDir.path().toLatin1()+"')" << "from qt import register_qt_printers" << "register_qt_printers (None)" << "from kde import register_kde_printers" << "register_kde_printers (None)" << "end"; foreach (const QByteArray &i, p) { write(i + "\n"); } waitForPrompt(); } ~GdbProcess() override { write("q\n"); waitForFinished(); } QByteArray waitForPrompt() { QByteArray output; while (!output.endsWith("(gdb) ")) { Q_ASSERT(state() == QProcess::Running); waitForReadyRead(); QByteArray l = readAll(); //qDebug() << l; output.append(l); } output.chop(7); //remove (gdb) prompt if (output.contains("Traceback") || output.contains("Exception")) { qDebug() << output; QTest::qFail("Unexpected Python Exception", __FILE__, __LINE__); } return output; } QByteArray execute(const QByteArray &cmd) { write(cmd + "\n"); auto out = waitForPrompt(); qDebug() << cmd << " = " << out; return out; } }; void QtPrintersTest::testQString() { GdbProcess gdb(QStringLiteral("debuggee_qstring")); gdb.execute("break qstring.cpp:5"); gdb.execute("run"); QVERIFY(gdb.execute("print s").contains("\"test string\"")); gdb.execute("next"); QVERIFY(gdb.execute("print s").contains("\"test stringx\"")); } void QtPrintersTest::testQByteArray() { GdbProcess gdb(QStringLiteral("debuggee_qbytearray")); gdb.execute("break qbytearray.cpp:5"); gdb.execute("run"); QByteArray out = gdb.execute("print ba"); QVERIFY(out.contains("\"test byte array\"")); QVERIFY(out.contains("[0] = 116 't'")); QVERIFY(out.contains("[4] = 32 ' '")); gdb.execute("next"); QVERIFY(gdb.execute("print ba").contains("\"test byte arrayx\"")); } void QtPrintersTest::testQListContainer_data() { QTest::addColumn("container"); QTest::newRow("QList") << "QList"; QTest::newRow("QQueue") << "QQueue"; QTest::newRow("QVector") << "QVector"; QTest::newRow("QStack") << "QStack"; QTest::newRow("QLinkedList") << "QLinkedList"; QTest::newRow("QSet") << "QSet"; } void QtPrintersTest::testQListContainer() { QFETCH(QString, container); GdbProcess gdb(QStringLiteral("debuggee_qlistcontainer")); gdb.execute("break main"); gdb.execute("run"); gdb.execute(QStringLiteral("break 'doStuff<%1>()'").arg(container).toLocal8Bit()); gdb.execute("cont"); { // gdb.execute("break qlistcontainer.cpp:34"); gdb.execute("cont"); QByteArray out = gdb.execute("print intList"); qWarning() << "FOO" << out; QVERIFY(out.contains(QString("empty %1").arg(container).toLocal8Bit())); gdb.execute("next"); out = gdb.execute("print intList"); QVERIFY(out.contains(QString("%1").arg(container).toLocal8Bit())); if (container != QLatin1String("QSet")) { QVERIFY(out.contains("[0] = 10")); QVERIFY(out.contains("[1] = 20")); QVERIFY(!out.contains("[2] = 30")); } else { // QSet order is undefined QVERIFY(out.contains("] = 10")); QVERIFY(out.contains("] = 20")); QVERIFY(!out.contains("] = 30")); } gdb.execute("next"); out = gdb.execute("print intList"); QVERIFY(out.contains(QString("%1").arg(container).toLocal8Bit())); if (container != QLatin1String("QSet")) { QVERIFY(out.contains("[0] = 10")); QVERIFY(out.contains("[1] = 20")); QVERIFY(out.contains("[2] = 30")); } else { // QSet order is undefined QVERIFY(out.contains("] = 10")); QVERIFY(out.contains("] = 20")); QVERIFY(out.contains("] = 30")); } } { // gdb.execute("next"); QByteArray out = gdb.execute("print stringList"); QVERIFY(out.contains(QString("empty %1").arg(container).toLocal8Bit())); gdb.execute("next"); out = gdb.execute("print stringList"); QVERIFY(out.contains(QString("%1").arg(container).toLocal8Bit())); if (container != QLatin1String("QSet")) { QVERIFY(out.contains("[0] = \"a\"")); QVERIFY(out.contains("[1] = \"bc\"")); QVERIFY(!out.contains("[2] = \"d\"")); } else { // QSet order is undefined QVERIFY(out.contains("] = \"a\"")); QVERIFY(out.contains("] = \"bc\"")); QVERIFY(!out.contains("] = \"d\"")); } gdb.execute("next"); out = gdb.execute("print stringList"); QVERIFY(out.contains(QString("%1").arg(container).toLocal8Bit())); if (container != QLatin1String("QSet")) { QVERIFY(out.contains("[0] = \"a\"")); QVERIFY(out.contains("[1] = \"bc\"")); QVERIFY(out.contains("[2] = \"d\"")); } else { // QSet order is undefined QVERIFY(out.contains("] = \"a\"")); QVERIFY(out.contains("] = \"bc\"")); QVERIFY(out.contains("] = \"d\"")); } } { // gdb.execute("next"); QByteArray out = gdb.execute("print structList"); QVERIFY(out.contains(QString("empty %1").arg(container).toLocal8Bit())); gdb.execute("next"); out = gdb.execute("print structList"); QVERIFY(out.contains(QString("%1").arg(container).toLocal8Bit())); QVERIFY(out.contains("[0] = {")); QVERIFY(out.contains("a = \"a\"")); QVERIFY(out.contains("b = \"b\"")); QVERIFY(out.contains("c = 100")); QVERIFY(out.contains("d = -200")); gdb.execute("next"); out = gdb.execute("print structList"); QVERIFY(out.contains(QString("%1").arg(container).toLocal8Bit())); QVERIFY(out.contains("[1] = {")); } { // gdb.execute("next"); QByteArray out = gdb.execute("print pointerList"); QVERIFY(out.contains(QString("empty %1").arg(container).toLocal8Bit())); gdb.execute("next"); out = gdb.execute("print pointerList"); QVERIFY(out.contains(QString("%1").arg(container).toLocal8Bit())); QVERIFY(out.contains("[0] = 0x")); QVERIFY(out.contains("[1] = 0x")); QVERIFY(!out.contains("[2] = 0x")); gdb.execute("next"); out = gdb.execute("print pointerList"); QVERIFY(out.contains("[0] = 0x")); QVERIFY(out.contains("[1] = 0x")); QVERIFY(out.contains("[2] = 0x")); gdb.execute("next"); } { // > gdb.execute("next"); QByteArray out = gdb.execute("print pairList"); QVERIFY(out.contains(QString("empty %1>").arg(container).toLocal8Bit())); gdb.execute("next"); out = gdb.execute("print pairList"); QVERIFY(out.contains(QString("%1>").arg(container).toLocal8Bit())); if (container != QLatin1String("QSet")) { QVERIFY(out.contains("[0] = {\n first = 1, \n second = 2\n }")); QVERIFY(out.contains("[1] = {\n first = 2, \n second = 3\n }")); } else { // order is undefined in QSet QVERIFY(out.contains("] = {\n first = 1, \n second = 2\n }")); QVERIFY(out.contains("] = {\n first = 2, \n second = 3\n }")); } QVERIFY(!out.contains("[2] = ")); gdb.execute("next"); out = gdb.execute("print pairList"); if (container != QLatin1String("QSet")) { QVERIFY(out.contains("[0] = {\n first = 1, \n second = 2\n }")); QVERIFY(out.contains("[1] = {\n first = 2, \n second = 3\n }")); QVERIFY(out.contains("[2] = {\n first = 4, \n second = 5\n }")); } else { // order is undefined in QSet QVERIFY(out.contains("] = {\n first = 1, \n second = 2\n }")); QVERIFY(out.contains("] = {\n first = 2, \n second = 3\n }")); QVERIFY(out.contains("] = {\n first = 4, \n second = 5\n }")); } } } void QtPrintersTest::testQMapInt() { GdbProcess gdb(QStringLiteral("debuggee_qmapint")); gdb.execute("break qmapint.cpp:7"); gdb.execute("run"); QByteArray out = gdb.execute("print m"); QVERIFY(out.contains("QMap")); QVERIFY(out.contains("[10] = 100")); QVERIFY(out.contains("[20] = 200")); gdb.execute("next"); out = gdb.execute("print m"); QVERIFY(out.contains("[30] = 300")); } void QtPrintersTest::testQMapString() { GdbProcess gdb(QStringLiteral("debuggee_qmapstring")); gdb.execute("break qmapstring.cpp:8"); gdb.execute("run"); QByteArray out = gdb.execute("print m"); QVERIFY(out.contains("QMap")); QVERIFY(out.contains("[\"10\"] = \"100\"")); QVERIFY(out.contains("[\"20\"] = \"200\"")); gdb.execute("next"); out = gdb.execute("print m"); QVERIFY(out.contains("[\"30\"] = \"300\"")); } void QtPrintersTest::testQMapStringBool() { GdbProcess gdb(QStringLiteral("debuggee_qmapstringbool")); gdb.execute("break qmapstringbool.cpp:8"); gdb.execute("run"); QByteArray out = gdb.execute("print m"); QVERIFY(out.contains("QMap")); QVERIFY(out.contains("[\"10\"] = true")); QVERIFY(out.contains("[\"20\"] = false")); gdb.execute("next"); out = gdb.execute("print m"); QVERIFY(out.contains("[\"30\"] = true")); } void QtPrintersTest::testQDate() { GdbProcess gdb(QStringLiteral("debuggee_qdate")); gdb.execute("break qdate.cpp:6"); gdb.execute("run"); QByteArray out = gdb.execute("print d"); QVERIFY(out.contains("2010-01-20")); } void QtPrintersTest::testQTime() { GdbProcess gdb(QStringLiteral("debuggee_qtime")); gdb.execute("break qtime.cpp:6"); gdb.execute("run"); QByteArray out = gdb.execute("print t"); QVERIFY(out.contains("15:30:10.123")); } void QtPrintersTest::testQDateTime() { GdbProcess gdb(QStringLiteral("debuggee_qdatetime")); gdb.execute("break qdatetime.cpp:5"); gdb.execute("run"); QByteArray out = gdb.execute("print dt"); QVERIFY(out.contains("Wed Jan 20 15:31:13 2010")); } void QtPrintersTest::testQUrl() { GdbProcess gdb(QStringLiteral("debuggee_qurl")); gdb.execute("break qurl.cpp:5"); gdb.execute("run"); QByteArray out = gdb.execute("print u"); QVERIFY(out.contains("http://user@www.kdevelop.org:12345/foo?xyz=bar#asdf")); } void QtPrintersTest::testQHashInt() { GdbProcess gdb(QStringLiteral("debuggee_qhashint")); gdb.execute("break qhashint.cpp:7"); gdb.execute("run"); QByteArray out = gdb.execute("print h"); QVERIFY(out.contains("[10] = 100")); QVERIFY(out.contains("[20] = 200")); gdb.execute("next"); out = gdb.execute("print h"); QVERIFY(out.contains("[30] = 300")); } void QtPrintersTest::testQHashString() { GdbProcess gdb(QStringLiteral("debuggee_qhashstring")); gdb.execute("break qhashstring.cpp:8"); gdb.execute("run"); QByteArray out = gdb.execute("print h"); QVERIFY(out.contains("[\"10\"] = \"100\"")); QVERIFY(out.contains("[\"20\"] = \"200\"")); gdb.execute("next"); out = gdb.execute("print h"); QVERIFY(out.contains("[\"30\"] = \"300\"")); } void QtPrintersTest::testQSetInt() { GdbProcess gdb(QStringLiteral("debuggee_qsetint")); gdb.execute("break qsetint.cpp:7"); gdb.execute("run"); QByteArray out = gdb.execute("print s"); QVERIFY(out.contains("] = 10")); QVERIFY(out.contains("] = 20")); gdb.execute("next"); out = gdb.execute("print s"); QVERIFY(out.contains("] = 30")); } void QtPrintersTest::testQSetString() { GdbProcess gdb(QStringLiteral("debuggee_qsetstring")); gdb.execute("break qsetstring.cpp:8"); gdb.execute("run"); QByteArray out = gdb.execute("print s"); QVERIFY(out.contains("] = \"10\"")); QVERIFY(out.contains("] = \"20\"")); gdb.execute("next"); out = gdb.execute("print s"); QVERIFY(out.contains("] = \"30\"")); } void QtPrintersTest::testQChar() { GdbProcess gdb(QStringLiteral("debuggee_qchar")); gdb.execute("break qchar.cpp:5"); gdb.execute("run"); QVERIFY(gdb.execute("print c").contains("\"k\"")); } void QtPrintersTest::testQListPOD() { GdbProcess gdb(QStringLiteral("debuggee_qlistpod")); gdb.execute("break qlistpod.cpp:31"); gdb.execute("run"); QVERIFY(gdb.execute("print b").contains("false")); QVERIFY(gdb.execute("print c").contains("50")); QVERIFY(gdb.execute("print uc").contains("50")); QVERIFY(gdb.execute("print s").contains("50")); QVERIFY(gdb.execute("print us").contains("50")); QVERIFY(gdb.execute("print i").contains("50")); QVERIFY(gdb.execute("print ui").contains("50")); QVERIFY(gdb.execute("print l").contains("50")); QVERIFY(gdb.execute("print ul").contains("50")); QVERIFY(gdb.execute("print i64").contains("50")); QVERIFY(gdb.execute("print ui64").contains("50")); QVERIFY(gdb.execute("print f").contains("50")); QVERIFY(gdb.execute("print d").contains("50")); } void QtPrintersTest::testQUuid() { GdbProcess gdb(QStringLiteral("debuggee_quuid")); gdb.execute("break quuid.cpp:4"); gdb.execute("run"); QByteArray data = gdb.execute("print id"); QVERIFY(data.contains("{9ec3b70b-d105-42bf-b3b4-656e44d2e223}")); } void QtPrintersTest::testKTextEditorTypes() { GdbProcess gdb(QStringLiteral("debuggee_ktexteditortypes")); gdb.execute("break ktexteditortypes.cpp:9"); gdb.execute("run"); QByteArray data = gdb.execute("print cursor"); QCOMPARE(data, QByteArray("$1 = [1, 1]")); data = gdb.execute("print range"); QCOMPARE(data, QByteArray("$2 = [(1, 1) -> (2, 2)]")); } void QtPrintersTest::testKDevelopTypes() { GdbProcess gdb(QStringLiteral("debuggee_kdeveloptypes")); gdb.execute("break kdeveloptypes.cpp:12"); gdb.execute("run"); QVERIFY(gdb.execute("print path1").contains("(\"tmp\", \"foo\")")); QVERIFY(gdb.execute("print path2").contains("(\"http://www.test.com\", \"tmp\", \"asdf.txt\")")); } QTEST_MAIN(QtPrintersTest) diff --git a/debuggers/gdb/unittests/test_gdbprinters.h b/plugins/gdb/unittests/test_gdbprinters.h similarity index 100% rename from debuggers/gdb/unittests/test_gdbprinters.h rename to plugins/gdb/unittests/test_gdbprinters.h diff --git a/debuggers/gdb/variablecontroller.cpp b/plugins/gdb/variablecontroller.cpp similarity index 100% rename from debuggers/gdb/variablecontroller.cpp rename to plugins/gdb/variablecontroller.cpp diff --git a/debuggers/gdb/variablecontroller.h b/plugins/gdb/variablecontroller.h similarity index 100% rename from debuggers/gdb/variablecontroller.h rename to plugins/gdb/variablecontroller.h diff --git a/kdevplatform/plugins/genericprojectmanager/CMakeLists.txt b/plugins/genericprojectmanager/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/genericprojectmanager/CMakeLists.txt rename to plugins/genericprojectmanager/CMakeLists.txt diff --git a/kdevplatform/plugins/genericprojectmanager/Messages.sh b/plugins/genericprojectmanager/Messages.sh similarity index 100% rename from kdevplatform/plugins/genericprojectmanager/Messages.sh rename to plugins/genericprojectmanager/Messages.sh diff --git a/kdevplatform/plugins/genericprojectmanager/genericmanager.cpp b/plugins/genericprojectmanager/genericmanager.cpp similarity index 100% rename from kdevplatform/plugins/genericprojectmanager/genericmanager.cpp rename to plugins/genericprojectmanager/genericmanager.cpp diff --git a/kdevplatform/plugins/genericprojectmanager/genericmanager.h b/plugins/genericprojectmanager/genericmanager.h similarity index 100% rename from kdevplatform/plugins/genericprojectmanager/genericmanager.h rename to plugins/genericprojectmanager/genericmanager.h diff --git a/kdevplatform/plugins/genericprojectmanager/kdevgenericmanager.json b/plugins/genericprojectmanager/kdevgenericmanager.json similarity index 100% rename from kdevplatform/plugins/genericprojectmanager/kdevgenericmanager.json rename to plugins/genericprojectmanager/kdevgenericmanager.json diff --git a/kdevplatform/plugins/genericprojectmanager/tests/CMakeLists.txt b/plugins/genericprojectmanager/tests/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/genericprojectmanager/tests/CMakeLists.txt rename to plugins/genericprojectmanager/tests/CMakeLists.txt diff --git a/kdevplatform/plugins/genericprojectmanager/tests/stresstest.php b/plugins/genericprojectmanager/tests/stresstest.php similarity index 100% rename from kdevplatform/plugins/genericprojectmanager/tests/stresstest.php rename to plugins/genericprojectmanager/tests/stresstest.php diff --git a/kdevplatform/plugins/genericprojectmanager/tests/test_projectload.cpp b/plugins/genericprojectmanager/tests/test_projectload.cpp similarity index 100% rename from kdevplatform/plugins/genericprojectmanager/tests/test_projectload.cpp rename to plugins/genericprojectmanager/tests/test_projectload.cpp diff --git a/kdevplatform/plugins/genericprojectmanager/tests/test_projectload.h b/plugins/genericprojectmanager/tests/test_projectload.h similarity index 100% rename from kdevplatform/plugins/genericprojectmanager/tests/test_projectload.h rename to plugins/genericprojectmanager/tests/test_projectload.h diff --git a/providers/ghprovider/CMakeLists.txt b/plugins/ghprovider/CMakeLists.txt similarity index 100% rename from providers/ghprovider/CMakeLists.txt rename to plugins/ghprovider/CMakeLists.txt diff --git a/providers/ghprovider/Messages.sh b/plugins/ghprovider/Messages.sh similarity index 100% rename from providers/ghprovider/Messages.sh rename to plugins/ghprovider/Messages.sh diff --git a/providers/ghprovider/README.md b/plugins/ghprovider/README.md similarity index 100% rename from providers/ghprovider/README.md rename to plugins/ghprovider/README.md diff --git a/providers/ghprovider/ghaccount.cpp b/plugins/ghprovider/ghaccount.cpp similarity index 100% rename from providers/ghprovider/ghaccount.cpp rename to plugins/ghprovider/ghaccount.cpp diff --git a/providers/ghprovider/ghaccount.h b/plugins/ghprovider/ghaccount.h similarity index 100% rename from providers/ghprovider/ghaccount.h rename to plugins/ghprovider/ghaccount.h diff --git a/providers/ghprovider/ghdialog.cpp b/plugins/ghprovider/ghdialog.cpp similarity index 100% rename from providers/ghprovider/ghdialog.cpp rename to plugins/ghprovider/ghdialog.cpp diff --git a/providers/ghprovider/ghdialog.h b/plugins/ghprovider/ghdialog.h similarity index 100% rename from providers/ghprovider/ghdialog.h rename to plugins/ghprovider/ghdialog.h diff --git a/providers/ghprovider/ghlineedit.cpp b/plugins/ghprovider/ghlineedit.cpp similarity index 100% rename from providers/ghprovider/ghlineedit.cpp rename to plugins/ghprovider/ghlineedit.cpp diff --git a/providers/ghprovider/ghlineedit.h b/plugins/ghprovider/ghlineedit.h similarity index 100% rename from providers/ghprovider/ghlineedit.h rename to plugins/ghprovider/ghlineedit.h diff --git a/providers/ghprovider/ghprovidermodel.cpp b/plugins/ghprovider/ghprovidermodel.cpp similarity index 100% rename from providers/ghprovider/ghprovidermodel.cpp rename to plugins/ghprovider/ghprovidermodel.cpp diff --git a/providers/ghprovider/ghprovidermodel.h b/plugins/ghprovider/ghprovidermodel.h similarity index 100% rename from providers/ghprovider/ghprovidermodel.h rename to plugins/ghprovider/ghprovidermodel.h diff --git a/providers/ghprovider/ghproviderplugin.cpp b/plugins/ghprovider/ghproviderplugin.cpp similarity index 100% rename from providers/ghprovider/ghproviderplugin.cpp rename to plugins/ghprovider/ghproviderplugin.cpp diff --git a/providers/ghprovider/ghproviderplugin.h b/plugins/ghprovider/ghproviderplugin.h similarity index 100% rename from providers/ghprovider/ghproviderplugin.h rename to plugins/ghprovider/ghproviderplugin.h diff --git a/providers/ghprovider/ghproviderwidget.cpp b/plugins/ghprovider/ghproviderwidget.cpp similarity index 100% rename from providers/ghprovider/ghproviderwidget.cpp rename to plugins/ghprovider/ghproviderwidget.cpp diff --git a/providers/ghprovider/ghproviderwidget.h b/plugins/ghprovider/ghproviderwidget.h similarity index 100% rename from providers/ghprovider/ghproviderwidget.h rename to plugins/ghprovider/ghproviderwidget.h diff --git a/providers/ghprovider/ghresource.cpp b/plugins/ghprovider/ghresource.cpp similarity index 100% rename from providers/ghprovider/ghresource.cpp rename to plugins/ghprovider/ghresource.cpp diff --git a/providers/ghprovider/ghresource.h b/plugins/ghprovider/ghresource.h similarity index 100% rename from providers/ghprovider/ghresource.h rename to plugins/ghprovider/ghresource.h diff --git a/providers/ghprovider/icons/16-apps-github-forked.png b/plugins/ghprovider/icons/16-apps-github-forked.png similarity index 100% rename from providers/ghprovider/icons/16-apps-github-forked.png rename to plugins/ghprovider/icons/16-apps-github-forked.png diff --git a/providers/ghprovider/icons/16-apps-github-private.png b/plugins/ghprovider/icons/16-apps-github-private.png similarity index 100% rename from providers/ghprovider/icons/16-apps-github-private.png rename to plugins/ghprovider/icons/16-apps-github-private.png diff --git a/providers/ghprovider/icons/16-apps-github-repo.png b/plugins/ghprovider/icons/16-apps-github-repo.png similarity index 100% rename from providers/ghprovider/icons/16-apps-github-repo.png rename to plugins/ghprovider/icons/16-apps-github-repo.png diff --git a/providers/ghprovider/icons/16-apps-kdevgh.png b/plugins/ghprovider/icons/16-apps-kdevgh.png similarity index 100% rename from providers/ghprovider/icons/16-apps-kdevgh.png rename to plugins/ghprovider/icons/16-apps-kdevgh.png diff --git a/providers/ghprovider/icons/32-apps-kdevgh.png b/plugins/ghprovider/icons/32-apps-kdevgh.png similarity index 100% rename from providers/ghprovider/icons/32-apps-kdevgh.png rename to plugins/ghprovider/icons/32-apps-kdevgh.png diff --git a/providers/ghprovider/icons/CMakeLists.txt b/plugins/ghprovider/icons/CMakeLists.txt similarity index 100% rename from providers/ghprovider/icons/CMakeLists.txt rename to plugins/ghprovider/icons/CMakeLists.txt diff --git a/providers/ghprovider/kdevghprovider.json b/plugins/ghprovider/kdevghprovider.json similarity index 100% rename from providers/ghprovider/kdevghprovider.json rename to plugins/ghprovider/kdevghprovider.json diff --git a/kdevplatform/plugins/git/CMakeLists.txt b/plugins/git/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/git/CMakeLists.txt rename to plugins/git/CMakeLists.txt diff --git a/kdevplatform/plugins/git/Messages.sh b/plugins/git/Messages.sh similarity index 100% rename from kdevplatform/plugins/git/Messages.sh rename to plugins/git/Messages.sh diff --git a/kdevplatform/plugins/git/git.kdev4 b/plugins/git/git.kdev4 similarity index 100% rename from kdevplatform/plugins/git/git.kdev4 rename to plugins/git/git.kdev4 diff --git a/kdevplatform/plugins/git/gitclonejob.cpp b/plugins/git/gitclonejob.cpp similarity index 100% rename from kdevplatform/plugins/git/gitclonejob.cpp rename to plugins/git/gitclonejob.cpp diff --git a/kdevplatform/plugins/git/gitclonejob.h b/plugins/git/gitclonejob.h similarity index 100% rename from kdevplatform/plugins/git/gitclonejob.h rename to plugins/git/gitclonejob.h diff --git a/kdevplatform/plugins/git/gitjob.cpp b/plugins/git/gitjob.cpp similarity index 100% rename from kdevplatform/plugins/git/gitjob.cpp rename to plugins/git/gitjob.cpp diff --git a/kdevplatform/plugins/git/gitjob.h b/plugins/git/gitjob.h similarity index 100% rename from kdevplatform/plugins/git/gitjob.h rename to plugins/git/gitjob.h diff --git a/kdevplatform/plugins/git/gitmessagehighlighter.cpp b/plugins/git/gitmessagehighlighter.cpp similarity index 100% rename from kdevplatform/plugins/git/gitmessagehighlighter.cpp rename to plugins/git/gitmessagehighlighter.cpp diff --git a/kdevplatform/plugins/git/gitmessagehighlighter.h b/plugins/git/gitmessagehighlighter.h similarity index 100% rename from kdevplatform/plugins/git/gitmessagehighlighter.h rename to plugins/git/gitmessagehighlighter.h diff --git a/kdevplatform/plugins/git/gitnameemaildialog.cpp b/plugins/git/gitnameemaildialog.cpp similarity index 100% rename from kdevplatform/plugins/git/gitnameemaildialog.cpp rename to plugins/git/gitnameemaildialog.cpp diff --git a/kdevplatform/plugins/git/gitnameemaildialog.h b/plugins/git/gitnameemaildialog.h similarity index 100% rename from kdevplatform/plugins/git/gitnameemaildialog.h rename to plugins/git/gitnameemaildialog.h diff --git a/kdevplatform/plugins/git/gitnameemaildialog.ui b/plugins/git/gitnameemaildialog.ui similarity index 100% rename from kdevplatform/plugins/git/gitnameemaildialog.ui rename to plugins/git/gitnameemaildialog.ui diff --git a/kdevplatform/plugins/git/gitplugin.cpp b/plugins/git/gitplugin.cpp similarity index 100% rename from kdevplatform/plugins/git/gitplugin.cpp rename to plugins/git/gitplugin.cpp diff --git a/kdevplatform/plugins/git/gitplugin.h b/plugins/git/gitplugin.h similarity index 100% rename from kdevplatform/plugins/git/gitplugin.h rename to plugins/git/gitplugin.h diff --git a/kdevplatform/plugins/git/gitplugincheckinrepositoryjob.cpp b/plugins/git/gitplugincheckinrepositoryjob.cpp similarity index 100% rename from kdevplatform/plugins/git/gitplugincheckinrepositoryjob.cpp rename to plugins/git/gitplugincheckinrepositoryjob.cpp diff --git a/kdevplatform/plugins/git/gitplugincheckinrepositoryjob.h b/plugins/git/gitplugincheckinrepositoryjob.h similarity index 100% rename from kdevplatform/plugins/git/gitplugincheckinrepositoryjob.h rename to plugins/git/gitplugincheckinrepositoryjob.h diff --git a/kdevplatform/plugins/git/gitpluginmetadata.cpp b/plugins/git/gitpluginmetadata.cpp similarity index 100% rename from kdevplatform/plugins/git/gitpluginmetadata.cpp rename to plugins/git/gitpluginmetadata.cpp diff --git a/kdevplatform/plugins/git/icons/CMakeLists.txt b/plugins/git/icons/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/git/icons/CMakeLists.txt rename to plugins/git/icons/CMakeLists.txt diff --git a/kdevplatform/plugins/git/icons/sc-apps-git.svg b/plugins/git/icons/sc-apps-git.svg similarity index 100% rename from kdevplatform/plugins/git/icons/sc-apps-git.svg rename to plugins/git/icons/sc-apps-git.svg diff --git a/kdevplatform/plugins/git/kdevgit.json b/plugins/git/kdevgit.json similarity index 100% rename from kdevplatform/plugins/git/kdevgit.json rename to plugins/git/kdevgit.json diff --git a/kdevplatform/plugins/git/stashmanagerdialog.cpp b/plugins/git/stashmanagerdialog.cpp similarity index 100% rename from kdevplatform/plugins/git/stashmanagerdialog.cpp rename to plugins/git/stashmanagerdialog.cpp diff --git a/kdevplatform/plugins/git/stashmanagerdialog.h b/plugins/git/stashmanagerdialog.h similarity index 100% rename from kdevplatform/plugins/git/stashmanagerdialog.h rename to plugins/git/stashmanagerdialog.h diff --git a/kdevplatform/plugins/git/stashmanagerdialog.ui b/plugins/git/stashmanagerdialog.ui similarity index 100% rename from kdevplatform/plugins/git/stashmanagerdialog.ui rename to plugins/git/stashmanagerdialog.ui diff --git a/kdevplatform/plugins/git/stashpatchsource.cpp b/plugins/git/stashpatchsource.cpp similarity index 100% rename from kdevplatform/plugins/git/stashpatchsource.cpp rename to plugins/git/stashpatchsource.cpp diff --git a/kdevplatform/plugins/git/stashpatchsource.h b/plugins/git/stashpatchsource.h similarity index 100% rename from kdevplatform/plugins/git/stashpatchsource.h rename to plugins/git/stashpatchsource.h diff --git a/kdevplatform/plugins/git/tests/CMakeLists.txt b/plugins/git/tests/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/git/tests/CMakeLists.txt rename to plugins/git/tests/CMakeLists.txt diff --git a/kdevplatform/plugins/git/tests/test_git.cpp b/plugins/git/tests/test_git.cpp similarity index 100% rename from kdevplatform/plugins/git/tests/test_git.cpp rename to plugins/git/tests/test_git.cpp diff --git a/kdevplatform/plugins/git/tests/test_git.h b/plugins/git/tests/test_git.h similarity index 100% rename from kdevplatform/plugins/git/tests/test_git.h rename to plugins/git/tests/test_git.h diff --git a/kdevplatform/plugins/grepview/CMakeLists.txt b/plugins/grepview/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/grepview/CMakeLists.txt rename to plugins/grepview/CMakeLists.txt diff --git a/kdevplatform/plugins/grepview/Messages.sh b/plugins/grepview/Messages.sh similarity index 100% rename from kdevplatform/plugins/grepview/Messages.sh rename to plugins/grepview/Messages.sh diff --git a/kdevplatform/plugins/grepview/README.dox b/plugins/grepview/README.dox similarity index 100% rename from kdevplatform/plugins/grepview/README.dox rename to plugins/grepview/README.dox diff --git a/kdevplatform/plugins/grepview/grepdialog.cpp b/plugins/grepview/grepdialog.cpp similarity index 100% rename from kdevplatform/plugins/grepview/grepdialog.cpp rename to plugins/grepview/grepdialog.cpp diff --git a/kdevplatform/plugins/grepview/grepdialog.h b/plugins/grepview/grepdialog.h similarity index 100% rename from kdevplatform/plugins/grepview/grepdialog.h rename to plugins/grepview/grepdialog.h diff --git a/kdevplatform/plugins/grepview/grepfindthread.cpp b/plugins/grepview/grepfindthread.cpp similarity index 100% rename from kdevplatform/plugins/grepview/grepfindthread.cpp rename to plugins/grepview/grepfindthread.cpp diff --git a/kdevplatform/plugins/grepview/grepfindthread.h b/plugins/grepview/grepfindthread.h similarity index 100% rename from kdevplatform/plugins/grepview/grepfindthread.h rename to plugins/grepview/grepfindthread.h diff --git a/kdevplatform/plugins/grepview/grepjob.cpp b/plugins/grepview/grepjob.cpp similarity index 100% rename from kdevplatform/plugins/grepview/grepjob.cpp rename to plugins/grepview/grepjob.cpp diff --git a/kdevplatform/plugins/grepview/grepjob.h b/plugins/grepview/grepjob.h similarity index 100% rename from kdevplatform/plugins/grepview/grepjob.h rename to plugins/grepview/grepjob.h diff --git a/kdevplatform/plugins/grepview/grepoutputdelegate.cpp b/plugins/grepview/grepoutputdelegate.cpp similarity index 100% rename from kdevplatform/plugins/grepview/grepoutputdelegate.cpp rename to plugins/grepview/grepoutputdelegate.cpp diff --git a/kdevplatform/plugins/grepview/grepoutputdelegate.h b/plugins/grepview/grepoutputdelegate.h similarity index 100% rename from kdevplatform/plugins/grepview/grepoutputdelegate.h rename to plugins/grepview/grepoutputdelegate.h diff --git a/kdevplatform/plugins/grepview/grepoutputmodel.cpp b/plugins/grepview/grepoutputmodel.cpp similarity index 100% rename from kdevplatform/plugins/grepview/grepoutputmodel.cpp rename to plugins/grepview/grepoutputmodel.cpp diff --git a/kdevplatform/plugins/grepview/grepoutputmodel.h b/plugins/grepview/grepoutputmodel.h similarity index 100% rename from kdevplatform/plugins/grepview/grepoutputmodel.h rename to plugins/grepview/grepoutputmodel.h diff --git a/kdevplatform/plugins/grepview/grepoutputview.cpp b/plugins/grepview/grepoutputview.cpp similarity index 100% rename from kdevplatform/plugins/grepview/grepoutputview.cpp rename to plugins/grepview/grepoutputview.cpp diff --git a/kdevplatform/plugins/grepview/grepoutputview.h b/plugins/grepview/grepoutputview.h similarity index 100% rename from kdevplatform/plugins/grepview/grepoutputview.h rename to plugins/grepview/grepoutputview.h diff --git a/kdevplatform/plugins/grepview/grepoutputview.ui b/plugins/grepview/grepoutputview.ui similarity index 100% rename from kdevplatform/plugins/grepview/grepoutputview.ui rename to plugins/grepview/grepoutputview.ui diff --git a/kdevplatform/plugins/grepview/greputil.cpp b/plugins/grepview/greputil.cpp similarity index 100% rename from kdevplatform/plugins/grepview/greputil.cpp rename to plugins/grepview/greputil.cpp diff --git a/kdevplatform/plugins/grepview/greputil.h b/plugins/grepview/greputil.h similarity index 100% rename from kdevplatform/plugins/grepview/greputil.h rename to plugins/grepview/greputil.h diff --git a/kdevplatform/plugins/grepview/grepviewplugin.cpp b/plugins/grepview/grepviewplugin.cpp similarity index 100% rename from kdevplatform/plugins/grepview/grepviewplugin.cpp rename to plugins/grepview/grepviewplugin.cpp diff --git a/kdevplatform/plugins/grepview/grepviewplugin.h b/plugins/grepview/grepviewplugin.h similarity index 100% rename from kdevplatform/plugins/grepview/grepviewplugin.h rename to plugins/grepview/grepviewplugin.h diff --git a/kdevplatform/plugins/grepview/grepviewpluginmetadata.cpp b/plugins/grepview/grepviewpluginmetadata.cpp similarity index 100% rename from kdevplatform/plugins/grepview/grepviewpluginmetadata.cpp rename to plugins/grepview/grepviewpluginmetadata.cpp diff --git a/kdevplatform/plugins/grepview/grepwidget.ui b/plugins/grepview/grepwidget.ui similarity index 100% rename from kdevplatform/plugins/grepview/grepwidget.ui rename to plugins/grepview/grepwidget.ui diff --git a/kdevplatform/plugins/grepview/kdevgrepview.json b/plugins/grepview/kdevgrepview.json similarity index 100% rename from kdevplatform/plugins/grepview/kdevgrepview.json rename to plugins/grepview/kdevgrepview.json diff --git a/kdevplatform/plugins/grepview/kdevgrepview.qrc b/plugins/grepview/kdevgrepview.qrc similarity index 100% rename from kdevplatform/plugins/grepview/kdevgrepview.qrc rename to plugins/grepview/kdevgrepview.qrc diff --git a/kdevplatform/plugins/grepview/kdevgrepview.rc b/plugins/grepview/kdevgrepview.rc similarity index 100% rename from kdevplatform/plugins/grepview/kdevgrepview.rc rename to plugins/grepview/kdevgrepview.rc diff --git a/kdevplatform/plugins/grepview/tests/CMakeLists.txt b/plugins/grepview/tests/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/grepview/tests/CMakeLists.txt rename to plugins/grepview/tests/CMakeLists.txt diff --git a/kdevplatform/plugins/grepview/tests/test_findreplace.cpp b/plugins/grepview/tests/test_findreplace.cpp similarity index 100% rename from kdevplatform/plugins/grepview/tests/test_findreplace.cpp rename to plugins/grepview/tests/test_findreplace.cpp diff --git a/kdevplatform/plugins/grepview/tests/test_findreplace.h b/plugins/grepview/tests/test_findreplace.h similarity index 100% rename from kdevplatform/plugins/grepview/tests/test_findreplace.h rename to plugins/grepview/tests/test_findreplace.h diff --git a/analyzers/heaptrack/CMakeLists.txt b/plugins/heaptrack/CMakeLists.txt similarity index 100% rename from analyzers/heaptrack/CMakeLists.txt rename to plugins/heaptrack/CMakeLists.txt diff --git a/analyzers/heaptrack/config/globalconfigpage.cpp b/plugins/heaptrack/config/globalconfigpage.cpp similarity index 100% rename from analyzers/heaptrack/config/globalconfigpage.cpp rename to plugins/heaptrack/config/globalconfigpage.cpp diff --git a/analyzers/heaptrack/config/globalconfigpage.h b/plugins/heaptrack/config/globalconfigpage.h similarity index 100% rename from analyzers/heaptrack/config/globalconfigpage.h rename to plugins/heaptrack/config/globalconfigpage.h diff --git a/analyzers/heaptrack/config/globalconfigpage.ui b/plugins/heaptrack/config/globalconfigpage.ui similarity index 100% rename from analyzers/heaptrack/config/globalconfigpage.ui rename to plugins/heaptrack/config/globalconfigpage.ui diff --git a/analyzers/heaptrack/config/globalsettings.kcfg b/plugins/heaptrack/config/globalsettings.kcfg similarity index 100% rename from analyzers/heaptrack/config/globalsettings.kcfg rename to plugins/heaptrack/config/globalsettings.kcfg diff --git a/analyzers/heaptrack/config/globalsettings.kcfgc b/plugins/heaptrack/config/globalsettings.kcfgc similarity index 100% rename from analyzers/heaptrack/config/globalsettings.kcfgc rename to plugins/heaptrack/config/globalsettings.kcfgc diff --git a/analyzers/heaptrack/job.cpp b/plugins/heaptrack/job.cpp similarity index 100% rename from analyzers/heaptrack/job.cpp rename to plugins/heaptrack/job.cpp diff --git a/analyzers/heaptrack/job.h b/plugins/heaptrack/job.h similarity index 100% rename from analyzers/heaptrack/job.h rename to plugins/heaptrack/job.h diff --git a/analyzers/heaptrack/kdevheaptrack.json b/plugins/heaptrack/kdevheaptrack.json similarity index 100% rename from analyzers/heaptrack/kdevheaptrack.json rename to plugins/heaptrack/kdevheaptrack.json diff --git a/analyzers/heaptrack/kdevheaptrack.qrc b/plugins/heaptrack/kdevheaptrack.qrc similarity index 100% rename from analyzers/heaptrack/kdevheaptrack.qrc rename to plugins/heaptrack/kdevheaptrack.qrc diff --git a/analyzers/heaptrack/kdevheaptrack.rc b/plugins/heaptrack/kdevheaptrack.rc similarity index 100% rename from analyzers/heaptrack/kdevheaptrack.rc rename to plugins/heaptrack/kdevheaptrack.rc diff --git a/analyzers/heaptrack/plugin.cpp b/plugins/heaptrack/plugin.cpp similarity index 98% rename from analyzers/heaptrack/plugin.cpp rename to plugins/heaptrack/plugin.cpp index 8754427349..c6a494282e 100644 --- a/analyzers/heaptrack/plugin.cpp +++ b/plugins/heaptrack/plugin.cpp @@ -1,162 +1,162 @@ /* This file is part of KDevelop Copyright 2017 Anton Anikin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "plugin.h" #include "config/globalconfigpage.h" #include "debug.h" #include "job.h" #include "utils.h" #include "visualizer.h" #include #if KF5SysGuard_FOUND -#include "debuggers/common/dialogs/processselection.h" +#include "dialogs/processselection.h" #include #endif #include #include #include #include #include #include #include #include #include #include K_PLUGIN_FACTORY_WITH_JSON(HeaptrackFactory, "kdevheaptrack.json", registerPlugin();) namespace Heaptrack { Plugin::Plugin(QObject* parent, const QVariantList&) : IPlugin(QStringLiteral("kdevheaptrack"), parent) { setXMLFile(QStringLiteral("kdevheaptrack.rc")); m_launchAction = new QAction( QIcon::fromTheme(QStringLiteral("office-chart-area")), i18n("Run Heaptrack Analysis"), this); connect(m_launchAction, &QAction::triggered, this, &Plugin::launchHeaptrack); actionCollection()->addAction(QStringLiteral("heaptrack_launch"), m_launchAction); #if KF5SysGuard_FOUND m_attachAction = new QAction( QIcon::fromTheme(QStringLiteral("office-chart-area")), i18n("Attach to Process with Heaptrack"), this); connect(m_attachAction, &QAction::triggered, this, &Plugin::attachHeaptrack); actionCollection()->addAction(QStringLiteral("heaptrack_attach"), m_attachAction); #endif } Plugin::~Plugin() { } void Plugin::launchHeaptrack() { auto runController = KDevelop::Core::self()->runControllerInternal(); if (runController->launchConfigurations().isEmpty()) { runController->showConfigurationDialog(); } auto defaultLaunch = runController->defaultLaunch(); if (!defaultLaunch) { return; } auto pluginController = core()->self()->pluginController(); auto iface = pluginController->pluginForExtension(QStringLiteral("org.kdevelop.IExecutePlugin"))->extension(); Q_ASSERT(iface); auto heaptrackJob = new Job(defaultLaunch); connect(heaptrackJob, &Job::finished, this, &Plugin::jobFinished); QList jobList; if (KJob* depJob = iface->dependencyJob(defaultLaunch)) { jobList += depJob; } jobList += heaptrackJob; auto ecJob = new KDevelop::ExecuteCompositeJob(runController, jobList); ecJob->setObjectName(heaptrackJob->statusName()); runController->registerJob(ecJob); m_launchAction->setEnabled(false); } void Plugin::attachHeaptrack() { #if KF5SysGuard_FOUND QPointer dlg = new KDevMI::ProcessSelectionDialog(activeMainWindow()); if (!dlg->exec() || !dlg->pidSelected()) { delete dlg; return; } auto heaptrackJob = new Job(dlg->pidSelected()); delete dlg; connect(heaptrackJob, &Job::finished, this, &Plugin::jobFinished); heaptrackJob->setObjectName(heaptrackJob->statusName()); core()->runController()->registerJob(heaptrackJob); m_launchAction->setEnabled(false); #endif } void Plugin::jobFinished(KJob* kjob) { auto job = static_cast(kjob); Q_ASSERT(job); if (job->status() == KDevelop::OutputExecuteJob::JobStatus::JobSucceeded) { auto visualizer = new Visualizer(job->resultsFile(), this); visualizer->start(); } else { QFile::remove(job->resultsFile()); } m_launchAction->setEnabled(true); } int Plugin::configPages() const { return 1; } KDevelop::ConfigPage* Plugin::configPage(int number, QWidget* parent) { if (number) { return nullptr; } return new GlobalConfigPage(this, parent); } } #include "plugin.moc" diff --git a/analyzers/heaptrack/plugin.h b/plugins/heaptrack/plugin.h similarity index 100% rename from analyzers/heaptrack/plugin.h rename to plugins/heaptrack/plugin.h diff --git a/analyzers/heaptrack/utils.cpp b/plugins/heaptrack/utils.cpp similarity index 100% rename from analyzers/heaptrack/utils.cpp rename to plugins/heaptrack/utils.cpp diff --git a/analyzers/heaptrack/utils.h b/plugins/heaptrack/utils.h similarity index 100% rename from analyzers/heaptrack/utils.h rename to plugins/heaptrack/utils.h diff --git a/analyzers/heaptrack/visualizer.cpp b/plugins/heaptrack/visualizer.cpp similarity index 100% rename from analyzers/heaptrack/visualizer.cpp rename to plugins/heaptrack/visualizer.cpp diff --git a/analyzers/heaptrack/visualizer.h b/plugins/heaptrack/visualizer.h similarity index 100% rename from analyzers/heaptrack/visualizer.h rename to plugins/heaptrack/visualizer.h diff --git a/providers/kdeprovider/CMakeLists.txt b/plugins/kdeprovider/CMakeLists.txt similarity index 100% rename from providers/kdeprovider/CMakeLists.txt rename to plugins/kdeprovider/CMakeLists.txt diff --git a/providers/kdeprovider/Messages.sh b/plugins/kdeprovider/Messages.sh similarity index 100% rename from providers/kdeprovider/Messages.sh rename to plugins/kdeprovider/Messages.sh diff --git a/providers/kdeprovider/kdeconfig.kcfg b/plugins/kdeprovider/kdeconfig.kcfg similarity index 100% rename from providers/kdeprovider/kdeconfig.kcfg rename to plugins/kdeprovider/kdeconfig.kcfg diff --git a/providers/kdeprovider/kdeconfig.kcfgc b/plugins/kdeprovider/kdeconfig.kcfgc similarity index 100% rename from providers/kdeprovider/kdeconfig.kcfgc rename to plugins/kdeprovider/kdeconfig.kcfgc diff --git a/providers/kdeprovider/kdeconfig.ui b/plugins/kdeprovider/kdeconfig.ui similarity index 100% rename from providers/kdeprovider/kdeconfig.ui rename to plugins/kdeprovider/kdeconfig.ui diff --git a/providers/kdeprovider/kdeprojectsmodel.cpp b/plugins/kdeprovider/kdeprojectsmodel.cpp similarity index 100% rename from providers/kdeprovider/kdeprojectsmodel.cpp rename to plugins/kdeprovider/kdeprojectsmodel.cpp diff --git a/providers/kdeprovider/kdeprojectsmodel.h b/plugins/kdeprovider/kdeprojectsmodel.h similarity index 100% rename from providers/kdeprovider/kdeprojectsmodel.h rename to plugins/kdeprovider/kdeprojectsmodel.h diff --git a/providers/kdeprovider/kdeprojectsreader.cpp b/plugins/kdeprovider/kdeprojectsreader.cpp similarity index 100% rename from providers/kdeprovider/kdeprojectsreader.cpp rename to plugins/kdeprovider/kdeprojectsreader.cpp diff --git a/providers/kdeprovider/kdeprojectsreader.h b/plugins/kdeprovider/kdeprojectsreader.h similarity index 100% rename from providers/kdeprovider/kdeprojectsreader.h rename to plugins/kdeprovider/kdeprojectsreader.h diff --git a/providers/kdeprovider/kdeproviderplugin.cpp b/plugins/kdeprovider/kdeproviderplugin.cpp similarity index 100% rename from providers/kdeprovider/kdeproviderplugin.cpp rename to plugins/kdeprovider/kdeproviderplugin.cpp diff --git a/providers/kdeprovider/kdeproviderplugin.h b/plugins/kdeprovider/kdeproviderplugin.h similarity index 100% rename from providers/kdeprovider/kdeproviderplugin.h rename to plugins/kdeprovider/kdeproviderplugin.h diff --git a/providers/kdeprovider/kdeproviderwidget.cpp b/plugins/kdeprovider/kdeproviderwidget.cpp similarity index 100% rename from providers/kdeprovider/kdeproviderwidget.cpp rename to plugins/kdeprovider/kdeproviderwidget.cpp diff --git a/providers/kdeprovider/kdeproviderwidget.h b/plugins/kdeprovider/kdeproviderwidget.h similarity index 100% rename from providers/kdeprovider/kdeproviderwidget.h rename to plugins/kdeprovider/kdeproviderwidget.h diff --git a/providers/kdeprovider/kdevkdeprovider.json b/plugins/kdeprovider/kdevkdeprovider.json similarity index 100% rename from providers/kdeprovider/kdevkdeprovider.json rename to plugins/kdeprovider/kdevkdeprovider.json diff --git a/providers/kdeprovider/tests/CMakeLists.txt b/plugins/kdeprovider/tests/CMakeLists.txt similarity index 100% rename from providers/kdeprovider/tests/CMakeLists.txt rename to plugins/kdeprovider/tests/CMakeLists.txt diff --git a/providers/kdeprovider/tests/test_kdeprojectsreader.cpp b/plugins/kdeprovider/tests/test_kdeprojectsreader.cpp similarity index 100% rename from providers/kdeprovider/tests/test_kdeprojectsreader.cpp rename to plugins/kdeprovider/tests/test_kdeprojectsreader.cpp diff --git a/providers/kdeprovider/tests/test_kdeprojectsreader.h b/plugins/kdeprovider/tests/test_kdeprojectsreader.h similarity index 100% rename from providers/kdeprovider/tests/test_kdeprojectsreader.h rename to plugins/kdeprovider/tests/test_kdeprojectsreader.h diff --git a/kdevplatform/plugins/konsole/CMakeLists.txt b/plugins/konsole/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/konsole/CMakeLists.txt rename to plugins/konsole/CMakeLists.txt diff --git a/kdevplatform/plugins/konsole/Messages.sh b/plugins/konsole/Messages.sh similarity index 100% rename from kdevplatform/plugins/konsole/Messages.sh rename to plugins/konsole/Messages.sh diff --git a/kdevplatform/plugins/konsole/README.dox b/plugins/konsole/README.dox similarity index 100% rename from kdevplatform/plugins/konsole/README.dox rename to plugins/konsole/README.dox diff --git a/kdevplatform/plugins/konsole/kdevkonsoleview.cpp b/plugins/konsole/kdevkonsoleview.cpp similarity index 100% rename from kdevplatform/plugins/konsole/kdevkonsoleview.cpp rename to plugins/konsole/kdevkonsoleview.cpp diff --git a/kdevplatform/plugins/konsole/kdevkonsoleview.h b/plugins/konsole/kdevkonsoleview.h similarity index 100% rename from kdevplatform/plugins/konsole/kdevkonsoleview.h rename to plugins/konsole/kdevkonsoleview.h diff --git a/kdevplatform/plugins/konsole/kdevkonsoleview.json b/plugins/konsole/kdevkonsoleview.json similarity index 100% rename from kdevplatform/plugins/konsole/kdevkonsoleview.json rename to plugins/konsole/kdevkonsoleview.json diff --git a/kdevplatform/plugins/konsole/kdevkonsoleviewplugin.cpp b/plugins/konsole/kdevkonsoleviewplugin.cpp similarity index 100% rename from kdevplatform/plugins/konsole/kdevkonsoleviewplugin.cpp rename to plugins/konsole/kdevkonsoleviewplugin.cpp diff --git a/kdevplatform/plugins/konsole/kdevkonsoleviewplugin.h b/plugins/konsole/kdevkonsoleviewplugin.h similarity index 100% rename from kdevplatform/plugins/konsole/kdevkonsoleviewplugin.h rename to plugins/konsole/kdevkonsoleviewplugin.h diff --git a/debuggers/lldb/CMakeLists.txt b/plugins/lldb/CMakeLists.txt similarity index 100% rename from debuggers/lldb/CMakeLists.txt rename to plugins/lldb/CMakeLists.txt diff --git a/debuggers/lldb/Messages.sh b/plugins/lldb/Messages.sh similarity index 100% rename from debuggers/lldb/Messages.sh rename to plugins/lldb/Messages.sh diff --git a/debuggers/lldb/TODO.txt b/plugins/lldb/TODO.txt similarity index 100% rename from debuggers/lldb/TODO.txt rename to plugins/lldb/TODO.txt diff --git a/debuggers/lldb/controllers/breakpointcontroller.cpp b/plugins/lldb/controllers/breakpointcontroller.cpp similarity index 100% rename from debuggers/lldb/controllers/breakpointcontroller.cpp rename to plugins/lldb/controllers/breakpointcontroller.cpp diff --git a/debuggers/lldb/controllers/breakpointcontroller.h b/plugins/lldb/controllers/breakpointcontroller.h similarity index 100% rename from debuggers/lldb/controllers/breakpointcontroller.h rename to plugins/lldb/controllers/breakpointcontroller.h diff --git a/debuggers/lldb/controllers/framestackmodel.cpp b/plugins/lldb/controllers/framestackmodel.cpp similarity index 100% rename from debuggers/lldb/controllers/framestackmodel.cpp rename to plugins/lldb/controllers/framestackmodel.cpp diff --git a/debuggers/lldb/controllers/framestackmodel.h b/plugins/lldb/controllers/framestackmodel.h similarity index 100% rename from debuggers/lldb/controllers/framestackmodel.h rename to plugins/lldb/controllers/framestackmodel.h diff --git a/debuggers/lldb/controllers/variable.cpp b/plugins/lldb/controllers/variable.cpp similarity index 100% rename from debuggers/lldb/controllers/variable.cpp rename to plugins/lldb/controllers/variable.cpp diff --git a/debuggers/lldb/controllers/variable.h b/plugins/lldb/controllers/variable.h similarity index 100% rename from debuggers/lldb/controllers/variable.h rename to plugins/lldb/controllers/variable.h diff --git a/debuggers/lldb/controllers/variablecontroller.cpp b/plugins/lldb/controllers/variablecontroller.cpp similarity index 100% rename from debuggers/lldb/controllers/variablecontroller.cpp rename to plugins/lldb/controllers/variablecontroller.cpp diff --git a/debuggers/lldb/controllers/variablecontroller.h b/plugins/lldb/controllers/variablecontroller.h similarity index 100% rename from debuggers/lldb/controllers/variablecontroller.h rename to plugins/lldb/controllers/variablecontroller.h diff --git a/debuggers/lldb/debuggerplugin.cpp b/plugins/lldb/debuggerplugin.cpp similarity index 100% rename from debuggers/lldb/debuggerplugin.cpp rename to plugins/lldb/debuggerplugin.cpp diff --git a/debuggers/lldb/debuggerplugin.h b/plugins/lldb/debuggerplugin.h similarity index 100% rename from debuggers/lldb/debuggerplugin.h rename to plugins/lldb/debuggerplugin.h diff --git a/debuggers/lldb/debugsession.cpp b/plugins/lldb/debugsession.cpp similarity index 100% rename from debuggers/lldb/debugsession.cpp rename to plugins/lldb/debugsession.cpp diff --git a/debuggers/lldb/debugsession.h b/plugins/lldb/debugsession.h similarity index 100% rename from debuggers/lldb/debugsession.h rename to plugins/lldb/debugsession.h diff --git a/debuggers/lldb/formatters/CMakeLists.txt b/plugins/lldb/formatters/CMakeLists.txt similarity index 100% rename from debuggers/lldb/formatters/CMakeLists.txt rename to plugins/lldb/formatters/CMakeLists.txt diff --git a/debuggers/lldb/formatters/all.py b/plugins/lldb/formatters/all.py similarity index 100% rename from debuggers/lldb/formatters/all.py rename to plugins/lldb/formatters/all.py diff --git a/debuggers/lldb/formatters/helpers.py b/plugins/lldb/formatters/helpers.py similarity index 100% rename from debuggers/lldb/formatters/helpers.py rename to plugins/lldb/formatters/helpers.py diff --git a/debuggers/lldb/formatters/kde.py b/plugins/lldb/formatters/kde.py similarity index 100% rename from debuggers/lldb/formatters/kde.py rename to plugins/lldb/formatters/kde.py diff --git a/debuggers/lldb/formatters/qt.py b/plugins/lldb/formatters/qt.py similarity index 100% rename from debuggers/lldb/formatters/qt.py rename to plugins/lldb/formatters/qt.py diff --git a/debuggers/lldb/kdevlldb.json b/plugins/lldb/kdevlldb.json similarity index 100% rename from debuggers/lldb/kdevlldb.json rename to plugins/lldb/kdevlldb.json diff --git a/debuggers/lldb/kdevlldb.qrc b/plugins/lldb/kdevlldb.qrc similarity index 100% rename from debuggers/lldb/kdevlldb.qrc rename to plugins/lldb/kdevlldb.qrc diff --git a/debuggers/lldb/kdevlldbui.rc b/plugins/lldb/kdevlldbui.rc similarity index 100% rename from debuggers/lldb/kdevlldbui.rc rename to plugins/lldb/kdevlldbui.rc diff --git a/debuggers/lldb/lldbcommand.cpp b/plugins/lldb/lldbcommand.cpp similarity index 100% rename from debuggers/lldb/lldbcommand.cpp rename to plugins/lldb/lldbcommand.cpp diff --git a/debuggers/lldb/lldbcommand.h b/plugins/lldb/lldbcommand.h similarity index 100% rename from debuggers/lldb/lldbcommand.h rename to plugins/lldb/lldbcommand.h diff --git a/debuggers/lldb/lldbdebugger.cpp b/plugins/lldb/lldbdebugger.cpp similarity index 100% rename from debuggers/lldb/lldbdebugger.cpp rename to plugins/lldb/lldbdebugger.cpp diff --git a/debuggers/lldb/lldbdebugger.h b/plugins/lldb/lldbdebugger.h similarity index 100% rename from debuggers/lldb/lldbdebugger.h rename to plugins/lldb/lldbdebugger.h diff --git a/debuggers/lldb/lldblauncher.cpp b/plugins/lldb/lldblauncher.cpp similarity index 100% rename from debuggers/lldb/lldblauncher.cpp rename to plugins/lldb/lldblauncher.cpp diff --git a/debuggers/lldb/lldblauncher.h b/plugins/lldb/lldblauncher.h similarity index 100% rename from debuggers/lldb/lldblauncher.h rename to plugins/lldb/lldblauncher.h diff --git a/debuggers/lldb/unittests/CMakeLists.txt b/plugins/lldb/unittests/CMakeLists.txt similarity index 100% rename from debuggers/lldb/unittests/CMakeLists.txt rename to plugins/lldb/unittests/CMakeLists.txt diff --git a/debuggers/lldb/unittests/test_lldb.cpp b/plugins/lldb/unittests/test_lldb.cpp similarity index 100% rename from debuggers/lldb/unittests/test_lldb.cpp rename to plugins/lldb/unittests/test_lldb.cpp diff --git a/debuggers/lldb/unittests/test_lldb.h b/plugins/lldb/unittests/test_lldb.h similarity index 100% rename from debuggers/lldb/unittests/test_lldb.h rename to plugins/lldb/unittests/test_lldb.h diff --git a/debuggers/lldb/unittests/test_lldbformatters.cpp b/plugins/lldb/unittests/test_lldbformatters.cpp similarity index 100% rename from debuggers/lldb/unittests/test_lldbformatters.cpp rename to plugins/lldb/unittests/test_lldbformatters.cpp diff --git a/debuggers/lldb/unittests/test_lldbformatters.h b/plugins/lldb/unittests/test_lldbformatters.h similarity index 100% rename from debuggers/lldb/unittests/test_lldbformatters.h rename to plugins/lldb/unittests/test_lldbformatters.h diff --git a/debuggers/lldb/widgets/lldbconfigpage.cpp b/plugins/lldb/widgets/lldbconfigpage.cpp similarity index 100% rename from debuggers/lldb/widgets/lldbconfigpage.cpp rename to plugins/lldb/widgets/lldbconfigpage.cpp diff --git a/debuggers/lldb/widgets/lldbconfigpage.h b/plugins/lldb/widgets/lldbconfigpage.h similarity index 100% rename from debuggers/lldb/widgets/lldbconfigpage.h rename to plugins/lldb/widgets/lldbconfigpage.h diff --git a/debuggers/lldb/widgets/lldbconfigpage.ui b/plugins/lldb/widgets/lldbconfigpage.ui similarity index 100% rename from debuggers/lldb/widgets/lldbconfigpage.ui rename to plugins/lldb/widgets/lldbconfigpage.ui diff --git a/projectbuilders/makebuilder/CMakeLists.txt b/plugins/makebuilder/CMakeLists.txt similarity index 100% rename from projectbuilders/makebuilder/CMakeLists.txt rename to plugins/makebuilder/CMakeLists.txt diff --git a/projectbuilders/makebuilder/Messages.sh b/plugins/makebuilder/Messages.sh similarity index 100% rename from projectbuilders/makebuilder/Messages.sh rename to plugins/makebuilder/Messages.sh diff --git a/projectbuilders/makebuilder/imakebuilder.h b/plugins/makebuilder/imakebuilder.h similarity index 100% rename from projectbuilders/makebuilder/imakebuilder.h rename to plugins/makebuilder/imakebuilder.h diff --git a/projectbuilders/makebuilder/kdevmakebuilder.json b/plugins/makebuilder/kdevmakebuilder.json similarity index 100% rename from projectbuilders/makebuilder/kdevmakebuilder.json rename to plugins/makebuilder/kdevmakebuilder.json diff --git a/projectbuilders/makebuilder/kdevmakebuilder.qrc b/plugins/makebuilder/kdevmakebuilder.qrc similarity index 100% rename from projectbuilders/makebuilder/kdevmakebuilder.qrc rename to plugins/makebuilder/kdevmakebuilder.qrc diff --git a/projectbuilders/makebuilder/kdevmakebuilder.rc b/plugins/makebuilder/kdevmakebuilder.rc similarity index 100% rename from projectbuilders/makebuilder/kdevmakebuilder.rc rename to plugins/makebuilder/kdevmakebuilder.rc diff --git a/projectbuilders/makebuilder/makebuilder.cpp b/plugins/makebuilder/makebuilder.cpp similarity index 100% rename from projectbuilders/makebuilder/makebuilder.cpp rename to plugins/makebuilder/makebuilder.cpp diff --git a/projectbuilders/makebuilder/makebuilder.h b/plugins/makebuilder/makebuilder.h similarity index 100% rename from projectbuilders/makebuilder/makebuilder.h rename to plugins/makebuilder/makebuilder.h diff --git a/projectbuilders/makebuilder/makebuilderconfig.kcfg b/plugins/makebuilder/makebuilderconfig.kcfg similarity index 100% rename from projectbuilders/makebuilder/makebuilderconfig.kcfg rename to plugins/makebuilder/makebuilderconfig.kcfg diff --git a/projectbuilders/makebuilder/makebuilderconfig.kcfgc b/plugins/makebuilder/makebuilderconfig.kcfgc similarity index 100% rename from projectbuilders/makebuilder/makebuilderconfig.kcfgc rename to plugins/makebuilder/makebuilderconfig.kcfgc diff --git a/projectbuilders/makebuilder/makebuilderpreferences.cpp b/plugins/makebuilder/makebuilderpreferences.cpp similarity index 100% rename from projectbuilders/makebuilder/makebuilderpreferences.cpp rename to plugins/makebuilder/makebuilderpreferences.cpp diff --git a/projectbuilders/makebuilder/makebuilderpreferences.h b/plugins/makebuilder/makebuilderpreferences.h similarity index 100% rename from projectbuilders/makebuilder/makebuilderpreferences.h rename to plugins/makebuilder/makebuilderpreferences.h diff --git a/projectbuilders/makebuilder/makeconfig.ui b/plugins/makebuilder/makeconfig.ui similarity index 100% rename from projectbuilders/makebuilder/makeconfig.ui rename to plugins/makebuilder/makeconfig.ui diff --git a/projectbuilders/makebuilder/makejob.cpp b/plugins/makebuilder/makejob.cpp similarity index 100% rename from projectbuilders/makebuilder/makejob.cpp rename to plugins/makebuilder/makejob.cpp diff --git a/projectbuilders/makebuilder/makejob.h b/plugins/makebuilder/makejob.h similarity index 100% rename from projectbuilders/makebuilder/makejob.h rename to plugins/makebuilder/makejob.h diff --git a/projectbuilders/makebuilder/tests/CMakeLists.txt b/plugins/makebuilder/tests/CMakeLists.txt similarity index 100% rename from projectbuilders/makebuilder/tests/CMakeLists.txt rename to plugins/makebuilder/tests/CMakeLists.txt diff --git a/documentation/manpage/CMakeLists.txt b/plugins/manpage/CMakeLists.txt similarity index 100% rename from documentation/manpage/CMakeLists.txt rename to plugins/manpage/CMakeLists.txt diff --git a/documentation/manpage/Messages.sh b/plugins/manpage/Messages.sh similarity index 100% rename from documentation/manpage/Messages.sh rename to plugins/manpage/Messages.sh diff --git a/documentation/manpage/kdevmanpage.json b/plugins/manpage/kdevmanpage.json similarity index 100% rename from documentation/manpage/kdevmanpage.json rename to plugins/manpage/kdevmanpage.json diff --git a/documentation/manpage/manpagedocumentation.cpp b/plugins/manpage/manpagedocumentation.cpp similarity index 100% rename from documentation/manpage/manpagedocumentation.cpp rename to plugins/manpage/manpagedocumentation.cpp diff --git a/documentation/manpage/manpagedocumentation.css b/plugins/manpage/manpagedocumentation.css similarity index 100% rename from documentation/manpage/manpagedocumentation.css rename to plugins/manpage/manpagedocumentation.css diff --git a/documentation/manpage/manpagedocumentation.h b/plugins/manpage/manpagedocumentation.h similarity index 100% rename from documentation/manpage/manpagedocumentation.h rename to plugins/manpage/manpagedocumentation.h diff --git a/documentation/manpage/manpagedocumentationwidget.cpp b/plugins/manpage/manpagedocumentationwidget.cpp similarity index 100% rename from documentation/manpage/manpagedocumentationwidget.cpp rename to plugins/manpage/manpagedocumentationwidget.cpp diff --git a/documentation/manpage/manpagedocumentationwidget.h b/plugins/manpage/manpagedocumentationwidget.h similarity index 100% rename from documentation/manpage/manpagedocumentationwidget.h rename to plugins/manpage/manpagedocumentationwidget.h diff --git a/documentation/manpage/manpagemodel.cpp b/plugins/manpage/manpagemodel.cpp similarity index 100% rename from documentation/manpage/manpagemodel.cpp rename to plugins/manpage/manpagemodel.cpp diff --git a/documentation/manpage/manpagemodel.h b/plugins/manpage/manpagemodel.h similarity index 100% rename from documentation/manpage/manpagemodel.h rename to plugins/manpage/manpagemodel.h diff --git a/documentation/manpage/manpageplugin.cpp b/plugins/manpage/manpageplugin.cpp similarity index 100% rename from documentation/manpage/manpageplugin.cpp rename to plugins/manpage/manpageplugin.cpp diff --git a/documentation/manpage/manpageplugin.h b/plugins/manpage/manpageplugin.h similarity index 100% rename from documentation/manpage/manpageplugin.h rename to plugins/manpage/manpageplugin.h diff --git a/documentation/manpage/tests/CMakeLists.txt b/plugins/manpage/tests/CMakeLists.txt similarity index 100% rename from documentation/manpage/tests/CMakeLists.txt rename to plugins/manpage/tests/CMakeLists.txt diff --git a/documentation/manpage/tests/test_manpagemodel.cpp b/plugins/manpage/tests/test_manpagemodel.cpp similarity index 100% rename from documentation/manpage/tests/test_manpagemodel.cpp rename to plugins/manpage/tests/test_manpagemodel.cpp diff --git a/projectbuilders/ninjabuilder/CMakeLists.txt b/plugins/ninjabuilder/CMakeLists.txt similarity index 100% rename from projectbuilders/ninjabuilder/CMakeLists.txt rename to plugins/ninjabuilder/CMakeLists.txt diff --git a/projectbuilders/ninjabuilder/Messages.sh b/plugins/ninjabuilder/Messages.sh similarity index 100% rename from projectbuilders/ninjabuilder/Messages.sh rename to plugins/ninjabuilder/Messages.sh diff --git a/projectbuilders/ninjabuilder/kdevninja.json b/plugins/ninjabuilder/kdevninja.json similarity index 100% rename from projectbuilders/ninjabuilder/kdevninja.json rename to plugins/ninjabuilder/kdevninja.json diff --git a/projectbuilders/ninjabuilder/ninjabuilder.cpp b/plugins/ninjabuilder/ninjabuilder.cpp similarity index 100% rename from projectbuilders/ninjabuilder/ninjabuilder.cpp rename to plugins/ninjabuilder/ninjabuilder.cpp diff --git a/projectbuilders/ninjabuilder/ninjabuilder.h b/plugins/ninjabuilder/ninjabuilder.h similarity index 100% rename from projectbuilders/ninjabuilder/ninjabuilder.h rename to plugins/ninjabuilder/ninjabuilder.h diff --git a/projectbuilders/ninjabuilder/ninjabuilderconfig.kcfg b/plugins/ninjabuilder/ninjabuilderconfig.kcfg similarity index 100% rename from projectbuilders/ninjabuilder/ninjabuilderconfig.kcfg rename to plugins/ninjabuilder/ninjabuilderconfig.kcfg diff --git a/projectbuilders/ninjabuilder/ninjabuilderconfig.kcfgc b/plugins/ninjabuilder/ninjabuilderconfig.kcfgc similarity index 100% rename from projectbuilders/ninjabuilder/ninjabuilderconfig.kcfgc rename to plugins/ninjabuilder/ninjabuilderconfig.kcfgc diff --git a/projectbuilders/ninjabuilder/ninjabuilderpreferences.cpp b/plugins/ninjabuilder/ninjabuilderpreferences.cpp similarity index 100% rename from projectbuilders/ninjabuilder/ninjabuilderpreferences.cpp rename to plugins/ninjabuilder/ninjabuilderpreferences.cpp diff --git a/projectbuilders/ninjabuilder/ninjabuilderpreferences.h b/plugins/ninjabuilder/ninjabuilderpreferences.h similarity index 100% rename from projectbuilders/ninjabuilder/ninjabuilderpreferences.h rename to plugins/ninjabuilder/ninjabuilderpreferences.h diff --git a/projectbuilders/ninjabuilder/ninjaconfig.ui b/plugins/ninjabuilder/ninjaconfig.ui similarity index 100% rename from projectbuilders/ninjabuilder/ninjaconfig.ui rename to plugins/ninjabuilder/ninjaconfig.ui diff --git a/projectbuilders/ninjabuilder/ninjajob.cpp b/plugins/ninjabuilder/ninjajob.cpp similarity index 100% rename from projectbuilders/ninjabuilder/ninjajob.cpp rename to plugins/ninjabuilder/ninjajob.cpp diff --git a/projectbuilders/ninjabuilder/ninjajob.h b/plugins/ninjabuilder/ninjajob.h similarity index 100% rename from projectbuilders/ninjabuilder/ninjajob.h rename to plugins/ninjabuilder/ninjajob.h diff --git a/utils/okteta/CMakeLists.txt b/plugins/okteta/CMakeLists.txt similarity index 100% rename from utils/okteta/CMakeLists.txt rename to plugins/okteta/CMakeLists.txt diff --git a/utils/okteta/Messages.sh b/plugins/okteta/Messages.sh similarity index 100% rename from utils/okteta/Messages.sh rename to plugins/okteta/Messages.sh diff --git a/utils/okteta/kastentoolviewwidget.cpp b/plugins/okteta/kastentoolviewwidget.cpp similarity index 100% rename from utils/okteta/kastentoolviewwidget.cpp rename to plugins/okteta/kastentoolviewwidget.cpp diff --git a/utils/okteta/kastentoolviewwidget.h b/plugins/okteta/kastentoolviewwidget.h similarity index 100% rename from utils/okteta/kastentoolviewwidget.h rename to plugins/okteta/kastentoolviewwidget.h diff --git a/utils/okteta/kdevokteta.json b/plugins/okteta/kdevokteta.json similarity index 100% rename from utils/okteta/kdevokteta.json rename to plugins/okteta/kdevokteta.json diff --git a/utils/okteta/kdevokteta.qrc b/plugins/okteta/kdevokteta.qrc similarity index 100% rename from utils/okteta/kdevokteta.qrc rename to plugins/okteta/kdevokteta.qrc diff --git a/utils/okteta/kdevokteta.rc b/plugins/okteta/kdevokteta.rc similarity index 100% rename from utils/okteta/kdevokteta.rc rename to plugins/okteta/kdevokteta.rc diff --git a/utils/okteta/main.cpp b/plugins/okteta/main.cpp similarity index 100% rename from utils/okteta/main.cpp rename to plugins/okteta/main.cpp diff --git a/utils/okteta/oktetadocument.cpp b/plugins/okteta/oktetadocument.cpp similarity index 100% rename from utils/okteta/oktetadocument.cpp rename to plugins/okteta/oktetadocument.cpp diff --git a/utils/okteta/oktetadocument.h b/plugins/okteta/oktetadocument.h similarity index 100% rename from utils/okteta/oktetadocument.h rename to plugins/okteta/oktetadocument.h diff --git a/utils/okteta/oktetadocumentfactory.h b/plugins/okteta/oktetadocumentfactory.h similarity index 100% rename from utils/okteta/oktetadocumentfactory.h rename to plugins/okteta/oktetadocumentfactory.h diff --git a/utils/okteta/oktetaplugin.cpp b/plugins/okteta/oktetaplugin.cpp similarity index 100% rename from utils/okteta/oktetaplugin.cpp rename to plugins/okteta/oktetaplugin.cpp diff --git a/utils/okteta/oktetaplugin.h b/plugins/okteta/oktetaplugin.h similarity index 100% rename from utils/okteta/oktetaplugin.h rename to plugins/okteta/oktetaplugin.h diff --git a/utils/okteta/oktetatoolviewfactory.cpp b/plugins/okteta/oktetatoolviewfactory.cpp similarity index 100% rename from utils/okteta/oktetatoolviewfactory.cpp rename to plugins/okteta/oktetatoolviewfactory.cpp diff --git a/utils/okteta/oktetatoolviewfactory.h b/plugins/okteta/oktetatoolviewfactory.h similarity index 100% rename from utils/okteta/oktetatoolviewfactory.h rename to plugins/okteta/oktetatoolviewfactory.h diff --git a/utils/okteta/oktetaview.cpp b/plugins/okteta/oktetaview.cpp similarity index 100% rename from utils/okteta/oktetaview.cpp rename to plugins/okteta/oktetaview.cpp diff --git a/utils/okteta/oktetaview.h b/plugins/okteta/oktetaview.h similarity index 100% rename from utils/okteta/oktetaview.h rename to plugins/okteta/oktetaview.h diff --git a/utils/okteta/oktetawidget.cpp b/plugins/okteta/oktetawidget.cpp similarity index 100% rename from utils/okteta/oktetawidget.cpp rename to plugins/okteta/oktetawidget.cpp diff --git a/utils/okteta/oktetawidget.h b/plugins/okteta/oktetawidget.h similarity index 100% rename from utils/okteta/oktetawidget.h rename to plugins/okteta/oktetawidget.h diff --git a/kdevplatform/plugins/openwith/CMakeLists.txt b/plugins/openwith/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/openwith/CMakeLists.txt rename to plugins/openwith/CMakeLists.txt diff --git a/kdevplatform/plugins/openwith/Messages.sh b/plugins/openwith/Messages.sh similarity index 100% rename from kdevplatform/plugins/openwith/Messages.sh rename to plugins/openwith/Messages.sh diff --git a/kdevplatform/plugins/openwith/iopenwith.h b/plugins/openwith/iopenwith.h similarity index 100% rename from kdevplatform/plugins/openwith/iopenwith.h rename to plugins/openwith/iopenwith.h diff --git a/kdevplatform/plugins/openwith/kdevopenwith.json b/plugins/openwith/kdevopenwith.json similarity index 100% rename from kdevplatform/plugins/openwith/kdevopenwith.json rename to plugins/openwith/kdevopenwith.json diff --git a/kdevplatform/plugins/openwith/openwithplugin.cpp b/plugins/openwith/openwithplugin.cpp similarity index 100% rename from kdevplatform/plugins/openwith/openwithplugin.cpp rename to plugins/openwith/openwithplugin.cpp diff --git a/kdevplatform/plugins/openwith/openwithplugin.h b/plugins/openwith/openwithplugin.h similarity index 100% rename from kdevplatform/plugins/openwith/openwithplugin.h rename to plugins/openwith/openwithplugin.h diff --git a/kdevplatform/plugins/outlineview/CMakeLists.txt b/plugins/outlineview/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/outlineview/CMakeLists.txt rename to plugins/outlineview/CMakeLists.txt diff --git a/kdevplatform/plugins/outlineview/kdevoutlineview.json b/plugins/outlineview/kdevoutlineview.json similarity index 100% rename from kdevplatform/plugins/outlineview/kdevoutlineview.json rename to plugins/outlineview/kdevoutlineview.json diff --git a/kdevplatform/plugins/outlineview/outlinemodel.cpp b/plugins/outlineview/outlinemodel.cpp similarity index 100% rename from kdevplatform/plugins/outlineview/outlinemodel.cpp rename to plugins/outlineview/outlinemodel.cpp diff --git a/kdevplatform/plugins/outlineview/outlinemodel.h b/plugins/outlineview/outlinemodel.h similarity index 100% rename from kdevplatform/plugins/outlineview/outlinemodel.h rename to plugins/outlineview/outlinemodel.h diff --git a/kdevplatform/plugins/outlineview/outlinenode.cpp b/plugins/outlineview/outlinenode.cpp similarity index 100% rename from kdevplatform/plugins/outlineview/outlinenode.cpp rename to plugins/outlineview/outlinenode.cpp diff --git a/kdevplatform/plugins/outlineview/outlinenode.h b/plugins/outlineview/outlinenode.h similarity index 100% rename from kdevplatform/plugins/outlineview/outlinenode.h rename to plugins/outlineview/outlinenode.h diff --git a/kdevplatform/plugins/outlineview/outlineviewplugin.cpp b/plugins/outlineview/outlineviewplugin.cpp similarity index 100% rename from kdevplatform/plugins/outlineview/outlineviewplugin.cpp rename to plugins/outlineview/outlineviewplugin.cpp diff --git a/kdevplatform/plugins/outlineview/outlineviewplugin.h b/plugins/outlineview/outlineviewplugin.h similarity index 100% rename from kdevplatform/plugins/outlineview/outlineviewplugin.h rename to plugins/outlineview/outlineviewplugin.h diff --git a/kdevplatform/plugins/outlineview/outlinewidget.cpp b/plugins/outlineview/outlinewidget.cpp similarity index 100% rename from kdevplatform/plugins/outlineview/outlinewidget.cpp rename to plugins/outlineview/outlinewidget.cpp diff --git a/kdevplatform/plugins/outlineview/outlinewidget.h b/plugins/outlineview/outlinewidget.h similarity index 100% rename from kdevplatform/plugins/outlineview/outlinewidget.h rename to plugins/outlineview/outlinewidget.h diff --git a/kdevplatform/plugins/patchreview/CMakeLists.txt b/plugins/patchreview/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/patchreview/CMakeLists.txt rename to plugins/patchreview/CMakeLists.txt diff --git a/kdevplatform/plugins/patchreview/Messages.sh b/plugins/patchreview/Messages.sh similarity index 100% rename from kdevplatform/plugins/patchreview/Messages.sh rename to plugins/patchreview/Messages.sh diff --git a/kdevplatform/plugins/patchreview/kdevpatchreview.json b/plugins/patchreview/kdevpatchreview.json similarity index 100% rename from kdevplatform/plugins/patchreview/kdevpatchreview.json rename to plugins/patchreview/kdevpatchreview.json diff --git a/kdevplatform/plugins/patchreview/kdevpatchreview.qrc b/plugins/patchreview/kdevpatchreview.qrc similarity index 100% rename from kdevplatform/plugins/patchreview/kdevpatchreview.qrc rename to plugins/patchreview/kdevpatchreview.qrc diff --git a/kdevplatform/plugins/patchreview/kdevpatchreview.rc b/plugins/patchreview/kdevpatchreview.rc similarity index 100% rename from kdevplatform/plugins/patchreview/kdevpatchreview.rc rename to plugins/patchreview/kdevpatchreview.rc diff --git a/kdevplatform/plugins/patchreview/localpatchsource.cpp b/plugins/patchreview/localpatchsource.cpp similarity index 100% rename from kdevplatform/plugins/patchreview/localpatchsource.cpp rename to plugins/patchreview/localpatchsource.cpp diff --git a/kdevplatform/plugins/patchreview/localpatchsource.h b/plugins/patchreview/localpatchsource.h similarity index 100% rename from kdevplatform/plugins/patchreview/localpatchsource.h rename to plugins/patchreview/localpatchsource.h diff --git a/kdevplatform/plugins/patchreview/localpatchwidget.ui b/plugins/patchreview/localpatchwidget.ui similarity index 100% rename from kdevplatform/plugins/patchreview/localpatchwidget.ui rename to plugins/patchreview/localpatchwidget.ui diff --git a/kdevplatform/plugins/patchreview/patchhighlighter.cpp b/plugins/patchreview/patchhighlighter.cpp similarity index 100% rename from kdevplatform/plugins/patchreview/patchhighlighter.cpp rename to plugins/patchreview/patchhighlighter.cpp diff --git a/kdevplatform/plugins/patchreview/patchhighlighter.h b/plugins/patchreview/patchhighlighter.h similarity index 100% rename from kdevplatform/plugins/patchreview/patchhighlighter.h rename to plugins/patchreview/patchhighlighter.h diff --git a/kdevplatform/plugins/patchreview/patchreview.cpp b/plugins/patchreview/patchreview.cpp similarity index 100% rename from kdevplatform/plugins/patchreview/patchreview.cpp rename to plugins/patchreview/patchreview.cpp diff --git a/kdevplatform/plugins/patchreview/patchreview.h b/plugins/patchreview/patchreview.h similarity index 100% rename from kdevplatform/plugins/patchreview/patchreview.h rename to plugins/patchreview/patchreview.h diff --git a/kdevplatform/plugins/patchreview/patchreview.ui b/plugins/patchreview/patchreview.ui similarity index 100% rename from kdevplatform/plugins/patchreview/patchreview.ui rename to plugins/patchreview/patchreview.ui diff --git a/kdevplatform/plugins/patchreview/patchreviewtoolview.cpp b/plugins/patchreview/patchreviewtoolview.cpp similarity index 100% rename from kdevplatform/plugins/patchreview/patchreviewtoolview.cpp rename to plugins/patchreview/patchreviewtoolview.cpp diff --git a/kdevplatform/plugins/patchreview/patchreviewtoolview.h b/plugins/patchreview/patchreviewtoolview.h similarity index 100% rename from kdevplatform/plugins/patchreview/patchreviewtoolview.h rename to plugins/patchreview/patchreviewtoolview.h diff --git a/kdevplatform/plugins/perforce/CMakeLists.txt b/plugins/perforce/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/perforce/CMakeLists.txt rename to plugins/perforce/CMakeLists.txt diff --git a/kdevplatform/plugins/perforce/Messages.sh b/plugins/perforce/Messages.sh similarity index 100% rename from kdevplatform/plugins/perforce/Messages.sh rename to plugins/perforce/Messages.sh diff --git a/kdevplatform/plugins/perforce/kdevperforce.json b/plugins/perforce/kdevperforce.json similarity index 100% rename from kdevplatform/plugins/perforce/kdevperforce.json rename to plugins/perforce/kdevperforce.json diff --git a/kdevplatform/plugins/perforce/p4clientstub/CMakeLists.txt b/plugins/perforce/p4clientstub/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/perforce/p4clientstub/CMakeLists.txt rename to plugins/perforce/p4clientstub/CMakeLists.txt diff --git a/kdevplatform/plugins/perforce/p4clientstub/main.cpp b/plugins/perforce/p4clientstub/main.cpp similarity index 100% rename from kdevplatform/plugins/perforce/p4clientstub/main.cpp rename to plugins/perforce/p4clientstub/main.cpp diff --git a/kdevplatform/plugins/perforce/perforceplugin.cpp b/plugins/perforce/perforceplugin.cpp similarity index 100% rename from kdevplatform/plugins/perforce/perforceplugin.cpp rename to plugins/perforce/perforceplugin.cpp diff --git a/kdevplatform/plugins/perforce/perforceplugin.h b/plugins/perforce/perforceplugin.h similarity index 100% rename from kdevplatform/plugins/perforce/perforceplugin.h rename to plugins/perforce/perforceplugin.h diff --git a/kdevplatform/plugins/perforce/perforcepluginmetadata.cpp b/plugins/perforce/perforcepluginmetadata.cpp similarity index 100% rename from kdevplatform/plugins/perforce/perforcepluginmetadata.cpp rename to plugins/perforce/perforcepluginmetadata.cpp diff --git a/kdevplatform/plugins/perforce/tests/CMakeLists.txt b/plugins/perforce/tests/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/perforce/tests/CMakeLists.txt rename to plugins/perforce/tests/CMakeLists.txt diff --git a/kdevplatform/plugins/perforce/tests/test_perforce.cpp b/plugins/perforce/tests/test_perforce.cpp similarity index 100% rename from kdevplatform/plugins/perforce/tests/test_perforce.cpp rename to plugins/perforce/tests/test_perforce.cpp diff --git a/kdevplatform/plugins/perforce/tests/test_perforce.h b/plugins/perforce/tests/test_perforce.h similarity index 100% rename from kdevplatform/plugins/perforce/tests/test_perforce.h rename to plugins/perforce/tests/test_perforce.h diff --git a/kdevplatform/plugins/problemreporter/CMakeLists.txt b/plugins/problemreporter/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/problemreporter/CMakeLists.txt rename to plugins/problemreporter/CMakeLists.txt diff --git a/kdevplatform/plugins/problemreporter/Messages.sh b/plugins/problemreporter/Messages.sh similarity index 100% rename from kdevplatform/plugins/problemreporter/Messages.sh rename to plugins/problemreporter/Messages.sh diff --git a/kdevplatform/plugins/problemreporter/kdevproblemreporter.json b/plugins/problemreporter/kdevproblemreporter.json similarity index 100% rename from kdevplatform/plugins/problemreporter/kdevproblemreporter.json rename to plugins/problemreporter/kdevproblemreporter.json diff --git a/kdevplatform/plugins/problemreporter/kdevproblemreporter.qrc b/plugins/problemreporter/kdevproblemreporter.qrc similarity index 100% rename from kdevplatform/plugins/problemreporter/kdevproblemreporter.qrc rename to plugins/problemreporter/kdevproblemreporter.qrc diff --git a/kdevplatform/plugins/problemreporter/kdevproblemreporter.rc b/plugins/problemreporter/kdevproblemreporter.rc similarity index 100% rename from kdevplatform/plugins/problemreporter/kdevproblemreporter.rc rename to plugins/problemreporter/kdevproblemreporter.rc diff --git a/kdevplatform/plugins/problemreporter/problemhighlighter.cpp b/plugins/problemreporter/problemhighlighter.cpp similarity index 100% rename from kdevplatform/plugins/problemreporter/problemhighlighter.cpp rename to plugins/problemreporter/problemhighlighter.cpp diff --git a/kdevplatform/plugins/problemreporter/problemhighlighter.h b/plugins/problemreporter/problemhighlighter.h similarity index 100% rename from kdevplatform/plugins/problemreporter/problemhighlighter.h rename to plugins/problemreporter/problemhighlighter.h diff --git a/kdevplatform/plugins/problemreporter/problemreportermodel.cpp b/plugins/problemreporter/problemreportermodel.cpp similarity index 100% rename from kdevplatform/plugins/problemreporter/problemreportermodel.cpp rename to plugins/problemreporter/problemreportermodel.cpp diff --git a/kdevplatform/plugins/problemreporter/problemreportermodel.h b/plugins/problemreporter/problemreportermodel.h similarity index 100% rename from kdevplatform/plugins/problemreporter/problemreportermodel.h rename to plugins/problemreporter/problemreportermodel.h diff --git a/kdevplatform/plugins/problemreporter/problemreporterplugin.cpp b/plugins/problemreporter/problemreporterplugin.cpp similarity index 100% rename from kdevplatform/plugins/problemreporter/problemreporterplugin.cpp rename to plugins/problemreporter/problemreporterplugin.cpp diff --git a/kdevplatform/plugins/problemreporter/problemreporterplugin.h b/plugins/problemreporter/problemreporterplugin.h similarity index 100% rename from kdevplatform/plugins/problemreporter/problemreporterplugin.h rename to plugins/problemreporter/problemreporterplugin.h diff --git a/kdevplatform/plugins/problemreporter/problemsview.cpp b/plugins/problemreporter/problemsview.cpp similarity index 100% rename from kdevplatform/plugins/problemreporter/problemsview.cpp rename to plugins/problemreporter/problemsview.cpp diff --git a/kdevplatform/plugins/problemreporter/problemsview.h b/plugins/problemreporter/problemsview.h similarity index 100% rename from kdevplatform/plugins/problemreporter/problemsview.h rename to plugins/problemreporter/problemsview.h diff --git a/kdevplatform/plugins/problemreporter/problemtreeview.cpp b/plugins/problemreporter/problemtreeview.cpp similarity index 100% rename from kdevplatform/plugins/problemreporter/problemtreeview.cpp rename to plugins/problemreporter/problemtreeview.cpp diff --git a/kdevplatform/plugins/problemreporter/problemtreeview.h b/plugins/problemreporter/problemtreeview.h similarity index 100% rename from kdevplatform/plugins/problemreporter/problemtreeview.h rename to plugins/problemreporter/problemtreeview.h diff --git a/kdevplatform/plugins/problemreporter/tests/CMakeLists.txt b/plugins/problemreporter/tests/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/problemreporter/tests/CMakeLists.txt rename to plugins/problemreporter/tests/CMakeLists.txt diff --git a/kdevplatform/plugins/problemreporter/tests/test_problemsview.cpp b/plugins/problemreporter/tests/test_problemsview.cpp similarity index 100% rename from kdevplatform/plugins/problemreporter/tests/test_problemsview.cpp rename to plugins/problemreporter/tests/test_problemsview.cpp diff --git a/kdevplatform/plugins/projectfilter/CMakeLists.txt b/plugins/projectfilter/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/projectfilter/CMakeLists.txt rename to plugins/projectfilter/CMakeLists.txt diff --git a/kdevplatform/plugins/projectfilter/Messages.sh b/plugins/projectfilter/Messages.sh similarity index 100% rename from kdevplatform/plugins/projectfilter/Messages.sh rename to plugins/projectfilter/Messages.sh diff --git a/kdevplatform/plugins/projectfilter/comboboxdelegate.cpp b/plugins/projectfilter/comboboxdelegate.cpp similarity index 100% rename from kdevplatform/plugins/projectfilter/comboboxdelegate.cpp rename to plugins/projectfilter/comboboxdelegate.cpp diff --git a/kdevplatform/plugins/projectfilter/comboboxdelegate.h b/plugins/projectfilter/comboboxdelegate.h similarity index 100% rename from kdevplatform/plugins/projectfilter/comboboxdelegate.h rename to plugins/projectfilter/comboboxdelegate.h diff --git a/kdevplatform/plugins/projectfilter/filter.cpp b/plugins/projectfilter/filter.cpp similarity index 100% rename from kdevplatform/plugins/projectfilter/filter.cpp rename to plugins/projectfilter/filter.cpp diff --git a/kdevplatform/plugins/projectfilter/filter.h b/plugins/projectfilter/filter.h similarity index 100% rename from kdevplatform/plugins/projectfilter/filter.h rename to plugins/projectfilter/filter.h diff --git a/kdevplatform/plugins/projectfilter/filtermodel.cpp b/plugins/projectfilter/filtermodel.cpp similarity index 100% rename from kdevplatform/plugins/projectfilter/filtermodel.cpp rename to plugins/projectfilter/filtermodel.cpp diff --git a/kdevplatform/plugins/projectfilter/filtermodel.h b/plugins/projectfilter/filtermodel.h similarity index 100% rename from kdevplatform/plugins/projectfilter/filtermodel.h rename to plugins/projectfilter/filtermodel.h diff --git a/kdevplatform/plugins/projectfilter/kdevprojectfilter.json b/plugins/projectfilter/kdevprojectfilter.json similarity index 100% rename from kdevplatform/plugins/projectfilter/kdevprojectfilter.json rename to plugins/projectfilter/kdevprojectfilter.json diff --git a/kdevplatform/plugins/projectfilter/projectfilter.cpp b/plugins/projectfilter/projectfilter.cpp similarity index 100% rename from kdevplatform/plugins/projectfilter/projectfilter.cpp rename to plugins/projectfilter/projectfilter.cpp diff --git a/kdevplatform/plugins/projectfilter/projectfilter.h b/plugins/projectfilter/projectfilter.h similarity index 100% rename from kdevplatform/plugins/projectfilter/projectfilter.h rename to plugins/projectfilter/projectfilter.h diff --git a/kdevplatform/plugins/projectfilter/projectfilterconfigpage.cpp b/plugins/projectfilter/projectfilterconfigpage.cpp similarity index 100% rename from kdevplatform/plugins/projectfilter/projectfilterconfigpage.cpp rename to plugins/projectfilter/projectfilterconfigpage.cpp diff --git a/kdevplatform/plugins/projectfilter/projectfilterconfigpage.h b/plugins/projectfilter/projectfilterconfigpage.h similarity index 100% rename from kdevplatform/plugins/projectfilter/projectfilterconfigpage.h rename to plugins/projectfilter/projectfilterconfigpage.h diff --git a/kdevplatform/plugins/projectfilter/projectfilterprovider.cpp b/plugins/projectfilter/projectfilterprovider.cpp similarity index 100% rename from kdevplatform/plugins/projectfilter/projectfilterprovider.cpp rename to plugins/projectfilter/projectfilterprovider.cpp diff --git a/kdevplatform/plugins/projectfilter/projectfilterprovider.h b/plugins/projectfilter/projectfilterprovider.h similarity index 100% rename from kdevplatform/plugins/projectfilter/projectfilterprovider.h rename to plugins/projectfilter/projectfilterprovider.h diff --git a/kdevplatform/plugins/projectfilter/projectfiltersettings.kcfg b/plugins/projectfilter/projectfiltersettings.kcfg similarity index 100% rename from kdevplatform/plugins/projectfilter/projectfiltersettings.kcfg rename to plugins/projectfilter/projectfiltersettings.kcfg diff --git a/kdevplatform/plugins/projectfilter/projectfiltersettings.kcfgc b/plugins/projectfilter/projectfiltersettings.kcfgc similarity index 100% rename from kdevplatform/plugins/projectfilter/projectfiltersettings.kcfgc rename to plugins/projectfilter/projectfiltersettings.kcfgc diff --git a/kdevplatform/plugins/projectfilter/projectfiltersettings.ui b/plugins/projectfilter/projectfiltersettings.ui similarity index 100% rename from kdevplatform/plugins/projectfilter/projectfiltersettings.ui rename to plugins/projectfilter/projectfiltersettings.ui diff --git a/kdevplatform/plugins/projectfilter/tests/CMakeLists.txt b/plugins/projectfilter/tests/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/projectfilter/tests/CMakeLists.txt rename to plugins/projectfilter/tests/CMakeLists.txt diff --git a/kdevplatform/plugins/projectfilter/tests/test_projectfilter.cpp b/plugins/projectfilter/tests/test_projectfilter.cpp similarity index 100% rename from kdevplatform/plugins/projectfilter/tests/test_projectfilter.cpp rename to plugins/projectfilter/tests/test_projectfilter.cpp diff --git a/kdevplatform/plugins/projectfilter/tests/test_projectfilter.h b/plugins/projectfilter/tests/test_projectfilter.h similarity index 100% rename from kdevplatform/plugins/projectfilter/tests/test_projectfilter.h rename to plugins/projectfilter/tests/test_projectfilter.h diff --git a/kdevplatform/plugins/projectmanagerview/CMakeLists.txt b/plugins/projectmanagerview/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/projectmanagerview/CMakeLists.txt rename to plugins/projectmanagerview/CMakeLists.txt diff --git a/kdevplatform/plugins/projectmanagerview/Messages.sh b/plugins/projectmanagerview/Messages.sh similarity index 100% rename from kdevplatform/plugins/projectmanagerview/Messages.sh rename to plugins/projectmanagerview/Messages.sh diff --git a/kdevplatform/plugins/projectmanagerview/cutcopypastehelpers.cpp b/plugins/projectmanagerview/cutcopypastehelpers.cpp similarity index 100% rename from kdevplatform/plugins/projectmanagerview/cutcopypastehelpers.cpp rename to plugins/projectmanagerview/cutcopypastehelpers.cpp diff --git a/kdevplatform/plugins/projectmanagerview/cutcopypastehelpers.h b/plugins/projectmanagerview/cutcopypastehelpers.h similarity index 100% rename from kdevplatform/plugins/projectmanagerview/cutcopypastehelpers.h rename to plugins/projectmanagerview/cutcopypastehelpers.h diff --git a/kdevplatform/plugins/projectmanagerview/kdevprojectmanagerview.json b/plugins/projectmanagerview/kdevprojectmanagerview.json similarity index 100% rename from kdevplatform/plugins/projectmanagerview/kdevprojectmanagerview.json rename to plugins/projectmanagerview/kdevprojectmanagerview.json diff --git a/kdevplatform/plugins/projectmanagerview/kdevprojectmanagerview.qrc b/plugins/projectmanagerview/kdevprojectmanagerview.qrc similarity index 100% rename from kdevplatform/plugins/projectmanagerview/kdevprojectmanagerview.qrc rename to plugins/projectmanagerview/kdevprojectmanagerview.qrc diff --git a/kdevplatform/plugins/projectmanagerview/kdevprojectmanagerview.rc b/plugins/projectmanagerview/kdevprojectmanagerview.rc similarity index 100% rename from kdevplatform/plugins/projectmanagerview/kdevprojectmanagerview.rc rename to plugins/projectmanagerview/kdevprojectmanagerview.rc diff --git a/kdevplatform/plugins/projectmanagerview/projectbuildsetwidget.cpp b/plugins/projectmanagerview/projectbuildsetwidget.cpp similarity index 100% rename from kdevplatform/plugins/projectmanagerview/projectbuildsetwidget.cpp rename to plugins/projectmanagerview/projectbuildsetwidget.cpp diff --git a/kdevplatform/plugins/projectmanagerview/projectbuildsetwidget.h b/plugins/projectmanagerview/projectbuildsetwidget.h similarity index 100% rename from kdevplatform/plugins/projectmanagerview/projectbuildsetwidget.h rename to plugins/projectmanagerview/projectbuildsetwidget.h diff --git a/kdevplatform/plugins/projectmanagerview/projectbuildsetwidget.ui b/plugins/projectmanagerview/projectbuildsetwidget.ui similarity index 100% rename from kdevplatform/plugins/projectmanagerview/projectbuildsetwidget.ui rename to plugins/projectmanagerview/projectbuildsetwidget.ui diff --git a/kdevplatform/plugins/projectmanagerview/projectmanagerview.cpp b/plugins/projectmanagerview/projectmanagerview.cpp similarity index 100% rename from kdevplatform/plugins/projectmanagerview/projectmanagerview.cpp rename to plugins/projectmanagerview/projectmanagerview.cpp diff --git a/kdevplatform/plugins/projectmanagerview/projectmanagerview.h b/plugins/projectmanagerview/projectmanagerview.h similarity index 100% rename from kdevplatform/plugins/projectmanagerview/projectmanagerview.h rename to plugins/projectmanagerview/projectmanagerview.h diff --git a/kdevplatform/plugins/projectmanagerview/projectmanagerview.ui b/plugins/projectmanagerview/projectmanagerview.ui similarity index 100% rename from kdevplatform/plugins/projectmanagerview/projectmanagerview.ui rename to plugins/projectmanagerview/projectmanagerview.ui diff --git a/kdevplatform/plugins/projectmanagerview/projectmanagerviewplugin.cpp b/plugins/projectmanagerview/projectmanagerviewplugin.cpp similarity index 100% rename from kdevplatform/plugins/projectmanagerview/projectmanagerviewplugin.cpp rename to plugins/projectmanagerview/projectmanagerviewplugin.cpp diff --git a/kdevplatform/plugins/projectmanagerview/projectmanagerviewplugin.h b/plugins/projectmanagerview/projectmanagerviewplugin.h similarity index 100% rename from kdevplatform/plugins/projectmanagerview/projectmanagerviewplugin.h rename to plugins/projectmanagerview/projectmanagerviewplugin.h diff --git a/kdevplatform/plugins/projectmanagerview/projectmodelitemdelegate.cpp b/plugins/projectmanagerview/projectmodelitemdelegate.cpp similarity index 100% rename from kdevplatform/plugins/projectmanagerview/projectmodelitemdelegate.cpp rename to plugins/projectmanagerview/projectmodelitemdelegate.cpp diff --git a/kdevplatform/plugins/projectmanagerview/projectmodelitemdelegate.h b/plugins/projectmanagerview/projectmodelitemdelegate.h similarity index 100% rename from kdevplatform/plugins/projectmanagerview/projectmodelitemdelegate.h rename to plugins/projectmanagerview/projectmodelitemdelegate.h diff --git a/kdevplatform/plugins/projectmanagerview/projectmodelsaver.cpp b/plugins/projectmanagerview/projectmodelsaver.cpp similarity index 100% rename from kdevplatform/plugins/projectmanagerview/projectmodelsaver.cpp rename to plugins/projectmanagerview/projectmodelsaver.cpp diff --git a/kdevplatform/plugins/projectmanagerview/projectmodelsaver.h b/plugins/projectmanagerview/projectmodelsaver.h similarity index 100% rename from kdevplatform/plugins/projectmanagerview/projectmodelsaver.h rename to plugins/projectmanagerview/projectmodelsaver.h diff --git a/kdevplatform/plugins/projectmanagerview/projecttreeview.cpp b/plugins/projectmanagerview/projecttreeview.cpp similarity index 100% rename from kdevplatform/plugins/projectmanagerview/projecttreeview.cpp rename to plugins/projectmanagerview/projecttreeview.cpp diff --git a/kdevplatform/plugins/projectmanagerview/projecttreeview.h b/plugins/projectmanagerview/projecttreeview.h similarity index 100% rename from kdevplatform/plugins/projectmanagerview/projecttreeview.h rename to plugins/projectmanagerview/projecttreeview.h diff --git a/kdevplatform/plugins/projectmanagerview/vcsoverlayproxymodel.cpp b/plugins/projectmanagerview/vcsoverlayproxymodel.cpp similarity index 100% rename from kdevplatform/plugins/projectmanagerview/vcsoverlayproxymodel.cpp rename to plugins/projectmanagerview/vcsoverlayproxymodel.cpp diff --git a/kdevplatform/plugins/projectmanagerview/vcsoverlayproxymodel.h b/plugins/projectmanagerview/vcsoverlayproxymodel.h similarity index 100% rename from kdevplatform/plugins/projectmanagerview/vcsoverlayproxymodel.h rename to plugins/projectmanagerview/vcsoverlayproxymodel.h diff --git a/providers/CMakeLists.txt b/plugins/providers/CMakeLists.txt similarity index 100% rename from providers/CMakeLists.txt rename to plugins/providers/CMakeLists.txt diff --git a/projectbuilders/qmakebuilder/CMakeLists.txt b/plugins/qmakebuilder/CMakeLists.txt similarity index 63% rename from projectbuilders/qmakebuilder/CMakeLists.txt rename to plugins/qmakebuilder/CMakeLists.txt index 3b7a3088ef..dccf90adb1 100644 --- a/projectbuilders/qmakebuilder/CMakeLists.txt +++ b/plugins/qmakebuilder/CMakeLists.txt @@ -1,26 +1,37 @@ add_definitions(-DTRANSLATION_DOMAIN=\"kdevqmakebuilder\") set(qmakebuilder_SRCS qmakebuilder.cpp qmakebuilderpreferences.cpp qmakejob.cpp ) ecm_qt_declare_logging_category(qmakebuilder_SRCS HEADER debug.h IDENTIFIER KDEV_QMAKEBUILDER CATEGORY_NAME "kdevelop.projectbuilders.qmakebuilder" ) ki18n_wrap_ui(qmakebuilder_SRCS qmakeconfig.ui) kconfig_add_kcfg_files(qmakebuilder_SRCS qmakebuilderconfig.kcfgc) kdevplatform_add_plugin(kdevqmakebuilder JSON kdevqmakebuilder.json SOURCES ${qmakebuilder_SRCS}) target_link_libraries(kdevqmakebuilder KDev::Interfaces KDev::OutputView KDev::Util KDev::Project KDev::IMakeBuilder kdevqmakecommon ) +add_library(kdevqmakebuilder_interface INTERFACE) +add_library(KDev::QMakeBuilder ALIAS kdevqmakebuilder_interface) +target_include_directories(kdevqmakebuilder_interface INTERFACE + "$" + "$" +) +set_target_properties(kdevqmakebuilder_interface PROPERTIES + EXPORT_NAME QMakeBuilder +) +install(TARGETS kdevqmakebuilder_interface EXPORT KDevelopTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) + install( FILES iqmakebuilder.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/kdevelop/qmake COMPONENT Devel) install( FILES data.kdev4 DESTINATION ${KDE_INSTALL_DATADIR}/kdevqmakebuilder ) diff --git a/projectbuilders/qmakebuilder/Messages.sh b/plugins/qmakebuilder/Messages.sh similarity index 100% rename from projectbuilders/qmakebuilder/Messages.sh rename to plugins/qmakebuilder/Messages.sh diff --git a/projectbuilders/qmakebuilder/data.kdev4 b/plugins/qmakebuilder/data.kdev4 similarity index 100% rename from projectbuilders/qmakebuilder/data.kdev4 rename to plugins/qmakebuilder/data.kdev4 diff --git a/projectbuilders/qmakebuilder/iqmakebuilder.h b/plugins/qmakebuilder/iqmakebuilder.h similarity index 100% rename from projectbuilders/qmakebuilder/iqmakebuilder.h rename to plugins/qmakebuilder/iqmakebuilder.h diff --git a/projectbuilders/qmakebuilder/kdevqmakebuilder.json b/plugins/qmakebuilder/kdevqmakebuilder.json similarity index 100% rename from projectbuilders/qmakebuilder/kdevqmakebuilder.json rename to plugins/qmakebuilder/kdevqmakebuilder.json diff --git a/projectbuilders/qmakebuilder/qmakebuilder.cpp b/plugins/qmakebuilder/qmakebuilder.cpp similarity index 100% rename from projectbuilders/qmakebuilder/qmakebuilder.cpp rename to plugins/qmakebuilder/qmakebuilder.cpp diff --git a/projectbuilders/qmakebuilder/qmakebuilder.h b/plugins/qmakebuilder/qmakebuilder.h similarity index 100% rename from projectbuilders/qmakebuilder/qmakebuilder.h rename to plugins/qmakebuilder/qmakebuilder.h diff --git a/projectbuilders/qmakebuilder/qmakebuilderconfig.kcfg b/plugins/qmakebuilder/qmakebuilderconfig.kcfg similarity index 100% rename from projectbuilders/qmakebuilder/qmakebuilderconfig.kcfg rename to plugins/qmakebuilder/qmakebuilderconfig.kcfg diff --git a/projectbuilders/qmakebuilder/qmakebuilderconfig.kcfgc b/plugins/qmakebuilder/qmakebuilderconfig.kcfgc similarity index 100% rename from projectbuilders/qmakebuilder/qmakebuilderconfig.kcfgc rename to plugins/qmakebuilder/qmakebuilderconfig.kcfgc diff --git a/projectbuilders/qmakebuilder/qmakebuilderpreferences.cpp b/plugins/qmakebuilder/qmakebuilderpreferences.cpp similarity index 100% rename from projectbuilders/qmakebuilder/qmakebuilderpreferences.cpp rename to plugins/qmakebuilder/qmakebuilderpreferences.cpp diff --git a/projectbuilders/qmakebuilder/qmakebuilderpreferences.h b/plugins/qmakebuilder/qmakebuilderpreferences.h similarity index 100% rename from projectbuilders/qmakebuilder/qmakebuilderpreferences.h rename to plugins/qmakebuilder/qmakebuilderpreferences.h diff --git a/projectbuilders/qmakebuilder/qmakeconfig.ui b/plugins/qmakebuilder/qmakeconfig.ui similarity index 100% rename from projectbuilders/qmakebuilder/qmakeconfig.ui rename to plugins/qmakebuilder/qmakeconfig.ui diff --git a/projectbuilders/qmakebuilder/qmakejob.cpp b/plugins/qmakebuilder/qmakejob.cpp similarity index 100% rename from projectbuilders/qmakebuilder/qmakejob.cpp rename to plugins/qmakebuilder/qmakejob.cpp diff --git a/projectbuilders/qmakebuilder/qmakejob.h b/plugins/qmakebuilder/qmakejob.h similarity index 100% rename from projectbuilders/qmakebuilder/qmakejob.h rename to plugins/qmakebuilder/qmakejob.h diff --git a/projectmanagers/qmake/CMakeLists.txt b/plugins/qmakemanager/CMakeLists.txt similarity index 96% rename from projectmanagers/qmake/CMakeLists.txt rename to plugins/qmakemanager/CMakeLists.txt index 2aac6bad31..2e1c7fbd18 100644 --- a/projectmanagers/qmake/CMakeLists.txt +++ b/plugins/qmakemanager/CMakeLists.txt @@ -1,47 +1,49 @@ add_definitions(-DTRANSLATION_DOMAIN=\"kdevqmakemanager\") ecm_qt_declare_logging_category(qmakecommon_LOG_SRCS HEADER debug.h IDENTIFIER KDEV_QMAKE CATEGORY_NAME "kdevelop.projectmanagers.qmake" ) add_subdirectory(parser) if(BUILD_TESTING) add_subdirectory(tests) endif() set(qmakecommon_SRCS qmakebuilddirchooser.cpp qmakebuilddirchooserdialog.cpp qmakecache.cpp qmakeconfig.cpp qmakefile.cpp qmakefilevisitor.cpp qmakeincludefile.cpp qmakemkspecs.cpp qmakeprojectfile.cpp qmakeutils.cpp variablereferenceparser.cpp ${qmakecommon_LOG_SRCS} ) ki18n_wrap_ui(qmakecommon_SRCS qmakebuilddirchooser.ui) add_library(kdevqmakecommon STATIC ${qmakecommon_SRCS}) target_link_libraries(kdevqmakecommon KDev::Interfaces KDev::Project KDev::Util kdevqmakeparser) set(kdevqmakemanager_PART_SRCS qmakemanager.cpp qmakemodelitems.cpp qmakejob.cpp ) kdevplatform_add_plugin(kdevqmakemanager JSON kdevqmakemanager.json SOURCES ${kdevqmakemanager_PART_SRCS}) target_link_libraries(kdevqmakemanager KDev::Interfaces KDev::Project KDev::Util KDev::OutputView KDev::Serialization + KDev::QMakeBuilder kdevqmakecommon - kdevqmakeparser) + kdevqmakeparser +) diff --git a/projectmanagers/qmake/Messages.sh b/plugins/qmakemanager/Messages.sh similarity index 100% rename from projectmanagers/qmake/Messages.sh rename to plugins/qmakemanager/Messages.sh diff --git a/projectmanagers/qmake/TODO b/plugins/qmakemanager/TODO similarity index 100% rename from projectmanagers/qmake/TODO rename to plugins/qmakemanager/TODO diff --git a/projectmanagers/qmake/kdevqmakemanager.json b/plugins/qmakemanager/kdevqmakemanager.json similarity index 100% rename from projectmanagers/qmake/kdevqmakemanager.json rename to plugins/qmakemanager/kdevqmakemanager.json diff --git a/projectmanagers/qmake/parser/.krazy b/plugins/qmakemanager/parser/.krazy similarity index 100% rename from projectmanagers/qmake/parser/.krazy rename to plugins/qmakemanager/parser/.krazy diff --git a/projectmanagers/qmake/parser/CMakeLists.txt b/plugins/qmakemanager/parser/CMakeLists.txt similarity index 100% rename from projectmanagers/qmake/parser/CMakeLists.txt rename to plugins/qmakemanager/parser/CMakeLists.txt diff --git a/projectmanagers/qmake/parser/ast.h b/plugins/qmakemanager/parser/ast.h similarity index 100% rename from projectmanagers/qmake/parser/ast.h rename to plugins/qmakemanager/parser/ast.h diff --git a/projectmanagers/qmake/parser/buildastvisitor.cpp b/plugins/qmakemanager/parser/buildastvisitor.cpp similarity index 100% rename from projectmanagers/qmake/parser/buildastvisitor.cpp rename to plugins/qmakemanager/parser/buildastvisitor.cpp diff --git a/projectmanagers/qmake/parser/buildastvisitor.h b/plugins/qmakemanager/parser/buildastvisitor.h similarity index 100% rename from projectmanagers/qmake/parser/buildastvisitor.h rename to plugins/qmakemanager/parser/buildastvisitor.h diff --git a/projectmanagers/qmake/parser/main.cpp b/plugins/qmakemanager/parser/main.cpp similarity index 100% rename from projectmanagers/qmake/parser/main.cpp rename to plugins/qmakemanager/parser/main.cpp diff --git a/projectmanagers/qmake/parser/qmake.g b/plugins/qmakemanager/parser/qmake.g similarity index 100% rename from projectmanagers/qmake/parser/qmake.g rename to plugins/qmakemanager/parser/qmake.g diff --git a/projectmanagers/qmake/parser/qmakeast.cpp b/plugins/qmakemanager/parser/qmakeast.cpp similarity index 100% rename from projectmanagers/qmake/parser/qmakeast.cpp rename to plugins/qmakemanager/parser/qmakeast.cpp diff --git a/projectmanagers/qmake/parser/qmakeastdefaultvisitor.cpp b/plugins/qmakemanager/parser/qmakeastdefaultvisitor.cpp similarity index 100% rename from projectmanagers/qmake/parser/qmakeastdefaultvisitor.cpp rename to plugins/qmakemanager/parser/qmakeastdefaultvisitor.cpp diff --git a/projectmanagers/qmake/parser/qmakeastdefaultvisitor.h b/plugins/qmakemanager/parser/qmakeastdefaultvisitor.h similarity index 100% rename from projectmanagers/qmake/parser/qmakeastdefaultvisitor.h rename to plugins/qmakemanager/parser/qmakeastdefaultvisitor.h diff --git a/projectmanagers/qmake/parser/qmakeastvisitor.cpp b/plugins/qmakemanager/parser/qmakeastvisitor.cpp similarity index 100% rename from projectmanagers/qmake/parser/qmakeastvisitor.cpp rename to plugins/qmakemanager/parser/qmakeastvisitor.cpp diff --git a/projectmanagers/qmake/parser/qmakeastvisitor.h b/plugins/qmakemanager/parser/qmakeastvisitor.h similarity index 100% rename from projectmanagers/qmake/parser/qmakeastvisitor.h rename to plugins/qmakemanager/parser/qmakeastvisitor.h diff --git a/projectmanagers/qmake/parser/qmakedebugvisitor.cpp b/plugins/qmakemanager/parser/qmakedebugvisitor.cpp similarity index 100% rename from projectmanagers/qmake/parser/qmakedebugvisitor.cpp rename to plugins/qmakemanager/parser/qmakedebugvisitor.cpp diff --git a/projectmanagers/qmake/parser/qmakedebugvisitor.h b/plugins/qmakemanager/parser/qmakedebugvisitor.h similarity index 100% rename from projectmanagers/qmake/parser/qmakedebugvisitor.h rename to plugins/qmakemanager/parser/qmakedebugvisitor.h diff --git a/projectmanagers/qmake/parser/qmakedriver.cpp b/plugins/qmakemanager/parser/qmakedriver.cpp similarity index 100% rename from projectmanagers/qmake/parser/qmakedriver.cpp rename to plugins/qmakemanager/parser/qmakedriver.cpp diff --git a/projectmanagers/qmake/parser/qmakedriver.h b/plugins/qmakemanager/parser/qmakedriver.h similarity index 100% rename from projectmanagers/qmake/parser/qmakedriver.h rename to plugins/qmakemanager/parser/qmakedriver.h diff --git a/projectmanagers/qmake/parser/qmakelexer.cpp b/plugins/qmakemanager/parser/qmakelexer.cpp similarity index 100% rename from projectmanagers/qmake/parser/qmakelexer.cpp rename to plugins/qmakemanager/parser/qmakelexer.cpp diff --git a/projectmanagers/qmake/parser/qmakelexer.h b/plugins/qmakemanager/parser/qmakelexer.h similarity index 100% rename from projectmanagers/qmake/parser/qmakelexer.h rename to plugins/qmakemanager/parser/qmakelexer.h diff --git a/projectmanagers/qmake/parser/tests/CMakeLists.txt b/plugins/qmakemanager/parser/tests/CMakeLists.txt similarity index 100% rename from projectmanagers/qmake/parser/tests/CMakeLists.txt rename to plugins/qmakemanager/parser/tests/CMakeLists.txt diff --git a/projectmanagers/qmake/parser/tests/assignmenttest.cpp b/plugins/qmakemanager/parser/tests/assignmenttest.cpp similarity index 100% rename from projectmanagers/qmake/parser/tests/assignmenttest.cpp rename to plugins/qmakemanager/parser/tests/assignmenttest.cpp diff --git a/projectmanagers/qmake/parser/tests/assignmenttest.h b/plugins/qmakemanager/parser/tests/assignmenttest.h similarity index 100% rename from projectmanagers/qmake/parser/tests/assignmenttest.h rename to plugins/qmakemanager/parser/tests/assignmenttest.h diff --git a/projectmanagers/qmake/parser/tests/functionscopetest.cpp b/plugins/qmakemanager/parser/tests/functionscopetest.cpp similarity index 100% rename from projectmanagers/qmake/parser/tests/functionscopetest.cpp rename to plugins/qmakemanager/parser/tests/functionscopetest.cpp diff --git a/projectmanagers/qmake/parser/tests/functionscopetest.h b/plugins/qmakemanager/parser/tests/functionscopetest.h similarity index 100% rename from projectmanagers/qmake/parser/tests/functionscopetest.h rename to plugins/qmakemanager/parser/tests/functionscopetest.h diff --git a/projectmanagers/qmake/parser/tests/lexertest.cpp b/plugins/qmakemanager/parser/tests/lexertest.cpp similarity index 100% rename from projectmanagers/qmake/parser/tests/lexertest.cpp rename to plugins/qmakemanager/parser/tests/lexertest.cpp diff --git a/projectmanagers/qmake/parser/tests/lexertest.h b/plugins/qmakemanager/parser/tests/lexertest.h similarity index 100% rename from projectmanagers/qmake/parser/tests/lexertest.h rename to plugins/qmakemanager/parser/tests/lexertest.h diff --git a/projectmanagers/qmake/parser/tests/parsetest.cpp b/plugins/qmakemanager/parser/tests/parsetest.cpp similarity index 100% rename from projectmanagers/qmake/parser/tests/parsetest.cpp rename to plugins/qmakemanager/parser/tests/parsetest.cpp diff --git a/projectmanagers/qmake/parser/tests/parsetest.h b/plugins/qmakemanager/parser/tests/parsetest.h similarity index 100% rename from projectmanagers/qmake/parser/tests/parsetest.h rename to plugins/qmakemanager/parser/tests/parsetest.h diff --git a/projectmanagers/qmake/parser/tests/scopetest.cpp b/plugins/qmakemanager/parser/tests/scopetest.cpp similarity index 100% rename from projectmanagers/qmake/parser/tests/scopetest.cpp rename to plugins/qmakemanager/parser/tests/scopetest.cpp diff --git a/projectmanagers/qmake/parser/tests/scopetest.h b/plugins/qmakemanager/parser/tests/scopetest.h similarity index 100% rename from projectmanagers/qmake/parser/tests/scopetest.h rename to plugins/qmakemanager/parser/tests/scopetest.h diff --git a/projectmanagers/qmake/parser/tests/testhelpers.cpp b/plugins/qmakemanager/parser/tests/testhelpers.cpp similarity index 100% rename from projectmanagers/qmake/parser/tests/testhelpers.cpp rename to plugins/qmakemanager/parser/tests/testhelpers.cpp diff --git a/projectmanagers/qmake/parser/tests/testhelpers.h b/plugins/qmakemanager/parser/tests/testhelpers.h similarity index 100% rename from projectmanagers/qmake/parser/tests/testhelpers.h rename to plugins/qmakemanager/parser/tests/testhelpers.h diff --git a/projectmanagers/qmake/qmakebuilddirchooser.cpp b/plugins/qmakemanager/qmakebuilddirchooser.cpp similarity index 100% rename from projectmanagers/qmake/qmakebuilddirchooser.cpp rename to plugins/qmakemanager/qmakebuilddirchooser.cpp diff --git a/projectmanagers/qmake/qmakebuilddirchooser.h b/plugins/qmakemanager/qmakebuilddirchooser.h similarity index 100% rename from projectmanagers/qmake/qmakebuilddirchooser.h rename to plugins/qmakemanager/qmakebuilddirchooser.h diff --git a/projectmanagers/qmake/qmakebuilddirchooser.ui b/plugins/qmakemanager/qmakebuilddirchooser.ui similarity index 100% rename from projectmanagers/qmake/qmakebuilddirchooser.ui rename to plugins/qmakemanager/qmakebuilddirchooser.ui diff --git a/projectmanagers/qmake/qmakebuilddirchooserdialog.cpp b/plugins/qmakemanager/qmakebuilddirchooserdialog.cpp similarity index 100% rename from projectmanagers/qmake/qmakebuilddirchooserdialog.cpp rename to plugins/qmakemanager/qmakebuilddirchooserdialog.cpp diff --git a/projectmanagers/qmake/qmakebuilddirchooserdialog.h b/plugins/qmakemanager/qmakebuilddirchooserdialog.h similarity index 100% rename from projectmanagers/qmake/qmakebuilddirchooserdialog.h rename to plugins/qmakemanager/qmakebuilddirchooserdialog.h diff --git a/projectmanagers/qmake/qmakecache.cpp b/plugins/qmakemanager/qmakecache.cpp similarity index 100% rename from projectmanagers/qmake/qmakecache.cpp rename to plugins/qmakemanager/qmakecache.cpp diff --git a/projectmanagers/qmake/qmakecache.h b/plugins/qmakemanager/qmakecache.h similarity index 100% rename from projectmanagers/qmake/qmakecache.h rename to plugins/qmakemanager/qmakecache.h diff --git a/projectmanagers/qmake/qmakeconfig.cpp b/plugins/qmakemanager/qmakeconfig.cpp similarity index 100% rename from projectmanagers/qmake/qmakeconfig.cpp rename to plugins/qmakemanager/qmakeconfig.cpp diff --git a/projectmanagers/qmake/qmakeconfig.h b/plugins/qmakemanager/qmakeconfig.h similarity index 100% rename from projectmanagers/qmake/qmakeconfig.h rename to plugins/qmakemanager/qmakeconfig.h diff --git a/projectmanagers/qmake/qmakefile.cpp b/plugins/qmakemanager/qmakefile.cpp similarity index 100% rename from projectmanagers/qmake/qmakefile.cpp rename to plugins/qmakemanager/qmakefile.cpp diff --git a/projectmanagers/qmake/qmakefile.h b/plugins/qmakemanager/qmakefile.h similarity index 100% rename from projectmanagers/qmake/qmakefile.h rename to plugins/qmakemanager/qmakefile.h diff --git a/projectmanagers/qmake/qmakefilevisitor.cpp b/plugins/qmakemanager/qmakefilevisitor.cpp similarity index 100% rename from projectmanagers/qmake/qmakefilevisitor.cpp rename to plugins/qmakemanager/qmakefilevisitor.cpp diff --git a/projectmanagers/qmake/qmakefilevisitor.h b/plugins/qmakemanager/qmakefilevisitor.h similarity index 100% rename from projectmanagers/qmake/qmakefilevisitor.h rename to plugins/qmakemanager/qmakefilevisitor.h diff --git a/projectmanagers/qmake/qmakeincludefile.cpp b/plugins/qmakemanager/qmakeincludefile.cpp similarity index 100% rename from projectmanagers/qmake/qmakeincludefile.cpp rename to plugins/qmakemanager/qmakeincludefile.cpp diff --git a/projectmanagers/qmake/qmakeincludefile.h b/plugins/qmakemanager/qmakeincludefile.h similarity index 100% rename from projectmanagers/qmake/qmakeincludefile.h rename to plugins/qmakemanager/qmakeincludefile.h diff --git a/projectmanagers/qmake/qmakejob.cpp b/plugins/qmakemanager/qmakejob.cpp similarity index 100% rename from projectmanagers/qmake/qmakejob.cpp rename to plugins/qmakemanager/qmakejob.cpp diff --git a/projectmanagers/qmake/qmakejob.h b/plugins/qmakemanager/qmakejob.h similarity index 100% rename from projectmanagers/qmake/qmakejob.h rename to plugins/qmakemanager/qmakejob.h diff --git a/projectmanagers/qmake/qmakemanager.cpp b/plugins/qmakemanager/qmakemanager.cpp similarity index 99% rename from projectmanagers/qmake/qmakemanager.cpp rename to plugins/qmakemanager/qmakemanager.cpp index 6ddb38c3bd..761ee49a4e 100644 --- a/projectmanagers/qmake/qmakemanager.cpp +++ b/plugins/qmakemanager/qmakemanager.cpp @@ -1,513 +1,513 @@ /* KDevelop QMake Support * * Copyright 2006 Andreas Pakulat * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include "qmakemanager.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include -#include +#include #include "qmakemodelitems.h" #include "qmakeprojectfile.h" #include "qmakecache.h" #include "qmakemkspecs.h" #include "qmakejob.h" #include "qmakebuilddirchooserdialog.h" #include "qmakeconfig.h" #include "qmakeutils.h" #include using namespace KDevelop; // BEGIN Helpers QMakeFolderItem* findQMakeFolderParent(ProjectBaseItem* item) { QMakeFolderItem* p = nullptr; while (!p && item) { p = dynamic_cast(item); item = item->parent(); } return p; } // END Helpers K_PLUGIN_FACTORY_WITH_JSON(QMakeSupportFactory, "kdevqmakemanager.json", registerPlugin();) QMakeProjectManager* QMakeProjectManager::m_self = nullptr; QMakeProjectManager* QMakeProjectManager::self() { return m_self; } QMakeProjectManager::QMakeProjectManager(QObject* parent, const QVariantList&) : AbstractFileManagerPlugin(QStringLiteral("kdevqmakemanager"), parent) , IBuildSystemManager() , m_builder(nullptr) , m_runQMake(nullptr) { Q_ASSERT(!m_self); m_self = this; IPlugin* i = core()->pluginController()->pluginForExtension(QStringLiteral("org.kdevelop.IQMakeBuilder")); Q_ASSERT(i); m_builder = i->extension(); Q_ASSERT(m_builder); connect(this, SIGNAL(folderAdded(KDevelop::ProjectFolderItem*)), this, SLOT(slotFolderAdded(KDevelop::ProjectFolderItem*))); m_runQMake = new QAction(QIcon::fromTheme(QStringLiteral("qtlogo")), i18n("Run QMake"), this); connect(m_runQMake, &QAction::triggered, this, &QMakeProjectManager::slotRunQMake); } QMakeProjectManager::~QMakeProjectManager() { m_self = nullptr; } IProjectFileManager::Features QMakeProjectManager::features() const { return Features(Folders | Targets | Files); } bool QMakeProjectManager::isValid(const Path& path, const bool isFolder, IProject* project) const { if (!isFolder && path.lastPathSegment().startsWith(QLatin1String("Makefile"))) { return false; } return AbstractFileManagerPlugin::isValid(path, isFolder, project); } Path QMakeProjectManager::buildDirectory(ProjectBaseItem* item) const { /// TODO: support includes by some other parent or sibling in a different file-tree-branch QMakeFolderItem* qmakeItem = findQMakeFolderParent(item); Path dir; if (qmakeItem) { if (!qmakeItem->parent()) { // build root item dir = QMakeConfig::buildDirFromSrc(qmakeItem->project(), qmakeItem->path()); } else { // build sub-item foreach (QMakeProjectFile* pro, qmakeItem->projectFiles()) { if (QDir(pro->absoluteDir()) == QFileInfo(qmakeItem->path().toUrl().toLocalFile() + '/').absoluteDir() || pro->hasSubProject(qmakeItem->path().toUrl().toLocalFile())) { // get path from project root and it to buildDir dir = QMakeConfig::buildDirFromSrc(qmakeItem->project(), Path(pro->absoluteDir())); break; } } } } qCDebug(KDEV_QMAKE) << "build dir for" << item->text() << item->path() << "is:" << dir; return dir; } ProjectFolderItem* QMakeProjectManager::createFolderItem(IProject* project, const Path& path, ProjectBaseItem* parent) { if (!parent) { return projectRootItem(project, path); } else if (ProjectFolderItem* buildFolder = buildFolderItem(project, path, parent)) { // child folder in a qmake folder return buildFolder; } else { return AbstractFileManagerPlugin::createFolderItem(project, path, parent); } } ProjectFolderItem* QMakeProjectManager::projectRootItem(IProject* project, const Path& path) { QFileInfo fi(path.toLocalFile()); QDir dir(path.toLocalFile()); auto item = new QMakeFolderItem(project, path); QHash qmvars = QMakeUtils::queryQMake(project); const QString mkSpecFile = QMakeConfig::findBasicMkSpec(qmvars); Q_ASSERT(!mkSpecFile.isEmpty()); QMakeMkSpecs* mkspecs = new QMakeMkSpecs(mkSpecFile, qmvars); mkspecs->setProject(project); mkspecs->read(); QMakeCache* cache = findQMakeCache(project); if (cache) { cache->setMkSpecs(mkspecs); cache->read(); } QStringList projectfiles = dir.entryList(QStringList() << QStringLiteral("*.pro")); for (const auto& projectfile : projectfiles) { Path proPath(path, projectfile); /// TODO: use Path in QMakeProjectFile QMakeProjectFile* scope = new QMakeProjectFile(proPath.toLocalFile()); scope->setProject(project); scope->setMkSpecs(mkspecs); if (cache) { scope->setQMakeCache(cache); } scope->read(); qCDebug(KDEV_QMAKE) << "top-level scope with variables:" << scope->variables(); item->addProjectFile(scope); } return item; } ProjectFolderItem* QMakeProjectManager::buildFolderItem(IProject* project, const Path& path, ProjectBaseItem* parent) { // find .pro or .pri files in dir QDir dir(path.toLocalFile()); QStringList projectFiles = dir.entryList(QStringList() << QStringLiteral("*.pro") << QStringLiteral("*.pri"), QDir::Files); if (projectFiles.isEmpty()) { return nullptr; } auto folderItem = new QMakeFolderItem(project, path, parent); // TODO: included by not-parent file (in a nother file-tree-branch). QMakeFolderItem* qmakeParent = findQMakeFolderParent(parent); if (!qmakeParent) { // happens for bad qmake configurations return nullptr; } foreach (const QString& file, projectFiles) { const QString absFile = dir.absoluteFilePath(file); // TODO: multiple includes by different .pro's QMakeProjectFile* parentPro = nullptr; foreach (QMakeProjectFile* p, qmakeParent->projectFiles()) { if (p->hasSubProject(absFile)) { parentPro = p; break; } } if (!parentPro && file.endsWith(QLatin1String(".pri"))) { continue; } qCDebug(KDEV_QMAKE) << "add project file:" << absFile; if (parentPro) { qCDebug(KDEV_QMAKE) << "parent:" << parentPro->absoluteFile(); } else { qCDebug(KDEV_QMAKE) << "no parent, assume project root"; } auto qmscope = new QMakeProjectFile(absFile); qmscope->setProject(project); const QFileInfo info(absFile); const QDir d = info.dir(); /// TODO: cleanup if (parentPro) { // subdir if (QMakeCache* cache = findQMakeCache(project, Path(d.canonicalPath()))) { cache->setMkSpecs(parentPro->mkSpecs()); cache->read(); qmscope->setQMakeCache(cache); } else { qmscope->setQMakeCache(parentPro->qmakeCache()); } qmscope->setMkSpecs(parentPro->mkSpecs()); } else { // new project QMakeFolderItem* root = dynamic_cast(project->projectItem()); Q_ASSERT(root); qmscope->setMkSpecs(root->projectFiles().first()->mkSpecs()); if (root->projectFiles().first()->qmakeCache()) { qmscope->setQMakeCache(root->projectFiles().first()->qmakeCache()); } } if (qmscope->read()) { // TODO: only on read? folderItem->addProjectFile(qmscope); } else { delete qmscope; return nullptr; } } return folderItem; } void QMakeProjectManager::slotFolderAdded(ProjectFolderItem* folder) { QMakeFolderItem* qmakeParent = dynamic_cast(folder); if (!qmakeParent) { return; } qCDebug(KDEV_QMAKE) << "adding targets for" << folder->path(); foreach (QMakeProjectFile* pro, qmakeParent->projectFiles()) { foreach (const QString& s, pro->targets()) { if (!isValid(Path(folder->path(), s), false, folder->project())) { continue; } qCDebug(KDEV_QMAKE) << "adding target:" << s; Q_ASSERT(!s.isEmpty()); auto target = new QMakeTargetItem(pro, folder->project(), s, folder); foreach (const QString& path, pro->filesForTarget(s)) { new ProjectFileItem(folder->project(), Path(path), target); /// TODO: signal? } } } } ProjectFolderItem* QMakeProjectManager::import(IProject* project) { const Path dirName = project->path(); if (dirName.isRemote()) { // FIXME turn this into a real warning qCWarning(KDEV_QMAKE) << "not a local file. QMake support doesn't handle remote projects"; return nullptr; } QMakeUtils::checkForNeedingConfigure(project); ProjectFolderItem* ret = AbstractFileManagerPlugin::import(project); connect(projectWatcher(project), &KDirWatch::dirty, this, &QMakeProjectManager::slotDirty); return ret; } void QMakeProjectManager::slotDirty(const QString& path) { if (!path.endsWith(QLatin1String(".pro")) && !path.endsWith(QLatin1String(".pri"))) { return; } QFileInfo info(path); if (!info.isFile()) { return; } const QUrl url = QUrl::fromLocalFile(path); if (!isValid(Path(url), false, nullptr)) { return; } IProject* project = ICore::self()->projectController()->findProjectForUrl(url); if (!project) { // this can happen when we create/remove lots of files in a // sub dir of a project - ignore such cases for now return; } bool finished = false; foreach (ProjectFolderItem* folder, project->foldersForPath(IndexedString(KIO::upUrl(url)))) { if (QMakeFolderItem* qmakeFolder = dynamic_cast(folder)) { foreach (QMakeProjectFile* pro, qmakeFolder->projectFiles()) { if (pro->absoluteFile() == path) { // TODO: children // TODO: cache added qCDebug(KDEV_QMAKE) << "reloading" << pro << path; pro->read(); } } finished = true; } else if (ProjectFolderItem* newFolder = buildFolderItem(project, folder->path(), folder->parent())) { qCDebug(KDEV_QMAKE) << "changing from normal folder to qmake project folder:" << folder->path().toUrl(); // .pro / .pri file did not exist before while (folder->rowCount()) { newFolder->appendRow(folder->takeRow(0)); } folder->parent()->removeRow(folder->row()); folder = newFolder; finished = true; } if (finished) { // remove existing targets and readd them for (int i = 0; i < folder->rowCount(); ++i) { if (folder->child(i)->target()) { folder->removeRow(i); } } /// TODO: put into it's own function once we add more stuff to that slot slotFolderAdded(folder); break; } } } QList QMakeProjectManager::targets(ProjectFolderItem* item) const { Q_UNUSED(item) return QList(); } IProjectBuilder* QMakeProjectManager::builder() const { Q_ASSERT(m_builder); return m_builder; } Path::List QMakeProjectManager::collectDirectories(ProjectBaseItem* item, const bool collectIncludes) const { Path::List list; QMakeFolderItem* folder = findQMakeFolderParent(item); if (folder) { foreach (QMakeProjectFile* pro, folder->projectFiles()) { if (pro->files().contains(item->path().toLocalFile())) { const QStringList directories = collectIncludes ? pro->includeDirectories() : pro->frameworkDirectories(); foreach (const QString& dir, directories) { Path path(dir); if (!list.contains(path)) { list << path; } } } } if (list.isEmpty()) { // fallback for new files, use all possible include dirs foreach (QMakeProjectFile* pro, folder->projectFiles()) { const QStringList directories = collectIncludes ? pro->includeDirectories() : pro->frameworkDirectories(); foreach (const QString& dir, directories) { Path path(dir); if (!list.contains(path)) { list << path; } } } } // make sure the base dir is included if (!list.contains(folder->path())) { list << folder->path(); } // qCDebug(KDEV_QMAKE) << "include dirs for" << item->path() << ":" << list; } return list; } Path::List QMakeProjectManager::includeDirectories(ProjectBaseItem* item) const { return collectDirectories(item); } Path::List QMakeProjectManager::frameworkDirectories(ProjectBaseItem* item) const { return collectDirectories(item, false); } QHash QMakeProjectManager::defines(ProjectBaseItem* item) const { QHash d; QMakeFolderItem* folder = findQMakeFolderParent(item); if (!folder) { // happens for bad qmake configurations return d; } foreach (QMakeProjectFile* pro, folder->projectFiles()) { foreach (QMakeProjectFile::DefinePair def, pro->defines()) { d.insert(def.first, def.second); } } return d; } bool QMakeProjectManager::hasBuildInfo(KDevelop::ProjectBaseItem* item) const { return findQMakeFolderParent(item); } QMakeCache* QMakeProjectManager::findQMakeCache(IProject* project, const Path& path) const { QDir curdir(QMakeConfig::buildDirFromSrc(project, !path.isValid() ? project->path() : path).toLocalFile()); curdir.makeAbsolute(); while (!curdir.exists(QStringLiteral(".qmake.cache")) && !curdir.isRoot() && curdir.cdUp()) { qCDebug(KDEV_QMAKE) << curdir; } if (curdir.exists(QStringLiteral(".qmake.cache"))) { qCDebug(KDEV_QMAKE) << "Found QMake cache in " << curdir.absolutePath(); return new QMakeCache(curdir.canonicalPath() + "/.qmake.cache"); } return nullptr; } ContextMenuExtension QMakeProjectManager::contextMenuExtension(Context* context, QWidget* parent) { Q_UNUSED(parent); ContextMenuExtension ext; if (context->hasType(Context::ProjectItemContext)) { ProjectItemContext* pic = dynamic_cast(context); Q_ASSERT(pic); if (pic->items().isEmpty()) { return ext; } m_actionItem = dynamic_cast(pic->items().first()); if (m_actionItem) { ext.addAction(ContextMenuExtension::ProjectGroup, m_runQMake); } } return ext; } void QMakeProjectManager::slotRunQMake() { Q_ASSERT(m_actionItem); Path srcDir = m_actionItem->path(); Path buildDir = QMakeConfig::buildDirFromSrc(m_actionItem->project(), srcDir); QMakeJob* job = new QMakeJob(srcDir.toLocalFile(), buildDir.toLocalFile(), this); job->setQMakePath(QMakeConfig::qmakeExecutable(m_actionItem->project())); KConfigGroup cg(m_actionItem->project()->projectConfiguration(), QMakeConfig::CONFIG_GROUP); QString installPrefix = cg.readEntry(QMakeConfig::INSTALL_PREFIX, QString()); if (!installPrefix.isEmpty()) job->setInstallPrefix(installPrefix); job->setBuildType(cg.readEntry(QMakeConfig::BUILD_TYPE, 0)); job->setExtraArguments(cg.readEntry(QMakeConfig::EXTRA_ARGUMENTS, QString())); KDevelop::ICore::self()->runController()->registerJob(job); } #include "qmakemanager.moc" diff --git a/projectmanagers/qmake/qmakemanager.h b/plugins/qmakemanager/qmakemanager.h similarity index 100% rename from projectmanagers/qmake/qmakemanager.h rename to plugins/qmakemanager/qmakemanager.h diff --git a/projectmanagers/qmake/qmakemkspecs.cpp b/plugins/qmakemanager/qmakemkspecs.cpp similarity index 100% rename from projectmanagers/qmake/qmakemkspecs.cpp rename to plugins/qmakemanager/qmakemkspecs.cpp diff --git a/projectmanagers/qmake/qmakemkspecs.h b/plugins/qmakemanager/qmakemkspecs.h similarity index 100% rename from projectmanagers/qmake/qmakemkspecs.h rename to plugins/qmakemanager/qmakemkspecs.h diff --git a/projectmanagers/qmake/qmakemodelitems.cpp b/plugins/qmakemanager/qmakemodelitems.cpp similarity index 100% rename from projectmanagers/qmake/qmakemodelitems.cpp rename to plugins/qmakemanager/qmakemodelitems.cpp diff --git a/projectmanagers/qmake/qmakemodelitems.h b/plugins/qmakemanager/qmakemodelitems.h similarity index 100% rename from projectmanagers/qmake/qmakemodelitems.h rename to plugins/qmakemanager/qmakemodelitems.h diff --git a/projectmanagers/qmake/qmakeprojectfile.cpp b/plugins/qmakemanager/qmakeprojectfile.cpp similarity index 100% rename from projectmanagers/qmake/qmakeprojectfile.cpp rename to plugins/qmakemanager/qmakeprojectfile.cpp diff --git a/projectmanagers/qmake/qmakeprojectfile.h b/plugins/qmakemanager/qmakeprojectfile.h similarity index 100% rename from projectmanagers/qmake/qmakeprojectfile.h rename to plugins/qmakemanager/qmakeprojectfile.h diff --git a/projectmanagers/qmake/qmakeutils.cpp b/plugins/qmakemanager/qmakeutils.cpp similarity index 100% rename from projectmanagers/qmake/qmakeutils.cpp rename to plugins/qmakemanager/qmakeutils.cpp diff --git a/projectmanagers/qmake/qmakeutils.h b/plugins/qmakemanager/qmakeutils.h similarity index 100% rename from projectmanagers/qmake/qmakeutils.h rename to plugins/qmakemanager/qmakeutils.h diff --git a/projectmanagers/qmake/tests/CMakeLists.txt b/plugins/qmakemanager/tests/CMakeLists.txt similarity index 100% rename from projectmanagers/qmake/tests/CMakeLists.txt rename to plugins/qmakemanager/tests/CMakeLists.txt diff --git a/projectmanagers/qmake/tests/manual/basic_project/basic_project.kdev4 b/plugins/qmakemanager/tests/manual/basic_project/basic_project.kdev4 similarity index 100% rename from projectmanagers/qmake/tests/manual/basic_project/basic_project.kdev4 rename to plugins/qmakemanager/tests/manual/basic_project/basic_project.kdev4 diff --git a/projectmanagers/qmake/tests/manual/basic_project/basic_project.pro b/plugins/qmakemanager/tests/manual/basic_project/basic_project.pro similarity index 100% rename from projectmanagers/qmake/tests/manual/basic_project/basic_project.pro rename to plugins/qmakemanager/tests/manual/basic_project/basic_project.pro diff --git a/projectmanagers/qmake/tests/manual/basic_project/main.cpp b/plugins/qmakemanager/tests/manual/basic_project/main.cpp similarity index 100% rename from projectmanagers/qmake/tests/manual/basic_project/main.cpp rename to plugins/qmakemanager/tests/manual/basic_project/main.cpp diff --git a/projectmanagers/qmake/tests/manual/basic_project/mainwindow.ui b/plugins/qmakemanager/tests/manual/basic_project/mainwindow.ui similarity index 100% rename from projectmanagers/qmake/tests/manual/basic_project/mainwindow.ui rename to plugins/qmakemanager/tests/manual/basic_project/mainwindow.ui diff --git a/projectmanagers/qmake/tests/manual/subdirs_project/dir_a/dir_a.pro b/plugins/qmakemanager/tests/manual/subdirs_project/dir_a/dir_a.pro similarity index 100% rename from projectmanagers/qmake/tests/manual/subdirs_project/dir_a/dir_a.pro rename to plugins/qmakemanager/tests/manual/subdirs_project/dir_a/dir_a.pro diff --git a/projectmanagers/qmake/tests/manual/subdirs_project/dir_a/main.cpp b/plugins/qmakemanager/tests/manual/subdirs_project/dir_a/main.cpp similarity index 100% rename from projectmanagers/qmake/tests/manual/subdirs_project/dir_a/main.cpp rename to plugins/qmakemanager/tests/manual/subdirs_project/dir_a/main.cpp diff --git a/projectmanagers/qmake/tests/manual/subdirs_project/dir_b/dir_b.pro b/plugins/qmakemanager/tests/manual/subdirs_project/dir_b/dir_b.pro similarity index 100% rename from projectmanagers/qmake/tests/manual/subdirs_project/dir_b/dir_b.pro rename to plugins/qmakemanager/tests/manual/subdirs_project/dir_b/dir_b.pro diff --git a/projectmanagers/qmake/tests/manual/subdirs_project/dir_b/main.cpp b/plugins/qmakemanager/tests/manual/subdirs_project/dir_b/main.cpp similarity index 100% rename from projectmanagers/qmake/tests/manual/subdirs_project/dir_b/main.cpp rename to plugins/qmakemanager/tests/manual/subdirs_project/dir_b/main.cpp diff --git a/projectmanagers/qmake/tests/manual/subdirs_project/main.cpp b/plugins/qmakemanager/tests/manual/subdirs_project/main.cpp similarity index 100% rename from projectmanagers/qmake/tests/manual/subdirs_project/main.cpp rename to plugins/qmakemanager/tests/manual/subdirs_project/main.cpp diff --git a/projectmanagers/qmake/tests/manual/subdirs_project/subdirs_project.kdev4 b/plugins/qmakemanager/tests/manual/subdirs_project/subdirs_project.kdev4 similarity index 100% rename from projectmanagers/qmake/tests/manual/subdirs_project/subdirs_project.kdev4 rename to plugins/qmakemanager/tests/manual/subdirs_project/subdirs_project.kdev4 diff --git a/projectmanagers/qmake/tests/manual/subdirs_project/subdirs_project.pro b/plugins/qmakemanager/tests/manual/subdirs_project/subdirs_project.pro similarity index 100% rename from projectmanagers/qmake/tests/manual/subdirs_project/subdirs_project.pro rename to plugins/qmakemanager/tests/manual/subdirs_project/subdirs_project.pro diff --git a/projectmanagers/qmake/tests/qmaketestconfig.h.in b/plugins/qmakemanager/tests/qmaketestconfig.h.in similarity index 100% rename from projectmanagers/qmake/tests/qmaketestconfig.h.in rename to plugins/qmakemanager/tests/qmaketestconfig.h.in diff --git a/projectmanagers/qmake/tests/test_qmakefile.cpp b/plugins/qmakemanager/tests/test_qmakefile.cpp similarity index 100% rename from projectmanagers/qmake/tests/test_qmakefile.cpp rename to plugins/qmakemanager/tests/test_qmakefile.cpp diff --git a/projectmanagers/qmake/tests/test_qmakefile.h b/plugins/qmakemanager/tests/test_qmakefile.h similarity index 100% rename from projectmanagers/qmake/tests/test_qmakefile.h rename to plugins/qmakemanager/tests/test_qmakefile.h diff --git a/projectmanagers/qmake/tests/test_qmakeproject.cpp b/plugins/qmakemanager/tests/test_qmakeproject.cpp similarity index 100% rename from projectmanagers/qmake/tests/test_qmakeproject.cpp rename to plugins/qmakemanager/tests/test_qmakeproject.cpp diff --git a/projectmanagers/qmake/tests/test_qmakeproject.h b/plugins/qmakemanager/tests/test_qmakeproject.h similarity index 100% rename from projectmanagers/qmake/tests/test_qmakeproject.h rename to plugins/qmakemanager/tests/test_qmakeproject.h diff --git a/projectmanagers/qmake/variablereferenceparser.cpp b/plugins/qmakemanager/variablereferenceparser.cpp similarity index 100% rename from projectmanagers/qmake/variablereferenceparser.cpp rename to plugins/qmakemanager/variablereferenceparser.cpp diff --git a/projectmanagers/qmake/variablereferenceparser.h b/plugins/qmakemanager/variablereferenceparser.h similarity index 100% rename from projectmanagers/qmake/variablereferenceparser.h rename to plugins/qmakemanager/variablereferenceparser.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/CMakeLists.txt b/plugins/qmljs/3rdparty/qtcreator-libs/CMakeLists.txt similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/CMakeLists.txt rename to plugins/qmljs/3rdparty/qtcreator-libs/CMakeLists.txt diff --git a/languages/qmljs/3rdparty/qtcreator-libs/LGPL_EXCEPTION.TXT b/plugins/qmljs/3rdparty/qtcreator-libs/LGPL_EXCEPTION.TXT similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/LGPL_EXCEPTION.TXT rename to plugins/qmljs/3rdparty/qtcreator-libs/LGPL_EXCEPTION.TXT diff --git a/languages/qmljs/3rdparty/qtcreator-libs/LICENSE.LGPL b/plugins/qmljs/3rdparty/qtcreator-libs/LICENSE.LGPL similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/LICENSE.LGPL rename to plugins/qmljs/3rdparty/qtcreator-libs/LICENSE.LGPL diff --git a/languages/qmljs/3rdparty/qtcreator-libs/README b/plugins/qmljs/3rdparty/qtcreator-libs/README similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/README rename to plugins/qmljs/3rdparty/qtcreator-libs/README diff --git a/languages/qmljs/3rdparty/qtcreator-libs/languageutils/componentversion.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/languageutils/componentversion.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/languageutils/componentversion.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/languageutils/componentversion.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/languageutils/componentversion.h b/plugins/qmljs/3rdparty/qtcreator-libs/languageutils/componentversion.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/languageutils/componentversion.h rename to plugins/qmljs/3rdparty/qtcreator-libs/languageutils/componentversion.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/languageutils/fakemetaobject.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/languageutils/fakemetaobject.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/languageutils/fakemetaobject.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/languageutils/fakemetaobject.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/languageutils/fakemetaobject.h b/plugins/qmljs/3rdparty/qtcreator-libs/languageutils/fakemetaobject.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/languageutils/fakemetaobject.h rename to plugins/qmljs/3rdparty/qtcreator-libs/languageutils/fakemetaobject.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/languageutils/languageutils_global.h b/plugins/qmljs/3rdparty/qtcreator-libs/languageutils/languageutils_global.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/languageutils/languageutils_global.h rename to plugins/qmljs/3rdparty/qtcreator-libs/languageutils/languageutils_global.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/changeLicense.py b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/changeLicense.py similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/changeLicense.py rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/changeLicense.py diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/cmd.sed b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/cmd.sed similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/cmd.sed rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/cmd.sed diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/gen-parser.sh b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/gen-parser.sh similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/gen-parser.sh rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/gen-parser.sh diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/parser.patch b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/parser.patch similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/parser.patch rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/parser.patch diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/parser.pri b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/parser.pri similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/parser.pri rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/parser.pri diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmldirparser.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmldirparser.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmldirparser.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmldirparser.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmldirparser_p.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmldirparser_p.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmldirparser_p.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmldirparser_p.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmlerror.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmlerror.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmlerror.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmlerror.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmlerror.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmlerror.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmlerror.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmlerror.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljs.g b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljs.g similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljs.g rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljs.g diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsast.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsast.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsast.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsast.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsast_p.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsast_p.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsast_p.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsast_p.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsastfwd_p.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsastfwd_p.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsastfwd_p.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsastfwd_p.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsastvisitor.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsastvisitor.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsastvisitor.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsastvisitor.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsastvisitor_p.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsastvisitor_p.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsastvisitor_p.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsastvisitor_p.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsengine_p.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsengine_p.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsengine_p.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsengine_p.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsengine_p.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsengine_p.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsengine_p.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsengine_p.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsglobal_p.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsglobal_p.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsglobal_p.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsglobal_p.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsgrammar.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsgrammar.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsgrammar.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsgrammar.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsgrammar_p.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsgrammar_p.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsgrammar_p.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsgrammar_p.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljskeywords_p.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljskeywords_p.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljskeywords_p.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljskeywords_p.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljslexer.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljslexer.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljslexer.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljslexer.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljslexer_p.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljslexer_p.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljslexer_p.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljslexer_p.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsmemorypool_p.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsmemorypool_p.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsmemorypool_p.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsmemorypool_p.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsparser.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsparser.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsparser.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsparser.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsparser_p.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsparser_p.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsparser_p.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/parser/qmljsparser_p.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/persistenttrie.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/persistenttrie.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/persistenttrie.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/persistenttrie.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/persistenttrie.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/persistenttrie.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/persistenttrie.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/persistenttrie.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljs_global.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljs_global.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljs_global.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljs_global.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbind.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbind.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbind.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbind.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbind.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbind.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbind.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbind.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbundle.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbundle.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbundle.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbundle.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbundle.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbundle.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbundle.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsbundle.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsconstants.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsconstants.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsconstants.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsconstants.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljscontext.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljscontext.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljscontext.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljscontext.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljscontext.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljscontext.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljscontext.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljscontext.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdialect.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdialect.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdialect.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdialect.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdialect.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdialect.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdialect.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdialect.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdocument.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdocument.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdocument.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdocument.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdocument.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdocument.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdocument.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsdocument.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsevaluate.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsevaluate.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsevaluate.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsevaluate.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsevaluate.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsevaluate.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsevaluate.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsevaluate.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsimportdependencies.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsimportdependencies.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsimportdependencies.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsimportdependencies.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsimportdependencies.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsimportdependencies.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsimportdependencies.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsimportdependencies.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsinterpreter.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsinterpreter.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsinterpreter.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsinterpreter.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsinterpreter.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsinterpreter.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsinterpreter.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsinterpreter.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsmodelmanagerinterface.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsmodelmanagerinterface.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsmodelmanagerinterface.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsmodelmanagerinterface.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsmodelmanagerinterface.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsmodelmanagerinterface.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsmodelmanagerinterface.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsmodelmanagerinterface.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsplugindumper.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsplugindumper.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsplugindumper.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsplugindumper.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsplugindumper.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsplugindumper.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsplugindumper.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsplugindumper.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsqrcparser.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsqrcparser.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsqrcparser.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsqrcparser.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsqrcparser.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsqrcparser.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsqrcparser.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsqrcparser.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopeastpath.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopeastpath.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopeastpath.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopeastpath.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopeastpath.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopeastpath.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopeastpath.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopeastpath.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopebuilder.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopebuilder.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopebuilder.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopebuilder.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopebuilder.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopebuilder.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopebuilder.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopebuilder.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopechain.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopechain.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopechain.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopechain.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopechain.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopechain.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopechain.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsscopechain.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljstypedescriptionreader.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljstypedescriptionreader.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljstypedescriptionreader.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljstypedescriptionreader.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljstypedescriptionreader.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljstypedescriptionreader.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljstypedescriptionreader.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljstypedescriptionreader.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsutils.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsutils.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsutils.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsutils.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsutils.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsutils.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsutils.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsutils.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsvalueowner.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsvalueowner.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsvalueowner.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsvalueowner.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsvalueowner.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsvalueowner.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsvalueowner.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsvalueowner.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsviewercontext.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsviewercontext.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsviewercontext.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsviewercontext.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsviewercontext.h b/plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsviewercontext.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsviewercontext.h rename to plugins/qmljs/3rdparty/qtcreator-libs/qmljs/qmljsviewercontext.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/sync_qtc.sh b/plugins/qmljs/3rdparty/qtcreator-libs/sync_qtc.sh similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/sync_qtc.sh rename to plugins/qmljs/3rdparty/qtcreator-libs/sync_qtc.sh diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/algorithm.h b/plugins/qmljs/3rdparty/qtcreator-libs/utils/algorithm.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/algorithm.h rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/algorithm.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/changeset.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/utils/changeset.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/changeset.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/changeset.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/changeset.h b/plugins/qmljs/3rdparty/qtcreator-libs/utils/changeset.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/changeset.h rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/changeset.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/environment.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/utils/environment.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/environment.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/environment.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/environment.h b/plugins/qmljs/3rdparty/qtcreator-libs/utils/environment.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/environment.h rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/environment.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/filesystemwatcher.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/utils/filesystemwatcher.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/filesystemwatcher.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/filesystemwatcher.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/filesystemwatcher.h b/plugins/qmljs/3rdparty/qtcreator-libs/utils/filesystemwatcher.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/filesystemwatcher.h rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/filesystemwatcher.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/fileutils.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/utils/fileutils.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/fileutils.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/fileutils.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/fileutils.h b/plugins/qmljs/3rdparty/qtcreator-libs/utils/fileutils.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/fileutils.h rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/fileutils.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/fileutils_mac.h b/plugins/qmljs/3rdparty/qtcreator-libs/utils/fileutils_mac.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/fileutils_mac.h rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/fileutils_mac.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/fileutils_mac.mm b/plugins/qmljs/3rdparty/qtcreator-libs/utils/fileutils_mac.mm similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/fileutils_mac.mm rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/fileutils_mac.mm diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/filewizardpage.ui b/plugins/qmljs/3rdparty/qtcreator-libs/utils/filewizardpage.ui similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/filewizardpage.ui rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/filewizardpage.ui diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/hostosinfo.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/utils/hostosinfo.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/hostosinfo.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/hostosinfo.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/hostosinfo.h b/plugins/qmljs/3rdparty/qtcreator-libs/utils/hostosinfo.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/hostosinfo.h rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/hostosinfo.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/json.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/utils/json.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/json.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/json.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/json.h b/plugins/qmljs/3rdparty/qtcreator-libs/utils/json.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/json.h rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/json.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/newclasswidget.ui b/plugins/qmljs/3rdparty/qtcreator-libs/utils/newclasswidget.ui similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/newclasswidget.ui rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/newclasswidget.ui diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/osspecificaspects.h b/plugins/qmljs/3rdparty/qtcreator-libs/utils/osspecificaspects.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/osspecificaspects.h rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/osspecificaspects.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/projectintropage.ui b/plugins/qmljs/3rdparty/qtcreator-libs/utils/projectintropage.ui similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/projectintropage.ui rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/projectintropage.ui diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/qtcassert.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/utils/qtcassert.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/qtcassert.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/qtcassert.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/qtcassert.h b/plugins/qmljs/3rdparty/qtcreator-libs/utils/qtcassert.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/qtcassert.h rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/qtcassert.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/runextensions.h b/plugins/qmljs/3rdparty/qtcreator-libs/utils/runextensions.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/runextensions.h rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/runextensions.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/savefile.cpp b/plugins/qmljs/3rdparty/qtcreator-libs/utils/savefile.cpp similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/savefile.cpp rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/savefile.cpp diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/savefile.h b/plugins/qmljs/3rdparty/qtcreator-libs/utils/savefile.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/savefile.h rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/savefile.h diff --git a/languages/qmljs/3rdparty/qtcreator-libs/utils/utils_global.h b/plugins/qmljs/3rdparty/qtcreator-libs/utils/utils_global.h similarity index 100% rename from languages/qmljs/3rdparty/qtcreator-libs/utils/utils_global.h rename to plugins/qmljs/3rdparty/qtcreator-libs/utils/utils_global.h diff --git a/languages/qmljs/CMakeLists.txt b/plugins/qmljs/CMakeLists.txt similarity index 96% rename from languages/qmljs/CMakeLists.txt rename to plugins/qmljs/CMakeLists.txt index 95f0fe0123..0e1ce53a40 100644 --- a/languages/qmljs/CMakeLists.txt +++ b/plugins/qmljs/CMakeLists.txt @@ -1,33 +1,34 @@ include_directories( ${KDevelop_SOURCE_DIR}/languages/plugins ) add_subdirectory(3rdparty/qtcreator-libs) add_subdirectory(duchain) add_subdirectory(nodejsmodules) if(BUILD_TESTING) add_subdirectory(tests) endif() add_subdirectory(codecompletion) ecm_qt_declare_logging_category(kdevqmljslanguagesupport_LOG_SRCS HEADER debug.h IDENTIFIER KDEV_QMLJS CATEGORY_NAME "kdevelop.languages.qmljs" ) kdevplatform_add_plugin(kdevqmljslanguagesupport JSON kdevqmljs.json SOURCES qmljsparsejob.cpp qmljshighlighting.cpp kdevqmljsplugin.cpp navigation/propertypreviewwidget.cpp ${kdevqmljslanguagesupport_LOG_SRCS} ) target_link_libraries(kdevqmljslanguagesupport kdevqmljsduchain kdevqmljscompletion Qt5::Widgets Qt5::QuickWidgets KF5::Declarative + KDev::DefinesAndIncludesManager ) install(DIRECTORY navigation/propertywidgets DESTINATION ${KDE_INSTALL_DATADIR}/kdevqmljssupport) diff --git a/languages/qmljs/Messages.sh b/plugins/qmljs/Messages.sh similarity index 100% rename from languages/qmljs/Messages.sh rename to plugins/qmljs/Messages.sh diff --git a/languages/qmljs/codecompletion/CMakeLists.txt b/plugins/qmljs/codecompletion/CMakeLists.txt similarity index 100% rename from languages/qmljs/codecompletion/CMakeLists.txt rename to plugins/qmljs/codecompletion/CMakeLists.txt diff --git a/languages/qmljs/codecompletion/context.cpp b/plugins/qmljs/codecompletion/context.cpp similarity index 100% rename from languages/qmljs/codecompletion/context.cpp rename to plugins/qmljs/codecompletion/context.cpp diff --git a/languages/qmljs/codecompletion/context.h b/plugins/qmljs/codecompletion/context.h similarity index 100% rename from languages/qmljs/codecompletion/context.h rename to plugins/qmljs/codecompletion/context.h diff --git a/languages/qmljs/codecompletion/items/completionitem.cpp b/plugins/qmljs/codecompletion/items/completionitem.cpp similarity index 100% rename from languages/qmljs/codecompletion/items/completionitem.cpp rename to plugins/qmljs/codecompletion/items/completionitem.cpp diff --git a/languages/qmljs/codecompletion/items/completionitem.h b/plugins/qmljs/codecompletion/items/completionitem.h similarity index 100% rename from languages/qmljs/codecompletion/items/completionitem.h rename to plugins/qmljs/codecompletion/items/completionitem.h diff --git a/languages/qmljs/codecompletion/items/functioncalltipcompletionitem.cpp b/plugins/qmljs/codecompletion/items/functioncalltipcompletionitem.cpp similarity index 100% rename from languages/qmljs/codecompletion/items/functioncalltipcompletionitem.cpp rename to plugins/qmljs/codecompletion/items/functioncalltipcompletionitem.cpp diff --git a/languages/qmljs/codecompletion/items/functioncalltipcompletionitem.h b/plugins/qmljs/codecompletion/items/functioncalltipcompletionitem.h similarity index 100% rename from languages/qmljs/codecompletion/items/functioncalltipcompletionitem.h rename to plugins/qmljs/codecompletion/items/functioncalltipcompletionitem.h diff --git a/languages/qmljs/codecompletion/items/modulecompletionitem.cpp b/plugins/qmljs/codecompletion/items/modulecompletionitem.cpp similarity index 100% rename from languages/qmljs/codecompletion/items/modulecompletionitem.cpp rename to plugins/qmljs/codecompletion/items/modulecompletionitem.cpp diff --git a/languages/qmljs/codecompletion/items/modulecompletionitem.h b/plugins/qmljs/codecompletion/items/modulecompletionitem.h similarity index 100% rename from languages/qmljs/codecompletion/items/modulecompletionitem.h rename to plugins/qmljs/codecompletion/items/modulecompletionitem.h diff --git a/languages/qmljs/codecompletion/model.cpp b/plugins/qmljs/codecompletion/model.cpp similarity index 100% rename from languages/qmljs/codecompletion/model.cpp rename to plugins/qmljs/codecompletion/model.cpp diff --git a/languages/qmljs/codecompletion/model.h b/plugins/qmljs/codecompletion/model.h similarity index 100% rename from languages/qmljs/codecompletion/model.h rename to plugins/qmljs/codecompletion/model.h diff --git a/languages/qmljs/codecompletion/tests/CMakeLists.txt b/plugins/qmljs/codecompletion/tests/CMakeLists.txt similarity index 100% rename from languages/qmljs/codecompletion/tests/CMakeLists.txt rename to plugins/qmljs/codecompletion/tests/CMakeLists.txt diff --git a/languages/qmljs/codecompletion/tests/test_qmljscompletion.cpp b/plugins/qmljs/codecompletion/tests/test_qmljscompletion.cpp similarity index 100% rename from languages/qmljs/codecompletion/tests/test_qmljscompletion.cpp rename to plugins/qmljs/codecompletion/tests/test_qmljscompletion.cpp diff --git a/languages/qmljs/codecompletion/tests/test_qmljscompletion.h b/plugins/qmljs/codecompletion/tests/test_qmljscompletion.h similarity index 100% rename from languages/qmljs/codecompletion/tests/test_qmljscompletion.h rename to plugins/qmljs/codecompletion/tests/test_qmljscompletion.h diff --git a/languages/qmljs/codecompletion/worker.cpp b/plugins/qmljs/codecompletion/worker.cpp similarity index 100% rename from languages/qmljs/codecompletion/worker.cpp rename to plugins/qmljs/codecompletion/worker.cpp diff --git a/languages/qmljs/codecompletion/worker.h b/plugins/qmljs/codecompletion/worker.h similarity index 100% rename from languages/qmljs/codecompletion/worker.h rename to plugins/qmljs/codecompletion/worker.h diff --git a/languages/qmljs/duchain/CMakeLists.txt b/plugins/qmljs/duchain/CMakeLists.txt similarity index 100% rename from languages/qmljs/duchain/CMakeLists.txt rename to plugins/qmljs/duchain/CMakeLists.txt diff --git a/languages/qmljs/duchain/cache.cpp b/plugins/qmljs/duchain/cache.cpp similarity index 100% rename from languages/qmljs/duchain/cache.cpp rename to plugins/qmljs/duchain/cache.cpp diff --git a/languages/qmljs/duchain/cache.h b/plugins/qmljs/duchain/cache.h similarity index 100% rename from languages/qmljs/duchain/cache.h rename to plugins/qmljs/duchain/cache.h diff --git a/languages/qmljs/duchain/contextbuilder.cpp b/plugins/qmljs/duchain/contextbuilder.cpp similarity index 100% rename from languages/qmljs/duchain/contextbuilder.cpp rename to plugins/qmljs/duchain/contextbuilder.cpp diff --git a/languages/qmljs/duchain/contextbuilder.h b/plugins/qmljs/duchain/contextbuilder.h similarity index 100% rename from languages/qmljs/duchain/contextbuilder.h rename to plugins/qmljs/duchain/contextbuilder.h diff --git a/languages/qmljs/duchain/debugvisitor.cpp b/plugins/qmljs/duchain/debugvisitor.cpp similarity index 100% rename from languages/qmljs/duchain/debugvisitor.cpp rename to plugins/qmljs/duchain/debugvisitor.cpp diff --git a/languages/qmljs/duchain/debugvisitor.h b/plugins/qmljs/duchain/debugvisitor.h similarity index 100% rename from languages/qmljs/duchain/debugvisitor.h rename to plugins/qmljs/duchain/debugvisitor.h diff --git a/languages/qmljs/duchain/declarationbuilder.cpp b/plugins/qmljs/duchain/declarationbuilder.cpp similarity index 100% rename from languages/qmljs/duchain/declarationbuilder.cpp rename to plugins/qmljs/duchain/declarationbuilder.cpp diff --git a/languages/qmljs/duchain/declarationbuilder.h b/plugins/qmljs/duchain/declarationbuilder.h similarity index 100% rename from languages/qmljs/duchain/declarationbuilder.h rename to plugins/qmljs/duchain/declarationbuilder.h diff --git a/languages/qmljs/duchain/expressionvisitor.cpp b/plugins/qmljs/duchain/expressionvisitor.cpp similarity index 100% rename from languages/qmljs/duchain/expressionvisitor.cpp rename to plugins/qmljs/duchain/expressionvisitor.cpp diff --git a/languages/qmljs/duchain/expressionvisitor.h b/plugins/qmljs/duchain/expressionvisitor.h similarity index 100% rename from languages/qmljs/duchain/expressionvisitor.h rename to plugins/qmljs/duchain/expressionvisitor.h diff --git a/languages/qmljs/duchain/frameworks/nodejs.cpp b/plugins/qmljs/duchain/frameworks/nodejs.cpp similarity index 100% rename from languages/qmljs/duchain/frameworks/nodejs.cpp rename to plugins/qmljs/duchain/frameworks/nodejs.cpp diff --git a/languages/qmljs/duchain/frameworks/nodejs.h b/plugins/qmljs/duchain/frameworks/nodejs.h similarity index 100% rename from languages/qmljs/duchain/frameworks/nodejs.h rename to plugins/qmljs/duchain/frameworks/nodejs.h diff --git a/languages/qmljs/duchain/functiondeclaration.cpp b/plugins/qmljs/duchain/functiondeclaration.cpp similarity index 100% rename from languages/qmljs/duchain/functiondeclaration.cpp rename to plugins/qmljs/duchain/functiondeclaration.cpp diff --git a/languages/qmljs/duchain/functiondeclaration.h b/plugins/qmljs/duchain/functiondeclaration.h similarity index 100% rename from languages/qmljs/duchain/functiondeclaration.h rename to plugins/qmljs/duchain/functiondeclaration.h diff --git a/languages/qmljs/duchain/functiontype.cpp b/plugins/qmljs/duchain/functiontype.cpp similarity index 100% rename from languages/qmljs/duchain/functiontype.cpp rename to plugins/qmljs/duchain/functiontype.cpp diff --git a/languages/qmljs/duchain/functiontype.h b/plugins/qmljs/duchain/functiontype.h similarity index 100% rename from languages/qmljs/duchain/functiontype.h rename to plugins/qmljs/duchain/functiontype.h diff --git a/languages/qmljs/duchain/helper.cpp b/plugins/qmljs/duchain/helper.cpp similarity index 100% rename from languages/qmljs/duchain/helper.cpp rename to plugins/qmljs/duchain/helper.cpp diff --git a/languages/qmljs/duchain/helper.h b/plugins/qmljs/duchain/helper.h similarity index 100% rename from languages/qmljs/duchain/helper.h rename to plugins/qmljs/duchain/helper.h diff --git a/languages/qmljs/duchain/navigation/declarationnavigationcontext.cpp b/plugins/qmljs/duchain/navigation/declarationnavigationcontext.cpp similarity index 100% rename from languages/qmljs/duchain/navigation/declarationnavigationcontext.cpp rename to plugins/qmljs/duchain/navigation/declarationnavigationcontext.cpp diff --git a/languages/qmljs/duchain/navigation/declarationnavigationcontext.h b/plugins/qmljs/duchain/navigation/declarationnavigationcontext.h similarity index 100% rename from languages/qmljs/duchain/navigation/declarationnavigationcontext.h rename to plugins/qmljs/duchain/navigation/declarationnavigationcontext.h diff --git a/languages/qmljs/duchain/navigation/navigationwidget.cpp b/plugins/qmljs/duchain/navigation/navigationwidget.cpp similarity index 100% rename from languages/qmljs/duchain/navigation/navigationwidget.cpp rename to plugins/qmljs/duchain/navigation/navigationwidget.cpp diff --git a/languages/qmljs/duchain/navigation/navigationwidget.h b/plugins/qmljs/duchain/navigation/navigationwidget.h similarity index 100% rename from languages/qmljs/duchain/navigation/navigationwidget.h rename to plugins/qmljs/duchain/navigation/navigationwidget.h diff --git a/languages/qmljs/duchain/parsesession.cpp b/plugins/qmljs/duchain/parsesession.cpp similarity index 100% rename from languages/qmljs/duchain/parsesession.cpp rename to plugins/qmljs/duchain/parsesession.cpp diff --git a/languages/qmljs/duchain/parsesession.h b/plugins/qmljs/duchain/parsesession.h similarity index 100% rename from languages/qmljs/duchain/parsesession.h rename to plugins/qmljs/duchain/parsesession.h diff --git a/languages/qmljs/duchain/qmljsducontext.cpp b/plugins/qmljs/duchain/qmljsducontext.cpp similarity index 100% rename from languages/qmljs/duchain/qmljsducontext.cpp rename to plugins/qmljs/duchain/qmljsducontext.cpp diff --git a/languages/qmljs/duchain/qmljsducontext.h b/plugins/qmljs/duchain/qmljsducontext.h similarity index 100% rename from languages/qmljs/duchain/qmljsducontext.h rename to plugins/qmljs/duchain/qmljsducontext.h diff --git a/languages/qmljs/duchain/tests/CMakeLists.txt b/plugins/qmljs/duchain/tests/CMakeLists.txt similarity index 100% rename from languages/qmljs/duchain/tests/CMakeLists.txt rename to plugins/qmljs/duchain/tests/CMakeLists.txt diff --git a/languages/qmljs/duchain/tests/test_qmljscontexts.cpp b/plugins/qmljs/duchain/tests/test_qmljscontexts.cpp similarity index 100% rename from languages/qmljs/duchain/tests/test_qmljscontexts.cpp rename to plugins/qmljs/duchain/tests/test_qmljscontexts.cpp diff --git a/languages/qmljs/duchain/tests/test_qmljscontexts.h b/plugins/qmljs/duchain/tests/test_qmljscontexts.h similarity index 100% rename from languages/qmljs/duchain/tests/test_qmljscontexts.h rename to plugins/qmljs/duchain/tests/test_qmljscontexts.h diff --git a/languages/qmljs/duchain/tests/test_qmljsdeclarations.cpp b/plugins/qmljs/duchain/tests/test_qmljsdeclarations.cpp similarity index 100% rename from languages/qmljs/duchain/tests/test_qmljsdeclarations.cpp rename to plugins/qmljs/duchain/tests/test_qmljsdeclarations.cpp diff --git a/languages/qmljs/duchain/tests/test_qmljsdeclarations.h b/plugins/qmljs/duchain/tests/test_qmljsdeclarations.h similarity index 100% rename from languages/qmljs/duchain/tests/test_qmljsdeclarations.h rename to plugins/qmljs/duchain/tests/test_qmljsdeclarations.h diff --git a/languages/qmljs/duchain/usebuilder.cpp b/plugins/qmljs/duchain/usebuilder.cpp similarity index 100% rename from languages/qmljs/duchain/usebuilder.cpp rename to plugins/qmljs/duchain/usebuilder.cpp diff --git a/languages/qmljs/duchain/usebuilder.h b/plugins/qmljs/duchain/usebuilder.h similarity index 100% rename from languages/qmljs/duchain/usebuilder.h rename to plugins/qmljs/duchain/usebuilder.h diff --git a/languages/qmljs/kdevqmljs.json b/plugins/qmljs/kdevqmljs.json similarity index 100% rename from languages/qmljs/kdevqmljs.json rename to plugins/qmljs/kdevqmljs.json diff --git a/languages/qmljs/kdevqmljsplugin.cpp b/plugins/qmljs/kdevqmljsplugin.cpp similarity index 100% rename from languages/qmljs/kdevqmljsplugin.cpp rename to plugins/qmljs/kdevqmljsplugin.cpp diff --git a/languages/qmljs/kdevqmljsplugin.h b/plugins/qmljs/kdevqmljsplugin.h similarity index 100% rename from languages/qmljs/kdevqmljsplugin.h rename to plugins/qmljs/kdevqmljsplugin.h diff --git a/languages/qmljs/navigation/propertypreviewwidget.cpp b/plugins/qmljs/navigation/propertypreviewwidget.cpp similarity index 100% rename from languages/qmljs/navigation/propertypreviewwidget.cpp rename to plugins/qmljs/navigation/propertypreviewwidget.cpp diff --git a/languages/qmljs/navigation/propertypreviewwidget.h b/plugins/qmljs/navigation/propertypreviewwidget.h similarity index 100% rename from languages/qmljs/navigation/propertypreviewwidget.h rename to plugins/qmljs/navigation/propertypreviewwidget.h diff --git a/languages/qmljs/navigation/propertywidgets/ColorPicker.qml b/plugins/qmljs/navigation/propertywidgets/ColorPicker.qml similarity index 100% rename from languages/qmljs/navigation/propertywidgets/ColorPicker.qml rename to plugins/qmljs/navigation/propertywidgets/ColorPicker.qml diff --git a/languages/qmljs/navigation/propertywidgets/Duration.qml b/plugins/qmljs/navigation/propertywidgets/Duration.qml similarity index 100% rename from languages/qmljs/navigation/propertywidgets/Duration.qml rename to plugins/qmljs/navigation/propertywidgets/Duration.qml diff --git a/languages/qmljs/navigation/propertywidgets/FontFamily.qml b/plugins/qmljs/navigation/propertywidgets/FontFamily.qml similarity index 100% rename from languages/qmljs/navigation/propertywidgets/FontFamily.qml rename to plugins/qmljs/navigation/propertywidgets/FontFamily.qml diff --git a/languages/qmljs/navigation/propertywidgets/FontSize.qml b/plugins/qmljs/navigation/propertywidgets/FontSize.qml similarity index 100% rename from languages/qmljs/navigation/propertywidgets/FontSize.qml rename to plugins/qmljs/navigation/propertywidgets/FontSize.qml diff --git a/languages/qmljs/navigation/propertywidgets/Height.qml b/plugins/qmljs/navigation/propertywidgets/Height.qml similarity index 100% rename from languages/qmljs/navigation/propertywidgets/Height.qml rename to plugins/qmljs/navigation/propertywidgets/Height.qml diff --git a/languages/qmljs/navigation/propertywidgets/Opacity.qml b/plugins/qmljs/navigation/propertywidgets/Opacity.qml similarity index 100% rename from languages/qmljs/navigation/propertywidgets/Opacity.qml rename to plugins/qmljs/navigation/propertywidgets/Opacity.qml diff --git a/languages/qmljs/navigation/propertywidgets/PropertyWidget.qml b/plugins/qmljs/navigation/propertywidgets/PropertyWidget.qml similarity index 100% rename from languages/qmljs/navigation/propertywidgets/PropertyWidget.qml rename to plugins/qmljs/navigation/propertywidgets/PropertyWidget.qml diff --git a/languages/qmljs/navigation/propertywidgets/README b/plugins/qmljs/navigation/propertywidgets/README similarity index 100% rename from languages/qmljs/navigation/propertywidgets/README rename to plugins/qmljs/navigation/propertywidgets/README diff --git a/languages/qmljs/navigation/propertywidgets/Spacing.qml b/plugins/qmljs/navigation/propertywidgets/Spacing.qml similarity index 100% rename from languages/qmljs/navigation/propertywidgets/Spacing.qml rename to plugins/qmljs/navigation/propertywidgets/Spacing.qml diff --git a/languages/qmljs/navigation/propertywidgets/Width.qml b/plugins/qmljs/navigation/propertywidgets/Width.qml similarity index 100% rename from languages/qmljs/navigation/propertywidgets/Width.qml rename to plugins/qmljs/navigation/propertywidgets/Width.qml diff --git a/languages/qmljs/nodejsmodules/CMakeLists.txt b/plugins/qmljs/nodejsmodules/CMakeLists.txt similarity index 100% rename from languages/qmljs/nodejsmodules/CMakeLists.txt rename to plugins/qmljs/nodejsmodules/CMakeLists.txt diff --git a/languages/qmljs/nodejsmodules/__builtin_dom.js b/plugins/qmljs/nodejsmodules/__builtin_dom.js similarity index 100% rename from languages/qmljs/nodejsmodules/__builtin_dom.js rename to plugins/qmljs/nodejsmodules/__builtin_dom.js diff --git a/languages/qmljs/nodejsmodules/__builtin_ecmascript.js b/plugins/qmljs/nodejsmodules/__builtin_ecmascript.js similarity index 100% rename from languages/qmljs/nodejsmodules/__builtin_ecmascript.js rename to plugins/qmljs/nodejsmodules/__builtin_ecmascript.js diff --git a/languages/qmljs/nodejsmodules/__builtin_qml.qml b/plugins/qmljs/nodejsmodules/__builtin_qml.qml similarity index 100% rename from languages/qmljs/nodejsmodules/__builtin_qml.qml rename to plugins/qmljs/nodejsmodules/__builtin_qml.qml diff --git a/languages/qmljs/nodejsmodules/buffer.js b/plugins/qmljs/nodejsmodules/buffer.js similarity index 100% rename from languages/qmljs/nodejsmodules/buffer.js rename to plugins/qmljs/nodejsmodules/buffer.js diff --git a/languages/qmljs/nodejsmodules/buffer.py b/plugins/qmljs/nodejsmodules/buffer.py similarity index 100% rename from languages/qmljs/nodejsmodules/buffer.py rename to plugins/qmljs/nodejsmodules/buffer.py diff --git a/languages/qmljs/nodejsmodules/child_process.js b/plugins/qmljs/nodejsmodules/child_process.js similarity index 100% rename from languages/qmljs/nodejsmodules/child_process.js rename to plugins/qmljs/nodejsmodules/child_process.js diff --git a/languages/qmljs/nodejsmodules/child_process.py b/plugins/qmljs/nodejsmodules/child_process.py similarity index 100% rename from languages/qmljs/nodejsmodules/child_process.py rename to plugins/qmljs/nodejsmodules/child_process.py diff --git a/languages/qmljs/nodejsmodules/common.js b/plugins/qmljs/nodejsmodules/common.js similarity index 100% rename from languages/qmljs/nodejsmodules/common.js rename to plugins/qmljs/nodejsmodules/common.js diff --git a/languages/qmljs/nodejsmodules/common.py b/plugins/qmljs/nodejsmodules/common.py similarity index 100% rename from languages/qmljs/nodejsmodules/common.py rename to plugins/qmljs/nodejsmodules/common.py diff --git a/languages/qmljs/nodejsmodules/console.js b/plugins/qmljs/nodejsmodules/console.js similarity index 100% rename from languages/qmljs/nodejsmodules/console.js rename to plugins/qmljs/nodejsmodules/console.js diff --git a/languages/qmljs/nodejsmodules/console.py b/plugins/qmljs/nodejsmodules/console.py similarity index 100% rename from languages/qmljs/nodejsmodules/console.py rename to plugins/qmljs/nodejsmodules/console.py diff --git a/languages/qmljs/nodejsmodules/crypto.js b/plugins/qmljs/nodejsmodules/crypto.js similarity index 100% rename from languages/qmljs/nodejsmodules/crypto.js rename to plugins/qmljs/nodejsmodules/crypto.js diff --git a/languages/qmljs/nodejsmodules/crypto.py b/plugins/qmljs/nodejsmodules/crypto.py similarity index 100% rename from languages/qmljs/nodejsmodules/crypto.py rename to plugins/qmljs/nodejsmodules/crypto.py diff --git a/languages/qmljs/nodejsmodules/dgram.js b/plugins/qmljs/nodejsmodules/dgram.js similarity index 100% rename from languages/qmljs/nodejsmodules/dgram.js rename to plugins/qmljs/nodejsmodules/dgram.js diff --git a/languages/qmljs/nodejsmodules/dgram.py b/plugins/qmljs/nodejsmodules/dgram.py similarity index 100% rename from languages/qmljs/nodejsmodules/dgram.py rename to plugins/qmljs/nodejsmodules/dgram.py diff --git a/languages/qmljs/nodejsmodules/dns.js b/plugins/qmljs/nodejsmodules/dns.js similarity index 100% rename from languages/qmljs/nodejsmodules/dns.js rename to plugins/qmljs/nodejsmodules/dns.js diff --git a/languages/qmljs/nodejsmodules/dns.py b/plugins/qmljs/nodejsmodules/dns.py similarity index 100% rename from languages/qmljs/nodejsmodules/dns.py rename to plugins/qmljs/nodejsmodules/dns.py diff --git a/languages/qmljs/nodejsmodules/dom_css/CSSCharsetRule.idl b/plugins/qmljs/nodejsmodules/dom_css/CSSCharsetRule.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/CSSCharsetRule.idl rename to plugins/qmljs/nodejsmodules/dom_css/CSSCharsetRule.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/CSSFontFaceRule.idl b/plugins/qmljs/nodejsmodules/dom_css/CSSFontFaceRule.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/CSSFontFaceRule.idl rename to plugins/qmljs/nodejsmodules/dom_css/CSSFontFaceRule.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/CSSImportRule.idl b/plugins/qmljs/nodejsmodules/dom_css/CSSImportRule.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/CSSImportRule.idl rename to plugins/qmljs/nodejsmodules/dom_css/CSSImportRule.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/CSSMediaRule.idl b/plugins/qmljs/nodejsmodules/dom_css/CSSMediaRule.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/CSSMediaRule.idl rename to plugins/qmljs/nodejsmodules/dom_css/CSSMediaRule.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/CSSPageRule.idl b/plugins/qmljs/nodejsmodules/dom_css/CSSPageRule.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/CSSPageRule.idl rename to plugins/qmljs/nodejsmodules/dom_css/CSSPageRule.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/CSSPrimitiveValue.idl b/plugins/qmljs/nodejsmodules/dom_css/CSSPrimitiveValue.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/CSSPrimitiveValue.idl rename to plugins/qmljs/nodejsmodules/dom_css/CSSPrimitiveValue.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/CSSRule.idl b/plugins/qmljs/nodejsmodules/dom_css/CSSRule.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/CSSRule.idl rename to plugins/qmljs/nodejsmodules/dom_css/CSSRule.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/CSSRuleList.idl b/plugins/qmljs/nodejsmodules/dom_css/CSSRuleList.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/CSSRuleList.idl rename to plugins/qmljs/nodejsmodules/dom_css/CSSRuleList.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/CSSStyleDeclaration.idl b/plugins/qmljs/nodejsmodules/dom_css/CSSStyleDeclaration.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/CSSStyleDeclaration.idl rename to plugins/qmljs/nodejsmodules/dom_css/CSSStyleDeclaration.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/CSSStyleRule.idl b/plugins/qmljs/nodejsmodules/dom_css/CSSStyleRule.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/CSSStyleRule.idl rename to plugins/qmljs/nodejsmodules/dom_css/CSSStyleRule.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/CSSStyleSheet.idl b/plugins/qmljs/nodejsmodules/dom_css/CSSStyleSheet.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/CSSStyleSheet.idl rename to plugins/qmljs/nodejsmodules/dom_css/CSSStyleSheet.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/CSSUnknownRule.idl b/plugins/qmljs/nodejsmodules/dom_css/CSSUnknownRule.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/CSSUnknownRule.idl rename to plugins/qmljs/nodejsmodules/dom_css/CSSUnknownRule.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/CSSValue.idl b/plugins/qmljs/nodejsmodules/dom_css/CSSValue.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/CSSValue.idl rename to plugins/qmljs/nodejsmodules/dom_css/CSSValue.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/CSSValueList.idl b/plugins/qmljs/nodejsmodules/dom_css/CSSValueList.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/CSSValueList.idl rename to plugins/qmljs/nodejsmodules/dom_css/CSSValueList.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/Counter.idl b/plugins/qmljs/nodejsmodules/dom_css/Counter.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/Counter.idl rename to plugins/qmljs/nodejsmodules/dom_css/Counter.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/MediaList.idl b/plugins/qmljs/nodejsmodules/dom_css/MediaList.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/MediaList.idl rename to plugins/qmljs/nodejsmodules/dom_css/MediaList.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/MediaQueryList.idl b/plugins/qmljs/nodejsmodules/dom_css/MediaQueryList.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/MediaQueryList.idl rename to plugins/qmljs/nodejsmodules/dom_css/MediaQueryList.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/MediaQueryListListener.idl b/plugins/qmljs/nodejsmodules/dom_css/MediaQueryListListener.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/MediaQueryListListener.idl rename to plugins/qmljs/nodejsmodules/dom_css/MediaQueryListListener.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/RGBColor.idl b/plugins/qmljs/nodejsmodules/dom_css/RGBColor.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/RGBColor.idl rename to plugins/qmljs/nodejsmodules/dom_css/RGBColor.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/Rect.idl b/plugins/qmljs/nodejsmodules/dom_css/Rect.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/Rect.idl rename to plugins/qmljs/nodejsmodules/dom_css/Rect.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/StyleMedia.idl b/plugins/qmljs/nodejsmodules/dom_css/StyleMedia.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/StyleMedia.idl rename to plugins/qmljs/nodejsmodules/dom_css/StyleMedia.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/StyleSheet.idl b/plugins/qmljs/nodejsmodules/dom_css/StyleSheet.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/StyleSheet.idl rename to plugins/qmljs/nodejsmodules/dom_css/StyleSheet.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/StyleSheetList.idl b/plugins/qmljs/nodejsmodules/dom_css/StyleSheetList.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/StyleSheetList.idl rename to plugins/qmljs/nodejsmodules/dom_css/StyleSheetList.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/WebKitCSSKeyframeRule.idl b/plugins/qmljs/nodejsmodules/dom_css/WebKitCSSKeyframeRule.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/WebKitCSSKeyframeRule.idl rename to plugins/qmljs/nodejsmodules/dom_css/WebKitCSSKeyframeRule.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/WebKitCSSKeyframesRule.idl b/plugins/qmljs/nodejsmodules/dom_css/WebKitCSSKeyframesRule.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/WebKitCSSKeyframesRule.idl rename to plugins/qmljs/nodejsmodules/dom_css/WebKitCSSKeyframesRule.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/WebKitCSSMatrix.idl b/plugins/qmljs/nodejsmodules/dom_css/WebKitCSSMatrix.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/WebKitCSSMatrix.idl rename to plugins/qmljs/nodejsmodules/dom_css/WebKitCSSMatrix.idl diff --git a/languages/qmljs/nodejsmodules/dom_css/WebKitCSSTransformValue.idl b/plugins/qmljs/nodejsmodules/dom_css/WebKitCSSTransformValue.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_css/WebKitCSSTransformValue.idl rename to plugins/qmljs/nodejsmodules/dom_css/WebKitCSSTransformValue.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/Attr.idl b/plugins/qmljs/nodejsmodules/dom_dom/Attr.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/Attr.idl rename to plugins/qmljs/nodejsmodules/dom_dom/Attr.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/BeforeLoadEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/BeforeLoadEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/BeforeLoadEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/BeforeLoadEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/BeforeProcessEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/BeforeProcessEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/BeforeProcessEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/BeforeProcessEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/CDATASection.idl b/plugins/qmljs/nodejsmodules/dom_dom/CDATASection.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/CDATASection.idl rename to plugins/qmljs/nodejsmodules/dom_dom/CDATASection.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/CharacterData.idl b/plugins/qmljs/nodejsmodules/dom_dom/CharacterData.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/CharacterData.idl rename to plugins/qmljs/nodejsmodules/dom_dom/CharacterData.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/ClientRect.idl b/plugins/qmljs/nodejsmodules/dom_dom/ClientRect.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/ClientRect.idl rename to plugins/qmljs/nodejsmodules/dom_dom/ClientRect.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/ClientRectList.idl b/plugins/qmljs/nodejsmodules/dom_dom/ClientRectList.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/ClientRectList.idl rename to plugins/qmljs/nodejsmodules/dom_dom/ClientRectList.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/Clipboard.idl b/plugins/qmljs/nodejsmodules/dom_dom/Clipboard.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/Clipboard.idl rename to plugins/qmljs/nodejsmodules/dom_dom/Clipboard.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/Comment.idl b/plugins/qmljs/nodejsmodules/dom_dom/Comment.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/Comment.idl rename to plugins/qmljs/nodejsmodules/dom_dom/Comment.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/CompositionEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/CompositionEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/CompositionEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/CompositionEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/CustomEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/CustomEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/CustomEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/CustomEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/DOMCoreException.idl b/plugins/qmljs/nodejsmodules/dom_dom/DOMCoreException.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/DOMCoreException.idl rename to plugins/qmljs/nodejsmodules/dom_dom/DOMCoreException.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/DOMFormData.idl b/plugins/qmljs/nodejsmodules/dom_dom/DOMFormData.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/DOMFormData.idl rename to plugins/qmljs/nodejsmodules/dom_dom/DOMFormData.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/DOMImplementation.idl b/plugins/qmljs/nodejsmodules/dom_dom/DOMImplementation.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/DOMImplementation.idl rename to plugins/qmljs/nodejsmodules/dom_dom/DOMImplementation.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/DOMSettableTokenList.idl b/plugins/qmljs/nodejsmodules/dom_dom/DOMSettableTokenList.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/DOMSettableTokenList.idl rename to plugins/qmljs/nodejsmodules/dom_dom/DOMSettableTokenList.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/DOMStringList.idl b/plugins/qmljs/nodejsmodules/dom_dom/DOMStringList.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/DOMStringList.idl rename to plugins/qmljs/nodejsmodules/dom_dom/DOMStringList.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/DOMStringMap.idl b/plugins/qmljs/nodejsmodules/dom_dom/DOMStringMap.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/DOMStringMap.idl rename to plugins/qmljs/nodejsmodules/dom_dom/DOMStringMap.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/DOMTokenList.idl b/plugins/qmljs/nodejsmodules/dom_dom/DOMTokenList.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/DOMTokenList.idl rename to plugins/qmljs/nodejsmodules/dom_dom/DOMTokenList.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/DOMURL.idl b/plugins/qmljs/nodejsmodules/dom_dom/DOMURL.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/DOMURL.idl rename to plugins/qmljs/nodejsmodules/dom_dom/DOMURL.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/DataTransferItem.idl b/plugins/qmljs/nodejsmodules/dom_dom/DataTransferItem.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/DataTransferItem.idl rename to plugins/qmljs/nodejsmodules/dom_dom/DataTransferItem.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/DataTransferItems.idl b/plugins/qmljs/nodejsmodules/dom_dom/DataTransferItems.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/DataTransferItems.idl rename to plugins/qmljs/nodejsmodules/dom_dom/DataTransferItems.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/DeviceMotionEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/DeviceMotionEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/DeviceMotionEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/DeviceMotionEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/DeviceOrientationEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/DeviceOrientationEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/DeviceOrientationEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/DeviceOrientationEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/Document.idl b/plugins/qmljs/nodejsmodules/dom_dom/Document.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/Document.idl rename to plugins/qmljs/nodejsmodules/dom_dom/Document.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/DocumentFragment.idl b/plugins/qmljs/nodejsmodules/dom_dom/DocumentFragment.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/DocumentFragment.idl rename to plugins/qmljs/nodejsmodules/dom_dom/DocumentFragment.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/DocumentType.idl b/plugins/qmljs/nodejsmodules/dom_dom/DocumentType.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/DocumentType.idl rename to plugins/qmljs/nodejsmodules/dom_dom/DocumentType.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/Element.idl b/plugins/qmljs/nodejsmodules/dom_dom/Element.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/Element.idl rename to plugins/qmljs/nodejsmodules/dom_dom/Element.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/Entity.idl b/plugins/qmljs/nodejsmodules/dom_dom/Entity.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/Entity.idl rename to plugins/qmljs/nodejsmodules/dom_dom/Entity.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/EntityReference.idl b/plugins/qmljs/nodejsmodules/dom_dom/EntityReference.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/EntityReference.idl rename to plugins/qmljs/nodejsmodules/dom_dom/EntityReference.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/ErrorEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/ErrorEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/ErrorEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/ErrorEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/Event.idl b/plugins/qmljs/nodejsmodules/dom_dom/Event.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/Event.idl rename to plugins/qmljs/nodejsmodules/dom_dom/Event.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/EventException.idl b/plugins/qmljs/nodejsmodules/dom_dom/EventException.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/EventException.idl rename to plugins/qmljs/nodejsmodules/dom_dom/EventException.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/EventListener.idl b/plugins/qmljs/nodejsmodules/dom_dom/EventListener.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/EventListener.idl rename to plugins/qmljs/nodejsmodules/dom_dom/EventListener.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/EventTarget.idl b/plugins/qmljs/nodejsmodules/dom_dom/EventTarget.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/EventTarget.idl rename to plugins/qmljs/nodejsmodules/dom_dom/EventTarget.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/HashChangeEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/HashChangeEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/HashChangeEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/HashChangeEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/KeyboardEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/KeyboardEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/KeyboardEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/KeyboardEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/MessageChannel.idl b/plugins/qmljs/nodejsmodules/dom_dom/MessageChannel.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/MessageChannel.idl rename to plugins/qmljs/nodejsmodules/dom_dom/MessageChannel.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/MessageEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/MessageEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/MessageEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/MessageEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/MessagePort.idl b/plugins/qmljs/nodejsmodules/dom_dom/MessagePort.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/MessagePort.idl rename to plugins/qmljs/nodejsmodules/dom_dom/MessagePort.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/MouseEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/MouseEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/MouseEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/MouseEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/MutationEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/MutationEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/MutationEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/MutationEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/NamedNodeMap.idl b/plugins/qmljs/nodejsmodules/dom_dom/NamedNodeMap.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/NamedNodeMap.idl rename to plugins/qmljs/nodejsmodules/dom_dom/NamedNodeMap.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/Node.idl b/plugins/qmljs/nodejsmodules/dom_dom/Node.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/Node.idl rename to plugins/qmljs/nodejsmodules/dom_dom/Node.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/NodeFilter.idl b/plugins/qmljs/nodejsmodules/dom_dom/NodeFilter.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/NodeFilter.idl rename to plugins/qmljs/nodejsmodules/dom_dom/NodeFilter.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/NodeIterator.idl b/plugins/qmljs/nodejsmodules/dom_dom/NodeIterator.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/NodeIterator.idl rename to plugins/qmljs/nodejsmodules/dom_dom/NodeIterator.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/NodeList.idl b/plugins/qmljs/nodejsmodules/dom_dom/NodeList.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/NodeList.idl rename to plugins/qmljs/nodejsmodules/dom_dom/NodeList.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/Notation.idl b/plugins/qmljs/nodejsmodules/dom_dom/Notation.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/Notation.idl rename to plugins/qmljs/nodejsmodules/dom_dom/Notation.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/OverflowEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/OverflowEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/OverflowEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/OverflowEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/PageTransitionEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/PageTransitionEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/PageTransitionEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/PageTransitionEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/PopStateEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/PopStateEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/PopStateEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/PopStateEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/ProcessingInstruction.idl b/plugins/qmljs/nodejsmodules/dom_dom/ProcessingInstruction.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/ProcessingInstruction.idl rename to plugins/qmljs/nodejsmodules/dom_dom/ProcessingInstruction.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/ProgressEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/ProgressEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/ProgressEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/ProgressEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/Range.idl b/plugins/qmljs/nodejsmodules/dom_dom/Range.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/Range.idl rename to plugins/qmljs/nodejsmodules/dom_dom/Range.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/RangeException.idl b/plugins/qmljs/nodejsmodules/dom_dom/RangeException.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/RangeException.idl rename to plugins/qmljs/nodejsmodules/dom_dom/RangeException.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/RequestAnimationFrameCallback.idl b/plugins/qmljs/nodejsmodules/dom_dom/RequestAnimationFrameCallback.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/RequestAnimationFrameCallback.idl rename to plugins/qmljs/nodejsmodules/dom_dom/RequestAnimationFrameCallback.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/StringCallback.idl b/plugins/qmljs/nodejsmodules/dom_dom/StringCallback.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/StringCallback.idl rename to plugins/qmljs/nodejsmodules/dom_dom/StringCallback.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/Text.idl b/plugins/qmljs/nodejsmodules/dom_dom/Text.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/Text.idl rename to plugins/qmljs/nodejsmodules/dom_dom/Text.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/TextEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/TextEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/TextEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/TextEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/Touch.idl b/plugins/qmljs/nodejsmodules/dom_dom/Touch.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/Touch.idl rename to plugins/qmljs/nodejsmodules/dom_dom/Touch.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/TouchEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/TouchEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/TouchEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/TouchEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/TouchList.idl b/plugins/qmljs/nodejsmodules/dom_dom/TouchList.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/TouchList.idl rename to plugins/qmljs/nodejsmodules/dom_dom/TouchList.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/TreeWalker.idl b/plugins/qmljs/nodejsmodules/dom_dom/TreeWalker.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/TreeWalker.idl rename to plugins/qmljs/nodejsmodules/dom_dom/TreeWalker.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/UIEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/UIEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/UIEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/UIEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/WebKitAnimationEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/WebKitAnimationEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/WebKitAnimationEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/WebKitAnimationEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/WebKitTransitionEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/WebKitTransitionEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/WebKitTransitionEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/WebKitTransitionEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_dom/WheelEvent.idl b/plugins/qmljs/nodejsmodules/dom_dom/WheelEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_dom/WheelEvent.idl rename to plugins/qmljs/nodejsmodules/dom_dom/WheelEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/AbstractView.idl b/plugins/qmljs/nodejsmodules/dom_page/AbstractView.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/AbstractView.idl rename to plugins/qmljs/nodejsmodules/dom_page/AbstractView.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/BarInfo.idl b/plugins/qmljs/nodejsmodules/dom_page/BarInfo.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/BarInfo.idl rename to plugins/qmljs/nodejsmodules/dom_page/BarInfo.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/Console.idl b/plugins/qmljs/nodejsmodules/dom_page/Console.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/Console.idl rename to plugins/qmljs/nodejsmodules/dom_page/Console.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/Coordinates.idl b/plugins/qmljs/nodejsmodules/dom_page/Coordinates.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/Coordinates.idl rename to plugins/qmljs/nodejsmodules/dom_page/Coordinates.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/Crypto.idl b/plugins/qmljs/nodejsmodules/dom_page/Crypto.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/Crypto.idl rename to plugins/qmljs/nodejsmodules/dom_page/Crypto.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/DOMSelection.idl b/plugins/qmljs/nodejsmodules/dom_page/DOMSelection.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/DOMSelection.idl rename to plugins/qmljs/nodejsmodules/dom_page/DOMSelection.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/DOMWindow.idl b/plugins/qmljs/nodejsmodules/dom_page/DOMWindow.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/DOMWindow.idl rename to plugins/qmljs/nodejsmodules/dom_page/DOMWindow.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/EventSource.idl b/plugins/qmljs/nodejsmodules/dom_page/EventSource.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/EventSource.idl rename to plugins/qmljs/nodejsmodules/dom_page/EventSource.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/Geolocation.idl b/plugins/qmljs/nodejsmodules/dom_page/Geolocation.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/Geolocation.idl rename to plugins/qmljs/nodejsmodules/dom_page/Geolocation.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/Geoposition.idl b/plugins/qmljs/nodejsmodules/dom_page/Geoposition.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/Geoposition.idl rename to plugins/qmljs/nodejsmodules/dom_page/Geoposition.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/History.idl b/plugins/qmljs/nodejsmodules/dom_page/History.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/History.idl rename to plugins/qmljs/nodejsmodules/dom_page/History.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/Location.idl b/plugins/qmljs/nodejsmodules/dom_page/Location.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/Location.idl rename to plugins/qmljs/nodejsmodules/dom_page/Location.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/MemoryInfo.idl b/plugins/qmljs/nodejsmodules/dom_page/MemoryInfo.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/MemoryInfo.idl rename to plugins/qmljs/nodejsmodules/dom_page/MemoryInfo.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/Navigator.idl b/plugins/qmljs/nodejsmodules/dom_page/Navigator.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/Navigator.idl rename to plugins/qmljs/nodejsmodules/dom_page/Navigator.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/NavigatorUserMediaError.idl b/plugins/qmljs/nodejsmodules/dom_page/NavigatorUserMediaError.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/NavigatorUserMediaError.idl rename to plugins/qmljs/nodejsmodules/dom_page/NavigatorUserMediaError.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/NavigatorUserMediaErrorCallback.idl b/plugins/qmljs/nodejsmodules/dom_page/NavigatorUserMediaErrorCallback.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/NavigatorUserMediaErrorCallback.idl rename to plugins/qmljs/nodejsmodules/dom_page/NavigatorUserMediaErrorCallback.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/NavigatorUserMediaSuccessCallback.idl b/plugins/qmljs/nodejsmodules/dom_page/NavigatorUserMediaSuccessCallback.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/NavigatorUserMediaSuccessCallback.idl rename to plugins/qmljs/nodejsmodules/dom_page/NavigatorUserMediaSuccessCallback.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/Performance.idl b/plugins/qmljs/nodejsmodules/dom_page/Performance.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/Performance.idl rename to plugins/qmljs/nodejsmodules/dom_page/Performance.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/PerformanceNavigation.idl b/plugins/qmljs/nodejsmodules/dom_page/PerformanceNavigation.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/PerformanceNavigation.idl rename to plugins/qmljs/nodejsmodules/dom_page/PerformanceNavigation.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/PerformanceTiming.idl b/plugins/qmljs/nodejsmodules/dom_page/PerformanceTiming.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/PerformanceTiming.idl rename to plugins/qmljs/nodejsmodules/dom_page/PerformanceTiming.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/PositionError.idl b/plugins/qmljs/nodejsmodules/dom_page/PositionError.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/PositionError.idl rename to plugins/qmljs/nodejsmodules/dom_page/PositionError.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/Screen.idl b/plugins/qmljs/nodejsmodules/dom_page/Screen.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/Screen.idl rename to plugins/qmljs/nodejsmodules/dom_page/Screen.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/SpeechInputEvent.idl b/plugins/qmljs/nodejsmodules/dom_page/SpeechInputEvent.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/SpeechInputEvent.idl rename to plugins/qmljs/nodejsmodules/dom_page/SpeechInputEvent.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/SpeechInputResult.idl b/plugins/qmljs/nodejsmodules/dom_page/SpeechInputResult.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/SpeechInputResult.idl rename to plugins/qmljs/nodejsmodules/dom_page/SpeechInputResult.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/SpeechInputResultList.idl b/plugins/qmljs/nodejsmodules/dom_page/SpeechInputResultList.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/SpeechInputResultList.idl rename to plugins/qmljs/nodejsmodules/dom_page/SpeechInputResultList.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/WebKitAnimation.idl b/plugins/qmljs/nodejsmodules/dom_page/WebKitAnimation.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/WebKitAnimation.idl rename to plugins/qmljs/nodejsmodules/dom_page/WebKitAnimation.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/WebKitAnimationList.idl b/plugins/qmljs/nodejsmodules/dom_page/WebKitAnimationList.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/WebKitAnimationList.idl rename to plugins/qmljs/nodejsmodules/dom_page/WebKitAnimationList.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/WebKitPoint.idl b/plugins/qmljs/nodejsmodules/dom_page/WebKitPoint.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/WebKitPoint.idl rename to plugins/qmljs/nodejsmodules/dom_page/WebKitPoint.idl diff --git a/languages/qmljs/nodejsmodules/dom_page/WorkerNavigator.idl b/plugins/qmljs/nodejsmodules/dom_page/WorkerNavigator.idl similarity index 100% rename from languages/qmljs/nodejsmodules/dom_page/WorkerNavigator.idl rename to plugins/qmljs/nodejsmodules/dom_page/WorkerNavigator.idl diff --git a/languages/qmljs/nodejsmodules/domain.js b/plugins/qmljs/nodejsmodules/domain.js similarity index 100% rename from languages/qmljs/nodejsmodules/domain.js rename to plugins/qmljs/nodejsmodules/domain.js diff --git a/languages/qmljs/nodejsmodules/domain.py b/plugins/qmljs/nodejsmodules/domain.py similarity index 100% rename from languages/qmljs/nodejsmodules/domain.py rename to plugins/qmljs/nodejsmodules/domain.py diff --git a/languages/qmljs/nodejsmodules/ecmascript.py b/plugins/qmljs/nodejsmodules/ecmascript.py similarity index 100% rename from languages/qmljs/nodejsmodules/ecmascript.py rename to plugins/qmljs/nodejsmodules/ecmascript.py diff --git a/languages/qmljs/nodejsmodules/event.js b/plugins/qmljs/nodejsmodules/event.js similarity index 100% rename from languages/qmljs/nodejsmodules/event.js rename to plugins/qmljs/nodejsmodules/event.js diff --git a/languages/qmljs/nodejsmodules/event.py b/plugins/qmljs/nodejsmodules/event.py similarity index 100% rename from languages/qmljs/nodejsmodules/event.py rename to plugins/qmljs/nodejsmodules/event.py diff --git a/languages/qmljs/nodejsmodules/fs.js b/plugins/qmljs/nodejsmodules/fs.js similarity index 100% rename from languages/qmljs/nodejsmodules/fs.js rename to plugins/qmljs/nodejsmodules/fs.js diff --git a/languages/qmljs/nodejsmodules/fs.py b/plugins/qmljs/nodejsmodules/fs.py similarity index 100% rename from languages/qmljs/nodejsmodules/fs.py rename to plugins/qmljs/nodejsmodules/fs.py diff --git a/languages/qmljs/nodejsmodules/http.js b/plugins/qmljs/nodejsmodules/http.js similarity index 100% rename from languages/qmljs/nodejsmodules/http.js rename to plugins/qmljs/nodejsmodules/http.js diff --git a/languages/qmljs/nodejsmodules/http.py b/plugins/qmljs/nodejsmodules/http.py similarity index 100% rename from languages/qmljs/nodejsmodules/http.py rename to plugins/qmljs/nodejsmodules/http.py diff --git a/languages/qmljs/nodejsmodules/https.js b/plugins/qmljs/nodejsmodules/https.js similarity index 100% rename from languages/qmljs/nodejsmodules/https.js rename to plugins/qmljs/nodejsmodules/https.js diff --git a/languages/qmljs/nodejsmodules/https.py b/plugins/qmljs/nodejsmodules/https.py similarity index 100% rename from languages/qmljs/nodejsmodules/https.py rename to plugins/qmljs/nodejsmodules/https.py diff --git a/languages/qmljs/nodejsmodules/idltojs.py b/plugins/qmljs/nodejsmodules/idltojs.py similarity index 100% rename from languages/qmljs/nodejsmodules/idltojs.py rename to plugins/qmljs/nodejsmodules/idltojs.py diff --git a/languages/qmljs/nodejsmodules/jsgenerator.py b/plugins/qmljs/nodejsmodules/jsgenerator.py similarity index 100% rename from languages/qmljs/nodejsmodules/jsgenerator.py rename to plugins/qmljs/nodejsmodules/jsgenerator.py diff --git a/languages/qmljs/nodejsmodules/net.js b/plugins/qmljs/nodejsmodules/net.js similarity index 100% rename from languages/qmljs/nodejsmodules/net.js rename to plugins/qmljs/nodejsmodules/net.js diff --git a/languages/qmljs/nodejsmodules/net.py b/plugins/qmljs/nodejsmodules/net.py similarity index 100% rename from languages/qmljs/nodejsmodules/net.py rename to plugins/qmljs/nodejsmodules/net.py diff --git a/languages/qmljs/nodejsmodules/os.js b/plugins/qmljs/nodejsmodules/os.js similarity index 100% rename from languages/qmljs/nodejsmodules/os.js rename to plugins/qmljs/nodejsmodules/os.js diff --git a/languages/qmljs/nodejsmodules/os.py b/plugins/qmljs/nodejsmodules/os.py similarity index 100% rename from languages/qmljs/nodejsmodules/os.py rename to plugins/qmljs/nodejsmodules/os.py diff --git a/languages/qmljs/nodejsmodules/path.js b/plugins/qmljs/nodejsmodules/path.js similarity index 100% rename from languages/qmljs/nodejsmodules/path.js rename to plugins/qmljs/nodejsmodules/path.js diff --git a/languages/qmljs/nodejsmodules/path.py b/plugins/qmljs/nodejsmodules/path.py similarity index 100% rename from languages/qmljs/nodejsmodules/path.py rename to plugins/qmljs/nodejsmodules/path.py diff --git a/languages/qmljs/nodejsmodules/punycode.js b/plugins/qmljs/nodejsmodules/punycode.js similarity index 100% rename from languages/qmljs/nodejsmodules/punycode.js rename to plugins/qmljs/nodejsmodules/punycode.js diff --git a/languages/qmljs/nodejsmodules/punycode.py b/plugins/qmljs/nodejsmodules/punycode.py similarity index 100% rename from languages/qmljs/nodejsmodules/punycode.py rename to plugins/qmljs/nodejsmodules/punycode.py diff --git a/languages/qmljs/nodejsmodules/querystring.js b/plugins/qmljs/nodejsmodules/querystring.js similarity index 100% rename from languages/qmljs/nodejsmodules/querystring.js rename to plugins/qmljs/nodejsmodules/querystring.js diff --git a/languages/qmljs/nodejsmodules/querystring.py b/plugins/qmljs/nodejsmodules/querystring.py similarity index 100% rename from languages/qmljs/nodejsmodules/querystring.py rename to plugins/qmljs/nodejsmodules/querystring.py diff --git a/languages/qmljs/nodejsmodules/readline.js b/plugins/qmljs/nodejsmodules/readline.js similarity index 100% rename from languages/qmljs/nodejsmodules/readline.js rename to plugins/qmljs/nodejsmodules/readline.js diff --git a/languages/qmljs/nodejsmodules/readline.py b/plugins/qmljs/nodejsmodules/readline.py similarity index 100% rename from languages/qmljs/nodejsmodules/readline.py rename to plugins/qmljs/nodejsmodules/readline.py diff --git a/languages/qmljs/nodejsmodules/stream.js b/plugins/qmljs/nodejsmodules/stream.js similarity index 100% rename from languages/qmljs/nodejsmodules/stream.js rename to plugins/qmljs/nodejsmodules/stream.js diff --git a/languages/qmljs/nodejsmodules/stream.py b/plugins/qmljs/nodejsmodules/stream.py similarity index 100% rename from languages/qmljs/nodejsmodules/stream.py rename to plugins/qmljs/nodejsmodules/stream.py diff --git a/languages/qmljs/nodejsmodules/string_decoder.js b/plugins/qmljs/nodejsmodules/string_decoder.js similarity index 100% rename from languages/qmljs/nodejsmodules/string_decoder.js rename to plugins/qmljs/nodejsmodules/string_decoder.js diff --git a/languages/qmljs/nodejsmodules/string_decoder.py b/plugins/qmljs/nodejsmodules/string_decoder.py similarity index 100% rename from languages/qmljs/nodejsmodules/string_decoder.py rename to plugins/qmljs/nodejsmodules/string_decoder.py diff --git a/languages/qmljs/nodejsmodules/tls.js b/plugins/qmljs/nodejsmodules/tls.js similarity index 100% rename from languages/qmljs/nodejsmodules/tls.js rename to plugins/qmljs/nodejsmodules/tls.js diff --git a/languages/qmljs/nodejsmodules/tls.py b/plugins/qmljs/nodejsmodules/tls.py similarity index 100% rename from languages/qmljs/nodejsmodules/tls.py rename to plugins/qmljs/nodejsmodules/tls.py diff --git a/languages/qmljs/nodejsmodules/tty.js b/plugins/qmljs/nodejsmodules/tty.js similarity index 100% rename from languages/qmljs/nodejsmodules/tty.js rename to plugins/qmljs/nodejsmodules/tty.js diff --git a/languages/qmljs/nodejsmodules/tty.py b/plugins/qmljs/nodejsmodules/tty.py similarity index 100% rename from languages/qmljs/nodejsmodules/tty.py rename to plugins/qmljs/nodejsmodules/tty.py diff --git a/languages/qmljs/nodejsmodules/url.js b/plugins/qmljs/nodejsmodules/url.js similarity index 100% rename from languages/qmljs/nodejsmodules/url.js rename to plugins/qmljs/nodejsmodules/url.js diff --git a/languages/qmljs/nodejsmodules/url.py b/plugins/qmljs/nodejsmodules/url.py similarity index 100% rename from languages/qmljs/nodejsmodules/url.py rename to plugins/qmljs/nodejsmodules/url.py diff --git a/languages/qmljs/nodejsmodules/util.js b/plugins/qmljs/nodejsmodules/util.js similarity index 100% rename from languages/qmljs/nodejsmodules/util.js rename to plugins/qmljs/nodejsmodules/util.js diff --git a/languages/qmljs/nodejsmodules/util.py b/plugins/qmljs/nodejsmodules/util.py similarity index 100% rename from languages/qmljs/nodejsmodules/util.py rename to plugins/qmljs/nodejsmodules/util.py diff --git a/languages/qmljs/nodejsmodules/vm.js b/plugins/qmljs/nodejsmodules/vm.js similarity index 100% rename from languages/qmljs/nodejsmodules/vm.js rename to plugins/qmljs/nodejsmodules/vm.js diff --git a/languages/qmljs/nodejsmodules/vm.py b/plugins/qmljs/nodejsmodules/vm.py similarity index 100% rename from languages/qmljs/nodejsmodules/vm.py rename to plugins/qmljs/nodejsmodules/vm.py diff --git a/languages/qmljs/nodejsmodules/zlib.js b/plugins/qmljs/nodejsmodules/zlib.js similarity index 100% rename from languages/qmljs/nodejsmodules/zlib.js rename to plugins/qmljs/nodejsmodules/zlib.js diff --git a/languages/qmljs/nodejsmodules/zlib.py b/plugins/qmljs/nodejsmodules/zlib.py similarity index 100% rename from languages/qmljs/nodejsmodules/zlib.py rename to plugins/qmljs/nodejsmodules/zlib.py diff --git a/languages/qmljs/qmljshighlighting.cpp b/plugins/qmljs/qmljshighlighting.cpp similarity index 100% rename from languages/qmljs/qmljshighlighting.cpp rename to plugins/qmljs/qmljshighlighting.cpp diff --git a/languages/qmljs/qmljshighlighting.h b/plugins/qmljs/qmljshighlighting.h similarity index 100% rename from languages/qmljs/qmljshighlighting.h rename to plugins/qmljs/qmljshighlighting.h diff --git a/languages/qmljs/qmljsparsejob.cpp b/plugins/qmljs/qmljsparsejob.cpp similarity index 100% rename from languages/qmljs/qmljsparsejob.cpp rename to plugins/qmljs/qmljsparsejob.cpp diff --git a/languages/qmljs/qmljsparsejob.h b/plugins/qmljs/qmljsparsejob.h similarity index 100% rename from languages/qmljs/qmljsparsejob.h rename to plugins/qmljs/qmljsparsejob.h diff --git a/languages/qmljs/sync_qtc.sh b/plugins/qmljs/sync_qtc.sh similarity index 100% rename from languages/qmljs/sync_qtc.sh rename to plugins/qmljs/sync_qtc.sh diff --git a/languages/qmljs/tests/CMakeLists.txt b/plugins/qmljs/tests/CMakeLists.txt similarity index 100% rename from languages/qmljs/tests/CMakeLists.txt rename to plugins/qmljs/tests/CMakeLists.txt diff --git a/languages/qmljs/tests/files/arrays.js b/plugins/qmljs/tests/files/arrays.js similarity index 100% rename from languages/qmljs/tests/files/arrays.js rename to plugins/qmljs/tests/files/arrays.js diff --git a/languages/qmljs/tests/files/crash.js b/plugins/qmljs/tests/files/crash.js similarity index 100% rename from languages/qmljs/tests/files/crash.js rename to plugins/qmljs/tests/files/crash.js diff --git a/languages/qmljs/tests/files/custom_component/CustomComponent.qml b/plugins/qmljs/tests/files/custom_component/CustomComponent.qml similarity index 100% rename from languages/qmljs/tests/files/custom_component/CustomComponent.qml rename to plugins/qmljs/tests/files/custom_component/CustomComponent.qml diff --git a/languages/qmljs/tests/files/custom_component/CustomComponentUser.qml b/plugins/qmljs/tests/files/custom_component/CustomComponentUser.qml similarity index 100% rename from languages/qmljs/tests/files/custom_component/CustomComponentUser.qml rename to plugins/qmljs/tests/files/custom_component/CustomComponentUser.qml diff --git a/languages/qmljs/tests/files/directory_import.qml b/plugins/qmljs/tests/files/directory_import.qml similarity index 100% rename from languages/qmljs/tests/files/directory_import.qml rename to plugins/qmljs/tests/files/directory_import.qml diff --git a/languages/qmljs/tests/files/directory_to_import/MyComponent.qml b/plugins/qmljs/tests/files/directory_to_import/MyComponent.qml similarity index 100% rename from languages/qmljs/tests/files/directory_to_import/MyComponent.qml rename to plugins/qmljs/tests/files/directory_to_import/MyComponent.qml diff --git a/languages/qmljs/tests/files/dom.js b/plugins/qmljs/tests/files/dom.js similarity index 100% rename from languages/qmljs/tests/files/dom.js rename to plugins/qmljs/tests/files/dom.js diff --git a/languages/qmljs/tests/files/dynamicObjectProperties.2.qml b/plugins/qmljs/tests/files/dynamicObjectProperties.2.qml similarity index 100% rename from languages/qmljs/tests/files/dynamicObjectProperties.2.qml rename to plugins/qmljs/tests/files/dynamicObjectProperties.2.qml diff --git a/languages/qmljs/tests/files/failparse.js b/plugins/qmljs/tests/files/failparse.js similarity index 100% rename from languages/qmljs/tests/files/failparse.js rename to plugins/qmljs/tests/files/failparse.js diff --git a/languages/qmljs/tests/files/functions.js b/plugins/qmljs/tests/files/functions.js similarity index 100% rename from languages/qmljs/tests/files/functions.js rename to plugins/qmljs/tests/files/functions.js diff --git a/languages/qmljs/tests/files/js_cross_file_uses/js_variable_definition.js b/plugins/qmljs/tests/files/js_cross_file_uses/js_variable_definition.js similarity index 100% rename from languages/qmljs/tests/files/js_cross_file_uses/js_variable_definition.js rename to plugins/qmljs/tests/files/js_cross_file_uses/js_variable_definition.js diff --git a/languages/qmljs/tests/files/js_cross_file_uses/js_variable_use.js b/plugins/qmljs/tests/files/js_cross_file_uses/js_variable_use.js similarity index 100% rename from languages/qmljs/tests/files/js_cross_file_uses/js_variable_use.js rename to plugins/qmljs/tests/files/js_cross_file_uses/js_variable_use.js diff --git a/languages/qmljs/tests/files/node.js/main.js b/plugins/qmljs/tests/files/node.js/main.js similarity index 100% rename from languages/qmljs/tests/files/node.js/main.js rename to plugins/qmljs/tests/files/node.js/main.js diff --git a/languages/qmljs/tests/files/node.js/module2.js b/plugins/qmljs/tests/files/node.js/module2.js similarity index 100% rename from languages/qmljs/tests/files/node.js/module2.js rename to plugins/qmljs/tests/files/node.js/module2.js diff --git a/languages/qmljs/tests/files/node_modules/module.js b/plugins/qmljs/tests/files/node_modules/module.js similarity index 100% rename from languages/qmljs/tests/files/node_modules/module.js rename to plugins/qmljs/tests/files/node_modules/module.js diff --git a/languages/qmljs/tests/files/plugins.qml b/plugins/qmljs/tests/files/plugins.qml similarity index 100% rename from languages/qmljs/tests/files/plugins.qml rename to plugins/qmljs/tests/files/plugins.qml diff --git a/languages/qmljs/tests/files/prototypes.js b/plugins/qmljs/tests/files/prototypes.js similarity index 100% rename from languages/qmljs/tests/files/prototypes.js rename to plugins/qmljs/tests/files/prototypes.js diff --git a/languages/qmljs/tests/files/qmltypes/AnItem.qml b/plugins/qmljs/tests/files/qmltypes/AnItem.qml similarity index 100% rename from languages/qmljs/tests/files/qmltypes/AnItem.qml rename to plugins/qmljs/tests/files/qmltypes/AnItem.qml diff --git a/languages/qmljs/tests/files/qrc_import.qml b/plugins/qmljs/tests/files/qrc_import.qml similarity index 100% rename from languages/qmljs/tests/files/qrc_import.qml rename to plugins/qmljs/tests/files/qrc_import.qml diff --git a/languages/qmljs/tests/files/test.qml b/plugins/qmljs/tests/files/test.qml similarity index 100% rename from languages/qmljs/tests/files/test.qml rename to plugins/qmljs/tests/files/test.qml diff --git a/languages/qmljs/tests/files/type_mismatch_false_positives/code.js b/plugins/qmljs/tests/files/type_mismatch_false_positives/code.js similarity index 100% rename from languages/qmljs/tests/files/type_mismatch_false_positives/code.js rename to plugins/qmljs/tests/files/type_mismatch_false_positives/code.js diff --git a/languages/qmljs/tests/files/types.js b/plugins/qmljs/tests/files/types.js similarity index 100% rename from languages/qmljs/tests/files/types.js rename to plugins/qmljs/tests/files/types.js diff --git a/languages/qmljs/tests/files/types_after_decl.js b/plugins/qmljs/tests/files/types_after_decl.js similarity index 100% rename from languages/qmljs/tests/files/types_after_decl.js rename to plugins/qmljs/tests/files/types_after_decl.js diff --git a/languages/qmljs/tests/files/uses.js b/plugins/qmljs/tests/files/uses.js similarity index 100% rename from languages/qmljs/tests/files/uses.js rename to plugins/qmljs/tests/files/uses.js diff --git a/languages/qmljs/tests/qml-parser.cpp b/plugins/qmljs/tests/qml-parser.cpp similarity index 100% rename from languages/qmljs/tests/qml-parser.cpp rename to plugins/qmljs/tests/qml-parser.cpp diff --git a/languages/qmljs/tests/test_files.cpp b/plugins/qmljs/tests/test_files.cpp similarity index 100% rename from languages/qmljs/tests/test_files.cpp rename to plugins/qmljs/tests/test_files.cpp diff --git a/languages/qmljs/tests/test_files.h b/plugins/qmljs/tests/test_files.h similarity index 100% rename from languages/qmljs/tests/test_files.h rename to plugins/qmljs/tests/test_files.h diff --git a/languages/qmljs/tests/testfilepaths.h.cmake b/plugins/qmljs/tests/testfilepaths.h.cmake similarity index 100% rename from languages/qmljs/tests/testfilepaths.h.cmake rename to plugins/qmljs/tests/testfilepaths.h.cmake diff --git a/documentation/qthelp/CMakeLists.txt b/plugins/qthelp/CMakeLists.txt similarity index 100% rename from documentation/qthelp/CMakeLists.txt rename to plugins/qthelp/CMakeLists.txt diff --git a/documentation/qthelp/Messages.sh b/plugins/qthelp/Messages.sh similarity index 100% rename from documentation/qthelp/Messages.sh rename to plugins/qthelp/Messages.sh diff --git a/documentation/qthelp/kdevelop-qthelp.knsrc b/plugins/qthelp/kdevelop-qthelp.knsrc similarity index 100% rename from documentation/qthelp/kdevelop-qthelp.knsrc rename to plugins/qthelp/kdevelop-qthelp.knsrc diff --git a/documentation/qthelp/kdevqthelp.json b/plugins/qthelp/kdevqthelp.json similarity index 100% rename from documentation/qthelp/kdevqthelp.json rename to plugins/qthelp/kdevqthelp.json diff --git a/documentation/qthelp/kdevqthelp.qrc b/plugins/qthelp/kdevqthelp.qrc similarity index 100% rename from documentation/qthelp/kdevqthelp.qrc rename to plugins/qthelp/kdevqthelp.qrc diff --git a/documentation/qthelp/qthelp_config_shared.cpp b/plugins/qthelp/qthelp_config_shared.cpp similarity index 100% rename from documentation/qthelp/qthelp_config_shared.cpp rename to plugins/qthelp/qthelp_config_shared.cpp diff --git a/documentation/qthelp/qthelp_config_shared.h b/plugins/qthelp/qthelp_config_shared.h similarity index 100% rename from documentation/qthelp/qthelp_config_shared.h rename to plugins/qthelp/qthelp_config_shared.h diff --git a/documentation/qthelp/qthelpconfig.cpp b/plugins/qthelp/qthelpconfig.cpp similarity index 100% rename from documentation/qthelp/qthelpconfig.cpp rename to plugins/qthelp/qthelpconfig.cpp diff --git a/documentation/qthelp/qthelpconfig.h b/plugins/qthelp/qthelpconfig.h similarity index 97% rename from documentation/qthelp/qthelpconfig.h rename to plugins/qthelp/qthelpconfig.h index 3952a48464..31e75e44ce 100644 --- a/documentation/qthelp/qthelpconfig.h +++ b/plugins/qthelp/qthelpconfig.h @@ -1,70 +1,70 @@ /* This file is part of KDevelop Copyright 2010 Benjamin Port Copyright 2014 Kevin Funk This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef QTHELPCONFIG_H #define QTHELPCONFIG_H -#include +#include #include class QTreeWidgetItem; class QtHelpPlugin; namespace Ui { class QtHelpConfigUI; } class QtHelpConfig : public KDevelop::ConfigPage { public: Q_OBJECT public: explicit QtHelpConfig(QtHelpPlugin* plugin, QWidget *parent = nullptr); ~QtHelpConfig() override; KDevelop::ConfigPage::ConfigPageType configPageType() const override; bool checkNamespace(const QString &filename, QTreeWidgetItem* modifiedItem); QString name() const override; QString fullName() const override; QIcon icon() const override; private Q_SLOTS: void add(); void remove(QTreeWidgetItem* item); void modify(QTreeWidgetItem* item); void knsUpdate(KNS3::Entry::List list); public Q_SLOTS: void apply() override; void defaults() override; void reset() override; private: QTreeWidgetItem * addTableItem(const QString &icon, const QString &name, const QString &path, const QString &ghnsStatus); Ui::QtHelpConfigUI* m_configWidget; }; #endif // QTHELPCONFIG_H diff --git a/documentation/qthelp/qthelpconfig.ui b/plugins/qthelp/qthelpconfig.ui similarity index 100% rename from documentation/qthelp/qthelpconfig.ui rename to plugins/qthelp/qthelpconfig.ui diff --git a/documentation/qthelp/qthelpconfigeditdialog.ui b/plugins/qthelp/qthelpconfigeditdialog.ui similarity index 100% rename from documentation/qthelp/qthelpconfigeditdialog.ui rename to plugins/qthelp/qthelpconfigeditdialog.ui diff --git a/documentation/qthelp/qthelpdocumentation.cpp b/plugins/qthelp/qthelpdocumentation.cpp similarity index 100% rename from documentation/qthelp/qthelpdocumentation.cpp rename to plugins/qthelp/qthelpdocumentation.cpp diff --git a/documentation/qthelp/qthelpdocumentation.h b/plugins/qthelp/qthelpdocumentation.h similarity index 100% rename from documentation/qthelp/qthelpdocumentation.h rename to plugins/qthelp/qthelpdocumentation.h diff --git a/documentation/qthelp/qthelpnetwork.cpp b/plugins/qthelp/qthelpnetwork.cpp similarity index 100% rename from documentation/qthelp/qthelpnetwork.cpp rename to plugins/qthelp/qthelpnetwork.cpp diff --git a/documentation/qthelp/qthelpnetwork.h b/plugins/qthelp/qthelpnetwork.h similarity index 100% rename from documentation/qthelp/qthelpnetwork.h rename to plugins/qthelp/qthelpnetwork.h diff --git a/documentation/qthelp/qthelpplugin.cpp b/plugins/qthelp/qthelpplugin.cpp similarity index 100% rename from documentation/qthelp/qthelpplugin.cpp rename to plugins/qthelp/qthelpplugin.cpp diff --git a/documentation/qthelp/qthelpplugin.h b/plugins/qthelp/qthelpplugin.h similarity index 100% rename from documentation/qthelp/qthelpplugin.h rename to plugins/qthelp/qthelpplugin.h diff --git a/documentation/qthelp/qthelpprovider.cpp b/plugins/qthelp/qthelpprovider.cpp similarity index 100% rename from documentation/qthelp/qthelpprovider.cpp rename to plugins/qthelp/qthelpprovider.cpp diff --git a/documentation/qthelp/qthelpprovider.h b/plugins/qthelp/qthelpprovider.h similarity index 100% rename from documentation/qthelp/qthelpprovider.h rename to plugins/qthelp/qthelpprovider.h diff --git a/documentation/qthelp/qthelpproviderabstract.cpp b/plugins/qthelp/qthelpproviderabstract.cpp similarity index 100% rename from documentation/qthelp/qthelpproviderabstract.cpp rename to plugins/qthelp/qthelpproviderabstract.cpp diff --git a/documentation/qthelp/qthelpproviderabstract.h b/plugins/qthelp/qthelpproviderabstract.h similarity index 100% rename from documentation/qthelp/qthelpproviderabstract.h rename to plugins/qthelp/qthelpproviderabstract.h diff --git a/documentation/qthelp/qthelpqtdoc.cpp b/plugins/qthelp/qthelpqtdoc.cpp similarity index 100% rename from documentation/qthelp/qthelpqtdoc.cpp rename to plugins/qthelp/qthelpqtdoc.cpp diff --git a/documentation/qthelp/qthelpqtdoc.h b/plugins/qthelp/qthelpqtdoc.h similarity index 100% rename from documentation/qthelp/qthelpqtdoc.h rename to plugins/qthelp/qthelpqtdoc.h diff --git a/documentation/qthelp/tests/CMakeLists.txt b/plugins/qthelp/tests/CMakeLists.txt similarity index 100% rename from documentation/qthelp/tests/CMakeLists.txt rename to plugins/qthelp/tests/CMakeLists.txt diff --git a/documentation/qthelp/tests/documentation/README b/plugins/qthelp/tests/documentation/README similarity index 100% rename from documentation/qthelp/tests/documentation/README rename to plugins/qthelp/tests/documentation/README diff --git a/documentation/qthelp/tests/documentation/invalid.qch b/plugins/qthelp/tests/documentation/invalid.qch similarity index 100% rename from documentation/qthelp/tests/documentation/invalid.qch rename to plugins/qthelp/tests/documentation/invalid.qch diff --git a/documentation/qthelp/tests/documentation/valid1.qch b/plugins/qthelp/tests/documentation/valid1.qch similarity index 100% rename from documentation/qthelp/tests/documentation/valid1.qch rename to plugins/qthelp/tests/documentation/valid1.qch diff --git a/documentation/qthelp/tests/documentation/valid1.qhp b/plugins/qthelp/tests/documentation/valid1.qhp similarity index 100% rename from documentation/qthelp/tests/documentation/valid1.qhp rename to plugins/qthelp/tests/documentation/valid1.qhp diff --git a/documentation/qthelp/tests/documentation/valid2.qch b/plugins/qthelp/tests/documentation/valid2.qch similarity index 100% rename from documentation/qthelp/tests/documentation/valid2.qch rename to plugins/qthelp/tests/documentation/valid2.qch diff --git a/documentation/qthelp/tests/documentation/valid2.qhp b/plugins/qthelp/tests/documentation/valid2.qhp similarity index 100% rename from documentation/qthelp/tests/documentation/valid2.qhp rename to plugins/qthelp/tests/documentation/valid2.qhp diff --git a/documentation/qthelp/tests/test_qthelpplugin.cpp b/plugins/qthelp/tests/test_qthelpplugin.cpp similarity index 100% rename from documentation/qthelp/tests/test_qthelpplugin.cpp rename to plugins/qthelp/tests/test_qthelpplugin.cpp diff --git a/documentation/qthelp/tests/test_qthelpplugin.h b/plugins/qthelp/tests/test_qthelpplugin.h similarity index 100% rename from documentation/qthelp/tests/test_qthelpplugin.h rename to plugins/qthelp/tests/test_qthelpplugin.h diff --git a/documentation/qthelp/tests/testqthelpconfig.h.in b/plugins/qthelp/tests/testqthelpconfig.h.in similarity index 100% rename from documentation/qthelp/tests/testqthelpconfig.h.in rename to plugins/qthelp/tests/testqthelpconfig.h.in diff --git a/kdevplatform/plugins/quickopen/CMakeLists.txt b/plugins/quickopen/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/quickopen/CMakeLists.txt rename to plugins/quickopen/CMakeLists.txt diff --git a/kdevplatform/plugins/quickopen/Messages.sh b/plugins/quickopen/Messages.sh similarity index 100% rename from kdevplatform/plugins/quickopen/Messages.sh rename to plugins/quickopen/Messages.sh diff --git a/kdevplatform/plugins/quickopen/actionsquickopenprovider.cpp b/plugins/quickopen/actionsquickopenprovider.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/actionsquickopenprovider.cpp rename to plugins/quickopen/actionsquickopenprovider.cpp diff --git a/kdevplatform/plugins/quickopen/actionsquickopenprovider.h b/plugins/quickopen/actionsquickopenprovider.h similarity index 100% rename from kdevplatform/plugins/quickopen/actionsquickopenprovider.h rename to plugins/quickopen/actionsquickopenprovider.h diff --git a/kdevplatform/plugins/quickopen/declarationlistquickopen.cpp b/plugins/quickopen/declarationlistquickopen.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/declarationlistquickopen.cpp rename to plugins/quickopen/declarationlistquickopen.cpp diff --git a/kdevplatform/plugins/quickopen/declarationlistquickopen.h b/plugins/quickopen/declarationlistquickopen.h similarity index 100% rename from kdevplatform/plugins/quickopen/declarationlistquickopen.h rename to plugins/quickopen/declarationlistquickopen.h diff --git a/kdevplatform/plugins/quickopen/documentationquickopenprovider.cpp b/plugins/quickopen/documentationquickopenprovider.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/documentationquickopenprovider.cpp rename to plugins/quickopen/documentationquickopenprovider.cpp diff --git a/kdevplatform/plugins/quickopen/documentationquickopenprovider.h b/plugins/quickopen/documentationquickopenprovider.h similarity index 100% rename from kdevplatform/plugins/quickopen/documentationquickopenprovider.h rename to plugins/quickopen/documentationquickopenprovider.h diff --git a/kdevplatform/plugins/quickopen/duchainitemquickopen.cpp b/plugins/quickopen/duchainitemquickopen.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/duchainitemquickopen.cpp rename to plugins/quickopen/duchainitemquickopen.cpp diff --git a/kdevplatform/plugins/quickopen/duchainitemquickopen.h b/plugins/quickopen/duchainitemquickopen.h similarity index 100% rename from kdevplatform/plugins/quickopen/duchainitemquickopen.h rename to plugins/quickopen/duchainitemquickopen.h diff --git a/kdevplatform/plugins/quickopen/expandingtree/expandingdelegate.cpp b/plugins/quickopen/expandingtree/expandingdelegate.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/expandingtree/expandingdelegate.cpp rename to plugins/quickopen/expandingtree/expandingdelegate.cpp diff --git a/kdevplatform/plugins/quickopen/expandingtree/expandingdelegate.h b/plugins/quickopen/expandingtree/expandingdelegate.h similarity index 100% rename from kdevplatform/plugins/quickopen/expandingtree/expandingdelegate.h rename to plugins/quickopen/expandingtree/expandingdelegate.h diff --git a/kdevplatform/plugins/quickopen/expandingtree/expandingtree.cpp b/plugins/quickopen/expandingtree/expandingtree.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/expandingtree/expandingtree.cpp rename to plugins/quickopen/expandingtree/expandingtree.cpp diff --git a/kdevplatform/plugins/quickopen/expandingtree/expandingtree.h b/plugins/quickopen/expandingtree/expandingtree.h similarity index 100% rename from kdevplatform/plugins/quickopen/expandingtree/expandingtree.h rename to plugins/quickopen/expandingtree/expandingtree.h diff --git a/kdevplatform/plugins/quickopen/expandingtree/expandingwidgetmodel.cpp b/plugins/quickopen/expandingtree/expandingwidgetmodel.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/expandingtree/expandingwidgetmodel.cpp rename to plugins/quickopen/expandingtree/expandingwidgetmodel.cpp diff --git a/kdevplatform/plugins/quickopen/expandingtree/expandingwidgetmodel.h b/plugins/quickopen/expandingtree/expandingwidgetmodel.h similarity index 100% rename from kdevplatform/plugins/quickopen/expandingtree/expandingwidgetmodel.h rename to plugins/quickopen/expandingtree/expandingwidgetmodel.h diff --git a/kdevplatform/plugins/quickopen/kdevquickopen.json b/plugins/quickopen/kdevquickopen.json similarity index 100% rename from kdevplatform/plugins/quickopen/kdevquickopen.json rename to plugins/quickopen/kdevquickopen.json diff --git a/kdevplatform/plugins/quickopen/kdevquickopen.qrc b/plugins/quickopen/kdevquickopen.qrc similarity index 100% rename from kdevplatform/plugins/quickopen/kdevquickopen.qrc rename to plugins/quickopen/kdevquickopen.qrc diff --git a/kdevplatform/plugins/quickopen/kdevquickopen.rc b/plugins/quickopen/kdevquickopen.rc similarity index 100% rename from kdevplatform/plugins/quickopen/kdevquickopen.rc rename to plugins/quickopen/kdevquickopen.rc diff --git a/kdevplatform/plugins/quickopen/projectfilequickopen.cpp b/plugins/quickopen/projectfilequickopen.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/projectfilequickopen.cpp rename to plugins/quickopen/projectfilequickopen.cpp diff --git a/kdevplatform/plugins/quickopen/projectfilequickopen.h b/plugins/quickopen/projectfilequickopen.h similarity index 100% rename from kdevplatform/plugins/quickopen/projectfilequickopen.h rename to plugins/quickopen/projectfilequickopen.h diff --git a/kdevplatform/plugins/quickopen/projectitemquickopen.cpp b/plugins/quickopen/projectitemquickopen.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/projectitemquickopen.cpp rename to plugins/quickopen/projectitemquickopen.cpp diff --git a/kdevplatform/plugins/quickopen/projectitemquickopen.h b/plugins/quickopen/projectitemquickopen.h similarity index 100% rename from kdevplatform/plugins/quickopen/projectitemquickopen.h rename to plugins/quickopen/projectitemquickopen.h diff --git a/kdevplatform/plugins/quickopen/quickopenmodel.cpp b/plugins/quickopen/quickopenmodel.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/quickopenmodel.cpp rename to plugins/quickopen/quickopenmodel.cpp diff --git a/kdevplatform/plugins/quickopen/quickopenmodel.h b/plugins/quickopen/quickopenmodel.h similarity index 100% rename from kdevplatform/plugins/quickopen/quickopenmodel.h rename to plugins/quickopen/quickopenmodel.h diff --git a/kdevplatform/plugins/quickopen/quickopenplugin.cpp b/plugins/quickopen/quickopenplugin.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/quickopenplugin.cpp rename to plugins/quickopen/quickopenplugin.cpp diff --git a/kdevplatform/plugins/quickopen/quickopenplugin.h b/plugins/quickopen/quickopenplugin.h similarity index 100% rename from kdevplatform/plugins/quickopen/quickopenplugin.h rename to plugins/quickopen/quickopenplugin.h diff --git a/kdevplatform/plugins/quickopen/quickopenwidget.cpp b/plugins/quickopen/quickopenwidget.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/quickopenwidget.cpp rename to plugins/quickopen/quickopenwidget.cpp diff --git a/kdevplatform/plugins/quickopen/quickopenwidget.h b/plugins/quickopen/quickopenwidget.h similarity index 100% rename from kdevplatform/plugins/quickopen/quickopenwidget.h rename to plugins/quickopen/quickopenwidget.h diff --git a/kdevplatform/plugins/quickopen/quickopenwidget.ui b/plugins/quickopen/quickopenwidget.ui similarity index 100% rename from kdevplatform/plugins/quickopen/quickopenwidget.ui rename to plugins/quickopen/quickopenwidget.ui diff --git a/kdevplatform/plugins/quickopen/tests/CMakeLists.txt b/plugins/quickopen/tests/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/quickopen/tests/CMakeLists.txt rename to plugins/quickopen/tests/CMakeLists.txt diff --git a/kdevplatform/plugins/quickopen/tests/bench_quickopen.cpp b/plugins/quickopen/tests/bench_quickopen.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/tests/bench_quickopen.cpp rename to plugins/quickopen/tests/bench_quickopen.cpp diff --git a/kdevplatform/plugins/quickopen/tests/bench_quickopen.h b/plugins/quickopen/tests/bench_quickopen.h similarity index 100% rename from kdevplatform/plugins/quickopen/tests/bench_quickopen.h rename to plugins/quickopen/tests/bench_quickopen.h diff --git a/kdevplatform/plugins/quickopen/tests/default.log b/plugins/quickopen/tests/default.log similarity index 100% rename from kdevplatform/plugins/quickopen/tests/default.log rename to plugins/quickopen/tests/default.log diff --git a/kdevplatform/plugins/quickopen/tests/quickopentestbase.cpp b/plugins/quickopen/tests/quickopentestbase.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/tests/quickopentestbase.cpp rename to plugins/quickopen/tests/quickopentestbase.cpp diff --git a/kdevplatform/plugins/quickopen/tests/quickopentestbase.h b/plugins/quickopen/tests/quickopentestbase.h similarity index 100% rename from kdevplatform/plugins/quickopen/tests/quickopentestbase.h rename to plugins/quickopen/tests/quickopentestbase.h diff --git a/kdevplatform/plugins/quickopen/tests/test_quickopen.cpp b/plugins/quickopen/tests/test_quickopen.cpp similarity index 100% rename from kdevplatform/plugins/quickopen/tests/test_quickopen.cpp rename to plugins/quickopen/tests/test_quickopen.cpp diff --git a/kdevplatform/plugins/quickopen/tests/test_quickopen.h b/plugins/quickopen/tests/test_quickopen.h similarity index 100% rename from kdevplatform/plugins/quickopen/tests/test_quickopen.h rename to plugins/quickopen/tests/test_quickopen.h diff --git a/plugins/runtimes/CMakeLists.txt b/plugins/runtimes/CMakeLists.txt new file mode 100644 index 0000000000..f8637179f9 --- /dev/null +++ b/plugins/runtimes/CMakeLists.txt @@ -0,0 +1,5 @@ +add_subdirectory(android) +if (UNIX) + add_subdirectory(docker) + add_subdirectory(flatpak) +endif() diff --git a/kdevplatform/plugins/sourceformatter/CMakeLists.txt b/plugins/sourceformatter/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/sourceformatter/CMakeLists.txt rename to plugins/sourceformatter/CMakeLists.txt diff --git a/kdevplatform/plugins/sourceformatter/Messages.sh b/plugins/sourceformatter/Messages.sh similarity index 100% rename from kdevplatform/plugins/sourceformatter/Messages.sh rename to plugins/sourceformatter/Messages.sh diff --git a/kdevplatform/plugins/sourceformatter/config/projectconfig.kcfg b/plugins/sourceformatter/config/projectconfig.kcfg similarity index 100% rename from kdevplatform/plugins/sourceformatter/config/projectconfig.kcfg rename to plugins/sourceformatter/config/projectconfig.kcfg diff --git a/kdevplatform/plugins/sourceformatter/config/projectconfig.kcfgc b/plugins/sourceformatter/config/projectconfig.kcfgc similarity index 100% rename from kdevplatform/plugins/sourceformatter/config/projectconfig.kcfgc rename to plugins/sourceformatter/config/projectconfig.kcfgc diff --git a/kdevplatform/plugins/sourceformatter/config/projectconfigpage.cpp b/plugins/sourceformatter/config/projectconfigpage.cpp similarity index 100% rename from kdevplatform/plugins/sourceformatter/config/projectconfigpage.cpp rename to plugins/sourceformatter/config/projectconfigpage.cpp diff --git a/kdevplatform/plugins/sourceformatter/config/projectconfigpage.h b/plugins/sourceformatter/config/projectconfigpage.h similarity index 100% rename from kdevplatform/plugins/sourceformatter/config/projectconfigpage.h rename to plugins/sourceformatter/config/projectconfigpage.h diff --git a/kdevplatform/plugins/sourceformatter/config/projectconfigpage.ui b/plugins/sourceformatter/config/projectconfigpage.ui similarity index 100% rename from kdevplatform/plugins/sourceformatter/config/projectconfigpage.ui rename to plugins/sourceformatter/config/projectconfigpage.ui diff --git a/kdevplatform/plugins/sourceformatter/kdevsourceformatter.json b/plugins/sourceformatter/kdevsourceformatter.json similarity index 100% rename from kdevplatform/plugins/sourceformatter/kdevsourceformatter.json rename to plugins/sourceformatter/kdevsourceformatter.json diff --git a/kdevplatform/plugins/sourceformatter/sourceformatterplugin.cpp b/plugins/sourceformatter/sourceformatterplugin.cpp similarity index 100% rename from kdevplatform/plugins/sourceformatter/sourceformatterplugin.cpp rename to plugins/sourceformatter/sourceformatterplugin.cpp diff --git a/kdevplatform/plugins/sourceformatter/sourceformatterplugin.h b/plugins/sourceformatter/sourceformatterplugin.h similarity index 100% rename from kdevplatform/plugins/sourceformatter/sourceformatterplugin.h rename to plugins/sourceformatter/sourceformatterplugin.h diff --git a/kdevplatform/plugins/standardoutputview/CMakeLists.txt b/plugins/standardoutputview/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/standardoutputview/CMakeLists.txt rename to plugins/standardoutputview/CMakeLists.txt diff --git a/kdevplatform/plugins/standardoutputview/Messages.sh b/plugins/standardoutputview/Messages.sh similarity index 100% rename from kdevplatform/plugins/standardoutputview/Messages.sh rename to plugins/standardoutputview/Messages.sh diff --git a/kdevplatform/plugins/standardoutputview/kdevstandardoutputview.json b/plugins/standardoutputview/kdevstandardoutputview.json similarity index 100% rename from kdevplatform/plugins/standardoutputview/kdevstandardoutputview.json rename to plugins/standardoutputview/kdevstandardoutputview.json diff --git a/kdevplatform/plugins/standardoutputview/kdevstandardoutputview.qrc b/plugins/standardoutputview/kdevstandardoutputview.qrc similarity index 100% rename from kdevplatform/plugins/standardoutputview/kdevstandardoutputview.qrc rename to plugins/standardoutputview/kdevstandardoutputview.qrc diff --git a/kdevplatform/plugins/standardoutputview/kdevstandardoutputview.rc b/plugins/standardoutputview/kdevstandardoutputview.rc similarity index 100% rename from kdevplatform/plugins/standardoutputview/kdevstandardoutputview.rc rename to plugins/standardoutputview/kdevstandardoutputview.rc diff --git a/kdevplatform/plugins/standardoutputview/outputwidget.cpp b/plugins/standardoutputview/outputwidget.cpp similarity index 100% rename from kdevplatform/plugins/standardoutputview/outputwidget.cpp rename to plugins/standardoutputview/outputwidget.cpp diff --git a/kdevplatform/plugins/standardoutputview/outputwidget.h b/plugins/standardoutputview/outputwidget.h similarity index 100% rename from kdevplatform/plugins/standardoutputview/outputwidget.h rename to plugins/standardoutputview/outputwidget.h diff --git a/kdevplatform/plugins/standardoutputview/standardoutputview.cpp b/plugins/standardoutputview/standardoutputview.cpp similarity index 100% rename from kdevplatform/plugins/standardoutputview/standardoutputview.cpp rename to plugins/standardoutputview/standardoutputview.cpp diff --git a/kdevplatform/plugins/standardoutputview/standardoutputview.h b/plugins/standardoutputview/standardoutputview.h similarity index 100% rename from kdevplatform/plugins/standardoutputview/standardoutputview.h rename to plugins/standardoutputview/standardoutputview.h diff --git a/kdevplatform/plugins/standardoutputview/standardoutputviewmetadata.cpp b/plugins/standardoutputview/standardoutputviewmetadata.cpp similarity index 100% rename from kdevplatform/plugins/standardoutputview/standardoutputviewmetadata.cpp rename to plugins/standardoutputview/standardoutputviewmetadata.cpp diff --git a/kdevplatform/plugins/standardoutputview/tests/CMakeLists.txt b/plugins/standardoutputview/tests/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/standardoutputview/tests/CMakeLists.txt rename to plugins/standardoutputview/tests/CMakeLists.txt diff --git a/kdevplatform/plugins/standardoutputview/tests/test_standardoutputview.cpp b/plugins/standardoutputview/tests/test_standardoutputview.cpp similarity index 100% rename from kdevplatform/plugins/standardoutputview/tests/test_standardoutputview.cpp rename to plugins/standardoutputview/tests/test_standardoutputview.cpp diff --git a/kdevplatform/plugins/standardoutputview/tests/test_standardoutputview.h b/plugins/standardoutputview/tests/test_standardoutputview.h similarity index 100% rename from kdevplatform/plugins/standardoutputview/tests/test_standardoutputview.h rename to plugins/standardoutputview/tests/test_standardoutputview.h diff --git a/kdevplatform/plugins/standardoutputview/toolviewdata.cpp b/plugins/standardoutputview/toolviewdata.cpp similarity index 100% rename from kdevplatform/plugins/standardoutputview/toolviewdata.cpp rename to plugins/standardoutputview/toolviewdata.cpp diff --git a/kdevplatform/plugins/standardoutputview/toolviewdata.h b/plugins/standardoutputview/toolviewdata.h similarity index 100% rename from kdevplatform/plugins/standardoutputview/toolviewdata.h rename to plugins/standardoutputview/toolviewdata.h diff --git a/kdevplatform/plugins/subversion/.kateconfig b/plugins/subversion/.kateconfig similarity index 100% rename from kdevplatform/plugins/subversion/.kateconfig rename to plugins/subversion/.kateconfig diff --git a/kdevplatform/plugins/subversion/3rdparty/CMakeLists.txt b/plugins/subversion/3rdparty/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/CMakeLists.txt rename to plugins/subversion/3rdparty/CMakeLists.txt diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/.kateconfig b/plugins/subversion/3rdparty/kdevsvncpp/.kateconfig similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/.kateconfig rename to plugins/subversion/3rdparty/kdevsvncpp/.kateconfig diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/README.DONTTOUCH b/plugins/subversion/3rdparty/kdevsvncpp/README.DONTTOUCH similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/README.DONTTOUCH rename to plugins/subversion/3rdparty/kdevsvncpp/README.DONTTOUCH diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/README.svncppversion b/plugins/subversion/3rdparty/kdevsvncpp/README.svncppversion similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/README.svncppversion rename to plugins/subversion/3rdparty/kdevsvncpp/README.svncppversion diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/annotate_line.hpp b/plugins/subversion/3rdparty/kdevsvncpp/annotate_line.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/annotate_line.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/annotate_line.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/apr.cpp b/plugins/subversion/3rdparty/kdevsvncpp/apr.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/apr.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/apr.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/apr.hpp b/plugins/subversion/3rdparty/kdevsvncpp/apr.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/apr.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/apr.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client.cpp b/plugins/subversion/3rdparty/kdevsvncpp/client.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/client.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client.hpp b/plugins/subversion/3rdparty/kdevsvncpp/client.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/client.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client_annotate.cpp b/plugins/subversion/3rdparty/kdevsvncpp/client_annotate.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client_annotate.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/client_annotate.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client_cat.cpp b/plugins/subversion/3rdparty/kdevsvncpp/client_cat.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client_cat.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/client_cat.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client_diff.cpp b/plugins/subversion/3rdparty/kdevsvncpp/client_diff.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client_diff.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/client_diff.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client_ls.cpp b/plugins/subversion/3rdparty/kdevsvncpp/client_ls.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client_ls.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/client_ls.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client_modify.cpp b/plugins/subversion/3rdparty/kdevsvncpp/client_modify.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client_modify.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/client_modify.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client_property.cpp b/plugins/subversion/3rdparty/kdevsvncpp/client_property.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client_property.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/client_property.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client_status.cpp b/plugins/subversion/3rdparty/kdevsvncpp/client_status.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/client_status.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/client_status.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/context.cpp b/plugins/subversion/3rdparty/kdevsvncpp/context.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/context.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/context.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/context.hpp b/plugins/subversion/3rdparty/kdevsvncpp/context.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/context.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/context.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/context_listener.hpp b/plugins/subversion/3rdparty/kdevsvncpp/context_listener.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/context_listener.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/context_listener.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/datetime.cpp b/plugins/subversion/3rdparty/kdevsvncpp/datetime.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/datetime.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/datetime.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/datetime.hpp b/plugins/subversion/3rdparty/kdevsvncpp/datetime.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/datetime.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/datetime.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/dirent.cpp b/plugins/subversion/3rdparty/kdevsvncpp/dirent.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/dirent.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/dirent.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/dirent.hpp b/plugins/subversion/3rdparty/kdevsvncpp/dirent.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/dirent.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/dirent.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/entry.cpp b/plugins/subversion/3rdparty/kdevsvncpp/entry.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/entry.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/entry.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/entry.hpp b/plugins/subversion/3rdparty/kdevsvncpp/entry.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/entry.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/entry.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/exception.cpp b/plugins/subversion/3rdparty/kdevsvncpp/exception.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/exception.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/exception.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/exception.hpp b/plugins/subversion/3rdparty/kdevsvncpp/exception.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/exception.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/exception.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/info.cpp b/plugins/subversion/3rdparty/kdevsvncpp/info.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/info.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/info.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/info.hpp b/plugins/subversion/3rdparty/kdevsvncpp/info.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/info.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/info.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/log_entry.cpp b/plugins/subversion/3rdparty/kdevsvncpp/log_entry.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/log_entry.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/log_entry.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/log_entry.hpp b/plugins/subversion/3rdparty/kdevsvncpp/log_entry.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/log_entry.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/log_entry.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/m_check.hpp b/plugins/subversion/3rdparty/kdevsvncpp/m_check.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/m_check.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/m_check.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/map_wrapper.hpp b/plugins/subversion/3rdparty/kdevsvncpp/map_wrapper.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/map_wrapper.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/map_wrapper.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/path.cpp b/plugins/subversion/3rdparty/kdevsvncpp/path.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/path.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/path.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/path.hpp b/plugins/subversion/3rdparty/kdevsvncpp/path.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/path.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/path.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/pool.cpp b/plugins/subversion/3rdparty/kdevsvncpp/pool.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/pool.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/pool.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/pool.hpp b/plugins/subversion/3rdparty/kdevsvncpp/pool.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/pool.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/pool.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/property.cpp b/plugins/subversion/3rdparty/kdevsvncpp/property.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/property.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/property.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/property.hpp b/plugins/subversion/3rdparty/kdevsvncpp/property.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/property.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/property.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/revision.cpp b/plugins/subversion/3rdparty/kdevsvncpp/revision.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/revision.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/revision.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/revision.hpp b/plugins/subversion/3rdparty/kdevsvncpp/revision.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/revision.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/revision.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/status.cpp b/plugins/subversion/3rdparty/kdevsvncpp/status.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/status.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/status.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/status.hpp b/plugins/subversion/3rdparty/kdevsvncpp/status.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/status.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/status.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/status_selection.cpp b/plugins/subversion/3rdparty/kdevsvncpp/status_selection.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/status_selection.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/status_selection.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/status_selection.hpp b/plugins/subversion/3rdparty/kdevsvncpp/status_selection.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/status_selection.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/status_selection.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/string_wrapper.hpp b/plugins/subversion/3rdparty/kdevsvncpp/string_wrapper.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/string_wrapper.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/string_wrapper.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/targets.cpp b/plugins/subversion/3rdparty/kdevsvncpp/targets.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/targets.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/targets.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/targets.hpp b/plugins/subversion/3rdparty/kdevsvncpp/targets.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/targets.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/targets.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/url.cpp b/plugins/subversion/3rdparty/kdevsvncpp/url.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/url.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/url.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/url.hpp b/plugins/subversion/3rdparty/kdevsvncpp/url.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/url.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/url.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/utility_wrapper.hpp b/plugins/subversion/3rdparty/kdevsvncpp/utility_wrapper.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/utility_wrapper.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/utility_wrapper.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/vector_wrapper.hpp b/plugins/subversion/3rdparty/kdevsvncpp/vector_wrapper.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/vector_wrapper.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/vector_wrapper.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/version.hpp b/plugins/subversion/3rdparty/kdevsvncpp/version.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/version.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/version.hpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/wc.cpp b/plugins/subversion/3rdparty/kdevsvncpp/wc.cpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/wc.cpp rename to plugins/subversion/3rdparty/kdevsvncpp/wc.cpp diff --git a/kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/wc.hpp b/plugins/subversion/3rdparty/kdevsvncpp/wc.hpp similarity index 100% rename from kdevplatform/plugins/subversion/3rdparty/kdevsvncpp/wc.hpp rename to plugins/subversion/3rdparty/kdevsvncpp/wc.hpp diff --git a/kdevplatform/plugins/subversion/Architecture.txt b/plugins/subversion/Architecture.txt similarity index 100% rename from kdevplatform/plugins/subversion/Architecture.txt rename to plugins/subversion/Architecture.txt diff --git a/kdevplatform/plugins/subversion/CMakeLists.txt b/plugins/subversion/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/subversion/CMakeLists.txt rename to plugins/subversion/CMakeLists.txt diff --git a/kdevplatform/plugins/subversion/Messages.sh b/plugins/subversion/Messages.sh similarity index 100% rename from kdevplatform/plugins/subversion/Messages.sh rename to plugins/subversion/Messages.sh diff --git a/kdevplatform/plugins/subversion/icons/16-apps-subversion.png b/plugins/subversion/icons/16-apps-subversion.png similarity index 100% rename from kdevplatform/plugins/subversion/icons/16-apps-subversion.png rename to plugins/subversion/icons/16-apps-subversion.png diff --git a/kdevplatform/plugins/subversion/icons/32-apps-subversion.png b/plugins/subversion/icons/32-apps-subversion.png similarity index 100% rename from kdevplatform/plugins/subversion/icons/32-apps-subversion.png rename to plugins/subversion/icons/32-apps-subversion.png diff --git a/kdevplatform/plugins/subversion/icons/64-apps-subversion.png b/plugins/subversion/icons/64-apps-subversion.png similarity index 100% rename from kdevplatform/plugins/subversion/icons/64-apps-subversion.png rename to plugins/subversion/icons/64-apps-subversion.png diff --git a/kdevplatform/plugins/subversion/icons/CMakeLists.txt b/plugins/subversion/icons/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/subversion/icons/CMakeLists.txt rename to plugins/subversion/icons/CMakeLists.txt diff --git a/kdevplatform/plugins/subversion/icons/sc-apps-subversion.svg b/plugins/subversion/icons/sc-apps-subversion.svg similarity index 100% rename from kdevplatform/plugins/subversion/icons/sc-apps-subversion.svg rename to plugins/subversion/icons/sc-apps-subversion.svg diff --git a/kdevplatform/plugins/subversion/kdevsubversion.json b/plugins/subversion/kdevsubversion.json similarity index 100% rename from kdevplatform/plugins/subversion/kdevsubversion.json rename to plugins/subversion/kdevsubversion.json diff --git a/kdevplatform/plugins/subversion/kdevsvnplugin.cpp b/plugins/subversion/kdevsvnplugin.cpp similarity index 100% rename from kdevplatform/plugins/subversion/kdevsvnplugin.cpp rename to plugins/subversion/kdevsvnplugin.cpp diff --git a/kdevplatform/plugins/subversion/kdevsvnplugin.h b/plugins/subversion/kdevsvnplugin.h similarity index 100% rename from kdevplatform/plugins/subversion/kdevsvnplugin.h rename to plugins/subversion/kdevsvnplugin.h diff --git a/kdevplatform/plugins/subversion/svnaddjob.cpp b/plugins/subversion/svnaddjob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svnaddjob.cpp rename to plugins/subversion/svnaddjob.cpp diff --git a/kdevplatform/plugins/subversion/svnaddjob.h b/plugins/subversion/svnaddjob.h similarity index 100% rename from kdevplatform/plugins/subversion/svnaddjob.h rename to plugins/subversion/svnaddjob.h diff --git a/kdevplatform/plugins/subversion/svnaddjob_p.h b/plugins/subversion/svnaddjob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svnaddjob_p.h rename to plugins/subversion/svnaddjob_p.h diff --git a/kdevplatform/plugins/subversion/svnblamejob.cpp b/plugins/subversion/svnblamejob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svnblamejob.cpp rename to plugins/subversion/svnblamejob.cpp diff --git a/kdevplatform/plugins/subversion/svnblamejob.h b/plugins/subversion/svnblamejob.h similarity index 100% rename from kdevplatform/plugins/subversion/svnblamejob.h rename to plugins/subversion/svnblamejob.h diff --git a/kdevplatform/plugins/subversion/svnblamejob_p.h b/plugins/subversion/svnblamejob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svnblamejob_p.h rename to plugins/subversion/svnblamejob_p.h diff --git a/kdevplatform/plugins/subversion/svncatjob.cpp b/plugins/subversion/svncatjob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svncatjob.cpp rename to plugins/subversion/svncatjob.cpp diff --git a/kdevplatform/plugins/subversion/svncatjob.h b/plugins/subversion/svncatjob.h similarity index 100% rename from kdevplatform/plugins/subversion/svncatjob.h rename to plugins/subversion/svncatjob.h diff --git a/kdevplatform/plugins/subversion/svncatjob_p.h b/plugins/subversion/svncatjob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svncatjob_p.h rename to plugins/subversion/svncatjob_p.h diff --git a/kdevplatform/plugins/subversion/svncheckoutjob.cpp b/plugins/subversion/svncheckoutjob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svncheckoutjob.cpp rename to plugins/subversion/svncheckoutjob.cpp diff --git a/kdevplatform/plugins/subversion/svncheckoutjob.h b/plugins/subversion/svncheckoutjob.h similarity index 100% rename from kdevplatform/plugins/subversion/svncheckoutjob.h rename to plugins/subversion/svncheckoutjob.h diff --git a/kdevplatform/plugins/subversion/svncheckoutjob_p.h b/plugins/subversion/svncheckoutjob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svncheckoutjob_p.h rename to plugins/subversion/svncheckoutjob_p.h diff --git a/kdevplatform/plugins/subversion/svncheckoutmetadatawidget.cpp b/plugins/subversion/svncheckoutmetadatawidget.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svncheckoutmetadatawidget.cpp rename to plugins/subversion/svncheckoutmetadatawidget.cpp diff --git a/kdevplatform/plugins/subversion/svncheckoutmetadatawidget.h b/plugins/subversion/svncheckoutmetadatawidget.h similarity index 100% rename from kdevplatform/plugins/subversion/svncheckoutmetadatawidget.h rename to plugins/subversion/svncheckoutmetadatawidget.h diff --git a/kdevplatform/plugins/subversion/svnclient.cpp b/plugins/subversion/svnclient.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svnclient.cpp rename to plugins/subversion/svnclient.cpp diff --git a/kdevplatform/plugins/subversion/svnclient.h b/plugins/subversion/svnclient.h similarity index 100% rename from kdevplatform/plugins/subversion/svnclient.h rename to plugins/subversion/svnclient.h diff --git a/kdevplatform/plugins/subversion/svncommitjob.cpp b/plugins/subversion/svncommitjob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svncommitjob.cpp rename to plugins/subversion/svncommitjob.cpp diff --git a/kdevplatform/plugins/subversion/svncommitjob.h b/plugins/subversion/svncommitjob.h similarity index 100% rename from kdevplatform/plugins/subversion/svncommitjob.h rename to plugins/subversion/svncommitjob.h diff --git a/kdevplatform/plugins/subversion/svncommitjob_p.h b/plugins/subversion/svncommitjob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svncommitjob_p.h rename to plugins/subversion/svncommitjob_p.h diff --git a/kdevplatform/plugins/subversion/svncopyjob.cpp b/plugins/subversion/svncopyjob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svncopyjob.cpp rename to plugins/subversion/svncopyjob.cpp diff --git a/kdevplatform/plugins/subversion/svncopyjob.h b/plugins/subversion/svncopyjob.h similarity index 100% rename from kdevplatform/plugins/subversion/svncopyjob.h rename to plugins/subversion/svncopyjob.h diff --git a/kdevplatform/plugins/subversion/svncopyjob_p.h b/plugins/subversion/svncopyjob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svncopyjob_p.h rename to plugins/subversion/svncopyjob_p.h diff --git a/kdevplatform/plugins/subversion/svndiffjob.cpp b/plugins/subversion/svndiffjob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svndiffjob.cpp rename to plugins/subversion/svndiffjob.cpp diff --git a/kdevplatform/plugins/subversion/svndiffjob.h b/plugins/subversion/svndiffjob.h similarity index 100% rename from kdevplatform/plugins/subversion/svndiffjob.h rename to plugins/subversion/svndiffjob.h diff --git a/kdevplatform/plugins/subversion/svndiffjob_p.h b/plugins/subversion/svndiffjob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svndiffjob_p.h rename to plugins/subversion/svndiffjob_p.h diff --git a/kdevplatform/plugins/subversion/svnimportjob.cpp b/plugins/subversion/svnimportjob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svnimportjob.cpp rename to plugins/subversion/svnimportjob.cpp diff --git a/kdevplatform/plugins/subversion/svnimportjob.h b/plugins/subversion/svnimportjob.h similarity index 100% rename from kdevplatform/plugins/subversion/svnimportjob.h rename to plugins/subversion/svnimportjob.h diff --git a/kdevplatform/plugins/subversion/svnimportjob_p.h b/plugins/subversion/svnimportjob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svnimportjob_p.h rename to plugins/subversion/svnimportjob_p.h diff --git a/kdevplatform/plugins/subversion/svnimportmetadatawidget.cpp b/plugins/subversion/svnimportmetadatawidget.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svnimportmetadatawidget.cpp rename to plugins/subversion/svnimportmetadatawidget.cpp diff --git a/kdevplatform/plugins/subversion/svnimportmetadatawidget.h b/plugins/subversion/svnimportmetadatawidget.h similarity index 100% rename from kdevplatform/plugins/subversion/svnimportmetadatawidget.h rename to plugins/subversion/svnimportmetadatawidget.h diff --git a/kdevplatform/plugins/subversion/svninfojob.cpp b/plugins/subversion/svninfojob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svninfojob.cpp rename to plugins/subversion/svninfojob.cpp diff --git a/kdevplatform/plugins/subversion/svninfojob.h b/plugins/subversion/svninfojob.h similarity index 100% rename from kdevplatform/plugins/subversion/svninfojob.h rename to plugins/subversion/svninfojob.h diff --git a/kdevplatform/plugins/subversion/svninfojob_p.h b/plugins/subversion/svninfojob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svninfojob_p.h rename to plugins/subversion/svninfojob_p.h diff --git a/kdevplatform/plugins/subversion/svninternaljobbase.cpp b/plugins/subversion/svninternaljobbase.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svninternaljobbase.cpp rename to plugins/subversion/svninternaljobbase.cpp diff --git a/kdevplatform/plugins/subversion/svninternaljobbase.h b/plugins/subversion/svninternaljobbase.h similarity index 100% rename from kdevplatform/plugins/subversion/svninternaljobbase.h rename to plugins/subversion/svninternaljobbase.h diff --git a/kdevplatform/plugins/subversion/svnjobbase.cpp b/plugins/subversion/svnjobbase.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svnjobbase.cpp rename to plugins/subversion/svnjobbase.cpp diff --git a/kdevplatform/plugins/subversion/svnjobbase.h b/plugins/subversion/svnjobbase.h similarity index 100% rename from kdevplatform/plugins/subversion/svnjobbase.h rename to plugins/subversion/svnjobbase.h diff --git a/kdevplatform/plugins/subversion/svnlocationwidget.cpp b/plugins/subversion/svnlocationwidget.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svnlocationwidget.cpp rename to plugins/subversion/svnlocationwidget.cpp diff --git a/kdevplatform/plugins/subversion/svnlocationwidget.h b/plugins/subversion/svnlocationwidget.h similarity index 100% rename from kdevplatform/plugins/subversion/svnlocationwidget.h rename to plugins/subversion/svnlocationwidget.h diff --git a/kdevplatform/plugins/subversion/svnlogjob.cpp b/plugins/subversion/svnlogjob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svnlogjob.cpp rename to plugins/subversion/svnlogjob.cpp diff --git a/kdevplatform/plugins/subversion/svnlogjob.h b/plugins/subversion/svnlogjob.h similarity index 100% rename from kdevplatform/plugins/subversion/svnlogjob.h rename to plugins/subversion/svnlogjob.h diff --git a/kdevplatform/plugins/subversion/svnlogjob_p.h b/plugins/subversion/svnlogjob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svnlogjob_p.h rename to plugins/subversion/svnlogjob_p.h diff --git a/kdevplatform/plugins/subversion/svnmovejob.cpp b/plugins/subversion/svnmovejob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svnmovejob.cpp rename to plugins/subversion/svnmovejob.cpp diff --git a/kdevplatform/plugins/subversion/svnmovejob.h b/plugins/subversion/svnmovejob.h similarity index 100% rename from kdevplatform/plugins/subversion/svnmovejob.h rename to plugins/subversion/svnmovejob.h diff --git a/kdevplatform/plugins/subversion/svnmovejob_p.h b/plugins/subversion/svnmovejob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svnmovejob_p.h rename to plugins/subversion/svnmovejob_p.h diff --git a/kdevplatform/plugins/subversion/svnremovejob.cpp b/plugins/subversion/svnremovejob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svnremovejob.cpp rename to plugins/subversion/svnremovejob.cpp diff --git a/kdevplatform/plugins/subversion/svnremovejob.h b/plugins/subversion/svnremovejob.h similarity index 100% rename from kdevplatform/plugins/subversion/svnremovejob.h rename to plugins/subversion/svnremovejob.h diff --git a/kdevplatform/plugins/subversion/svnremovejob_p.h b/plugins/subversion/svnremovejob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svnremovejob_p.h rename to plugins/subversion/svnremovejob_p.h diff --git a/kdevplatform/plugins/subversion/svnrevertjob.cpp b/plugins/subversion/svnrevertjob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svnrevertjob.cpp rename to plugins/subversion/svnrevertjob.cpp diff --git a/kdevplatform/plugins/subversion/svnrevertjob.h b/plugins/subversion/svnrevertjob.h similarity index 100% rename from kdevplatform/plugins/subversion/svnrevertjob.h rename to plugins/subversion/svnrevertjob.h diff --git a/kdevplatform/plugins/subversion/svnrevertjob_p.h b/plugins/subversion/svnrevertjob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svnrevertjob_p.h rename to plugins/subversion/svnrevertjob_p.h diff --git a/kdevplatform/plugins/subversion/svnssldialog.cpp b/plugins/subversion/svnssldialog.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svnssldialog.cpp rename to plugins/subversion/svnssldialog.cpp diff --git a/kdevplatform/plugins/subversion/svnssldialog.h b/plugins/subversion/svnssldialog.h similarity index 100% rename from kdevplatform/plugins/subversion/svnssldialog.h rename to plugins/subversion/svnssldialog.h diff --git a/kdevplatform/plugins/subversion/svnstatusjob.cpp b/plugins/subversion/svnstatusjob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svnstatusjob.cpp rename to plugins/subversion/svnstatusjob.cpp diff --git a/kdevplatform/plugins/subversion/svnstatusjob.h b/plugins/subversion/svnstatusjob.h similarity index 100% rename from kdevplatform/plugins/subversion/svnstatusjob.h rename to plugins/subversion/svnstatusjob.h diff --git a/kdevplatform/plugins/subversion/svnstatusjob_p.h b/plugins/subversion/svnstatusjob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svnstatusjob_p.h rename to plugins/subversion/svnstatusjob_p.h diff --git a/kdevplatform/plugins/subversion/svnupdatejob.cpp b/plugins/subversion/svnupdatejob.cpp similarity index 100% rename from kdevplatform/plugins/subversion/svnupdatejob.cpp rename to plugins/subversion/svnupdatejob.cpp diff --git a/kdevplatform/plugins/subversion/svnupdatejob.h b/plugins/subversion/svnupdatejob.h similarity index 100% rename from kdevplatform/plugins/subversion/svnupdatejob.h rename to plugins/subversion/svnupdatejob.h diff --git a/kdevplatform/plugins/subversion/svnupdatejob_p.h b/plugins/subversion/svnupdatejob_p.h similarity index 100% rename from kdevplatform/plugins/subversion/svnupdatejob_p.h rename to plugins/subversion/svnupdatejob_p.h diff --git a/kdevplatform/plugins/subversion/tests/CMakeLists.txt b/plugins/subversion/tests/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/subversion/tests/CMakeLists.txt rename to plugins/subversion/tests/CMakeLists.txt diff --git a/kdevplatform/plugins/subversion/tests/test_svnimport.cpp b/plugins/subversion/tests/test_svnimport.cpp similarity index 100% rename from kdevplatform/plugins/subversion/tests/test_svnimport.cpp rename to plugins/subversion/tests/test_svnimport.cpp diff --git a/kdevplatform/plugins/subversion/tests/test_svnimport.h b/plugins/subversion/tests/test_svnimport.h similarity index 100% rename from kdevplatform/plugins/subversion/tests/test_svnimport.h rename to plugins/subversion/tests/test_svnimport.h diff --git a/kdevplatform/plugins/subversion/tests/test_svnrecursiveadd.cpp b/plugins/subversion/tests/test_svnrecursiveadd.cpp similarity index 100% rename from kdevplatform/plugins/subversion/tests/test_svnrecursiveadd.cpp rename to plugins/subversion/tests/test_svnrecursiveadd.cpp diff --git a/kdevplatform/plugins/subversion/tests/test_svnrecursiveadd.h b/plugins/subversion/tests/test_svnrecursiveadd.h similarity index 100% rename from kdevplatform/plugins/subversion/tests/test_svnrecursiveadd.h rename to plugins/subversion/tests/test_svnrecursiveadd.h diff --git a/kdevplatform/plugins/subversion/ui/blameoptiondlg.ui b/plugins/subversion/ui/blameoptiondlg.ui similarity index 100% rename from kdevplatform/plugins/subversion/ui/blameoptiondlg.ui rename to plugins/subversion/ui/blameoptiondlg.ui diff --git a/kdevplatform/plugins/subversion/ui/catoptiondlg.ui b/plugins/subversion/ui/catoptiondlg.ui similarity index 100% rename from kdevplatform/plugins/subversion/ui/catoptiondlg.ui rename to plugins/subversion/ui/catoptiondlg.ui diff --git a/kdevplatform/plugins/subversion/ui/checkoutmetadatawidget.ui b/plugins/subversion/ui/checkoutmetadatawidget.ui similarity index 100% rename from kdevplatform/plugins/subversion/ui/checkoutmetadatawidget.ui rename to plugins/subversion/ui/checkoutmetadatawidget.ui diff --git a/kdevplatform/plugins/subversion/ui/commitloginputdlg.ui b/plugins/subversion/ui/commitloginputdlg.ui similarity index 100% rename from kdevplatform/plugins/subversion/ui/commitloginputdlg.ui rename to plugins/subversion/ui/commitloginputdlg.ui diff --git a/kdevplatform/plugins/subversion/ui/copyoptiondlg.ui b/plugins/subversion/ui/copyoptiondlg.ui similarity index 100% rename from kdevplatform/plugins/subversion/ui/copyoptiondlg.ui rename to plugins/subversion/ui/copyoptiondlg.ui diff --git a/kdevplatform/plugins/subversion/ui/diffoptiondlg.ui b/plugins/subversion/ui/diffoptiondlg.ui similarity index 100% rename from kdevplatform/plugins/subversion/ui/diffoptiondlg.ui rename to plugins/subversion/ui/diffoptiondlg.ui diff --git a/kdevplatform/plugins/subversion/ui/importmetadatawidget.ui b/plugins/subversion/ui/importmetadatawidget.ui similarity index 100% rename from kdevplatform/plugins/subversion/ui/importmetadatawidget.ui rename to plugins/subversion/ui/importmetadatawidget.ui diff --git a/kdevplatform/plugins/subversion/ui/logviewoptiondlg.ui b/plugins/subversion/ui/logviewoptiondlg.ui similarity index 100% rename from kdevplatform/plugins/subversion/ui/logviewoptiondlg.ui rename to plugins/subversion/ui/logviewoptiondlg.ui diff --git a/kdevplatform/plugins/subversion/ui/moveoptiondlg.ui b/plugins/subversion/ui/moveoptiondlg.ui similarity index 100% rename from kdevplatform/plugins/subversion/ui/moveoptiondlg.ui rename to plugins/subversion/ui/moveoptiondlg.ui diff --git a/kdevplatform/plugins/subversion/ui/revertoptiondlg.ui b/plugins/subversion/ui/revertoptiondlg.ui similarity index 100% rename from kdevplatform/plugins/subversion/ui/revertoptiondlg.ui rename to plugins/subversion/ui/revertoptiondlg.ui diff --git a/kdevplatform/plugins/subversion/ui/revisionwidget.ui b/plugins/subversion/ui/revisionwidget.ui similarity index 100% rename from kdevplatform/plugins/subversion/ui/revisionwidget.ui rename to plugins/subversion/ui/revisionwidget.ui diff --git a/kdevplatform/plugins/subversion/ui/ssltrustdialog.ui b/plugins/subversion/ui/ssltrustdialog.ui similarity index 100% rename from kdevplatform/plugins/subversion/ui/ssltrustdialog.ui rename to plugins/subversion/ui/ssltrustdialog.ui diff --git a/kdevplatform/plugins/subversion/ui/statusoptiondlg.ui b/plugins/subversion/ui/statusoptiondlg.ui similarity index 100% rename from kdevplatform/plugins/subversion/ui/statusoptiondlg.ui rename to plugins/subversion/ui/statusoptiondlg.ui diff --git a/kdevplatform/plugins/subversion/ui/updateoptiondlg.ui b/plugins/subversion/ui/updateoptiondlg.ui similarity index 100% rename from kdevplatform/plugins/subversion/ui/updateoptiondlg.ui rename to plugins/subversion/ui/updateoptiondlg.ui diff --git a/kdevplatform/plugins/switchtobuddy/CMakeLists.txt b/plugins/switchtobuddy/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/switchtobuddy/CMakeLists.txt rename to plugins/switchtobuddy/CMakeLists.txt diff --git a/kdevplatform/plugins/switchtobuddy/Messages.sh b/plugins/switchtobuddy/Messages.sh similarity index 100% rename from kdevplatform/plugins/switchtobuddy/Messages.sh rename to plugins/switchtobuddy/Messages.sh diff --git a/kdevplatform/plugins/switchtobuddy/kdevswitchtobuddy.json b/plugins/switchtobuddy/kdevswitchtobuddy.json similarity index 100% rename from kdevplatform/plugins/switchtobuddy/kdevswitchtobuddy.json rename to plugins/switchtobuddy/kdevswitchtobuddy.json diff --git a/kdevplatform/plugins/switchtobuddy/kdevswitchtobuddy.qrc b/plugins/switchtobuddy/kdevswitchtobuddy.qrc similarity index 100% rename from kdevplatform/plugins/switchtobuddy/kdevswitchtobuddy.qrc rename to plugins/switchtobuddy/kdevswitchtobuddy.qrc diff --git a/kdevplatform/plugins/switchtobuddy/kdevswitchtobuddy.rc b/plugins/switchtobuddy/kdevswitchtobuddy.rc similarity index 100% rename from kdevplatform/plugins/switchtobuddy/kdevswitchtobuddy.rc rename to plugins/switchtobuddy/kdevswitchtobuddy.rc diff --git a/kdevplatform/plugins/switchtobuddy/switchtobuddyplugin.cpp b/plugins/switchtobuddy/switchtobuddyplugin.cpp similarity index 100% rename from kdevplatform/plugins/switchtobuddy/switchtobuddyplugin.cpp rename to plugins/switchtobuddy/switchtobuddyplugin.cpp diff --git a/kdevplatform/plugins/switchtobuddy/switchtobuddyplugin.h b/plugins/switchtobuddy/switchtobuddyplugin.h similarity index 100% rename from kdevplatform/plugins/switchtobuddy/switchtobuddyplugin.h rename to plugins/switchtobuddy/switchtobuddyplugin.h diff --git a/kdevplatform/plugins/testview/CMakeLists.txt b/plugins/testview/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/testview/CMakeLists.txt rename to plugins/testview/CMakeLists.txt diff --git a/kdevplatform/plugins/testview/Messages.sh b/plugins/testview/Messages.sh similarity index 100% rename from kdevplatform/plugins/testview/Messages.sh rename to plugins/testview/Messages.sh diff --git a/kdevplatform/plugins/testview/kdevtestview.json b/plugins/testview/kdevtestview.json similarity index 100% rename from kdevplatform/plugins/testview/kdevtestview.json rename to plugins/testview/kdevtestview.json diff --git a/kdevplatform/plugins/testview/kdevtestview.qrc b/plugins/testview/kdevtestview.qrc similarity index 100% rename from kdevplatform/plugins/testview/kdevtestview.qrc rename to plugins/testview/kdevtestview.qrc diff --git a/kdevplatform/plugins/testview/kdevtestview.rc b/plugins/testview/kdevtestview.rc similarity index 100% rename from kdevplatform/plugins/testview/kdevtestview.rc rename to plugins/testview/kdevtestview.rc diff --git a/kdevplatform/plugins/testview/testview.cpp b/plugins/testview/testview.cpp similarity index 100% rename from kdevplatform/plugins/testview/testview.cpp rename to plugins/testview/testview.cpp diff --git a/kdevplatform/plugins/testview/testview.h b/plugins/testview/testview.h similarity index 100% rename from kdevplatform/plugins/testview/testview.h rename to plugins/testview/testview.h diff --git a/kdevplatform/plugins/testview/testviewplugin.cpp b/plugins/testview/testviewplugin.cpp similarity index 100% rename from kdevplatform/plugins/testview/testviewplugin.cpp rename to plugins/testview/testviewplugin.cpp diff --git a/kdevplatform/plugins/testview/testviewplugin.h b/plugins/testview/testviewplugin.h similarity index 100% rename from kdevplatform/plugins/testview/testviewplugin.h rename to plugins/testview/testviewplugin.h diff --git a/kdevplatform/plugins/vcschangesview/CMakeLists.txt b/plugins/vcschangesview/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/vcschangesview/CMakeLists.txt rename to plugins/vcschangesview/CMakeLists.txt diff --git a/kdevplatform/plugins/vcschangesview/Messages.sh b/plugins/vcschangesview/Messages.sh similarity index 100% rename from kdevplatform/plugins/vcschangesview/Messages.sh rename to plugins/vcschangesview/Messages.sh diff --git a/kdevplatform/plugins/vcschangesview/kdevvcschangesview.json b/plugins/vcschangesview/kdevvcschangesview.json similarity index 100% rename from kdevplatform/plugins/vcschangesview/kdevvcschangesview.json rename to plugins/vcschangesview/kdevvcschangesview.json diff --git a/kdevplatform/plugins/vcschangesview/vcschangesview.cpp b/plugins/vcschangesview/vcschangesview.cpp similarity index 100% rename from kdevplatform/plugins/vcschangesview/vcschangesview.cpp rename to plugins/vcschangesview/vcschangesview.cpp diff --git a/kdevplatform/plugins/vcschangesview/vcschangesview.h b/plugins/vcschangesview/vcschangesview.h similarity index 100% rename from kdevplatform/plugins/vcschangesview/vcschangesview.h rename to plugins/vcschangesview/vcschangesview.h diff --git a/kdevplatform/plugins/vcschangesview/vcschangesviewplugin.cpp b/plugins/vcschangesview/vcschangesviewplugin.cpp similarity index 100% rename from kdevplatform/plugins/vcschangesview/vcschangesviewplugin.cpp rename to plugins/vcschangesview/vcschangesviewplugin.cpp diff --git a/kdevplatform/plugins/vcschangesview/vcschangesviewplugin.h b/plugins/vcschangesview/vcschangesviewplugin.h similarity index 100% rename from kdevplatform/plugins/vcschangesview/vcschangesviewplugin.h rename to plugins/vcschangesview/vcschangesviewplugin.h diff --git a/kdevplatform/plugins/welcomepage/CMakeLists.txt b/plugins/welcomepage/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/welcomepage/CMakeLists.txt rename to plugins/welcomepage/CMakeLists.txt diff --git a/kdevplatform/plugins/welcomepage/Messages.sh b/plugins/welcomepage/Messages.sh similarity index 100% rename from kdevplatform/plugins/welcomepage/Messages.sh rename to plugins/welcomepage/Messages.sh diff --git a/kdevplatform/plugins/welcomepage/declarative/CMakeLists.txt b/plugins/welcomepage/declarative/CMakeLists.txt similarity index 100% rename from kdevplatform/plugins/welcomepage/declarative/CMakeLists.txt rename to plugins/welcomepage/declarative/CMakeLists.txt diff --git a/kdevplatform/plugins/welcomepage/declarative/icoreobject.cpp b/plugins/welcomepage/declarative/icoreobject.cpp similarity index 100% rename from kdevplatform/plugins/welcomepage/declarative/icoreobject.cpp rename to plugins/welcomepage/declarative/icoreobject.cpp diff --git a/kdevplatform/plugins/welcomepage/declarative/icoreobject.h b/plugins/welcomepage/declarative/icoreobject.h similarity index 100% rename from kdevplatform/plugins/welcomepage/declarative/icoreobject.h rename to plugins/welcomepage/declarative/icoreobject.h diff --git a/kdevplatform/plugins/welcomepage/declarative/kdevelopdashboarddeclarativeplugin.cpp b/plugins/welcomepage/declarative/kdevelopdashboarddeclarativeplugin.cpp similarity index 100% rename from kdevplatform/plugins/welcomepage/declarative/kdevelopdashboarddeclarativeplugin.cpp rename to plugins/welcomepage/declarative/kdevelopdashboarddeclarativeplugin.cpp diff --git a/kdevplatform/plugins/welcomepage/declarative/kdevelopdashboarddeclarativeplugin.h b/plugins/welcomepage/declarative/kdevelopdashboarddeclarativeplugin.h similarity index 100% rename from kdevplatform/plugins/welcomepage/declarative/kdevelopdashboarddeclarativeplugin.h rename to plugins/welcomepage/declarative/kdevelopdashboarddeclarativeplugin.h diff --git a/kdevplatform/plugins/welcomepage/declarative/qmldir b/plugins/welcomepage/declarative/qmldir similarity index 100% rename from kdevplatform/plugins/welcomepage/declarative/qmldir rename to plugins/welcomepage/declarative/qmldir diff --git a/kdevplatform/plugins/welcomepage/kdevwelcomepage.json b/plugins/welcomepage/kdevwelcomepage.json similarity index 100% rename from kdevplatform/plugins/welcomepage/kdevwelcomepage.json rename to plugins/welcomepage/kdevwelcomepage.json diff --git a/kdevplatform/plugins/welcomepage/qml/Develop.qml b/plugins/welcomepage/qml/Develop.qml similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/Develop.qml rename to plugins/welcomepage/qml/Develop.qml diff --git a/kdevplatform/plugins/welcomepage/qml/GettingStarted.qml b/plugins/welcomepage/qml/GettingStarted.qml similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/GettingStarted.qml rename to plugins/welcomepage/qml/GettingStarted.qml diff --git a/kdevplatform/plugins/welcomepage/qml/Heading.qml b/plugins/welcomepage/qml/Heading.qml similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/Heading.qml rename to plugins/welcomepage/qml/Heading.qml diff --git a/kdevplatform/plugins/welcomepage/qml/Link.qml b/plugins/welcomepage/qml/Link.qml similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/Link.qml rename to plugins/welcomepage/qml/Link.qml diff --git a/kdevplatform/plugins/welcomepage/qml/NewsFeed.qml b/plugins/welcomepage/qml/NewsFeed.qml similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/NewsFeed.qml rename to plugins/welcomepage/qml/NewsFeed.qml diff --git a/kdevplatform/plugins/welcomepage/qml/ProjectsDashboard.qml b/plugins/welcomepage/qml/ProjectsDashboard.qml similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/ProjectsDashboard.qml rename to plugins/welcomepage/qml/ProjectsDashboard.qml diff --git a/kdevplatform/plugins/welcomepage/qml/StandardBackground.qml b/plugins/welcomepage/qml/StandardBackground.qml similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/StandardBackground.qml rename to plugins/welcomepage/qml/StandardBackground.qml diff --git a/kdevplatform/plugins/welcomepage/qml/StandardPage.qml b/plugins/welcomepage/qml/StandardPage.qml similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/StandardPage.qml rename to plugins/welcomepage/qml/StandardPage.qml diff --git a/kdevplatform/plugins/welcomepage/qml/area_code.qml b/plugins/welcomepage/qml/area_code.qml similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/area_code.qml rename to plugins/welcomepage/qml/area_code.qml diff --git a/kdevplatform/plugins/welcomepage/qml/area_debug.qml b/plugins/welcomepage/qml/area_debug.qml similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/area_debug.qml rename to plugins/welcomepage/qml/area_debug.qml diff --git a/kdevplatform/plugins/welcomepage/qml/area_review.qml b/plugins/welcomepage/qml/area_review.qml similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/area_review.qml rename to plugins/welcomepage/qml/area_review.qml diff --git a/kdevplatform/plugins/welcomepage/qml/main.qml b/plugins/welcomepage/qml/main.qml similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/main.qml rename to plugins/welcomepage/qml/main.qml diff --git a/kdevplatform/plugins/welcomepage/qml/plugins/Branches.qml b/plugins/welcomepage/qml/plugins/Branches.qml similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/plugins/Branches.qml rename to plugins/welcomepage/qml/plugins/Branches.qml diff --git a/kdevplatform/plugins/welcomepage/qml/plugins/Projects.qml b/plugins/welcomepage/qml/plugins/Projects.qml similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/plugins/Projects.qml rename to plugins/welcomepage/qml/plugins/Projects.qml diff --git a/kdevplatform/plugins/welcomepage/qml/storage.js b/plugins/welcomepage/qml/storage.js similarity index 100% rename from kdevplatform/plugins/welcomepage/qml/storage.js rename to plugins/welcomepage/qml/storage.js diff --git a/kdevplatform/plugins/welcomepage/sessionsmodel.cpp b/plugins/welcomepage/sessionsmodel.cpp similarity index 100% rename from kdevplatform/plugins/welcomepage/sessionsmodel.cpp rename to plugins/welcomepage/sessionsmodel.cpp diff --git a/kdevplatform/plugins/welcomepage/sessionsmodel.h b/plugins/welcomepage/sessionsmodel.h similarity index 100% rename from kdevplatform/plugins/welcomepage/sessionsmodel.h rename to plugins/welcomepage/sessionsmodel.h diff --git a/kdevplatform/plugins/welcomepage/uihelper.cpp b/plugins/welcomepage/uihelper.cpp similarity index 100% rename from kdevplatform/plugins/welcomepage/uihelper.cpp rename to plugins/welcomepage/uihelper.cpp diff --git a/kdevplatform/plugins/welcomepage/uihelper.h b/plugins/welcomepage/uihelper.h similarity index 100% rename from kdevplatform/plugins/welcomepage/uihelper.h rename to plugins/welcomepage/uihelper.h diff --git a/kdevplatform/plugins/welcomepage/welcomepage.qrc b/plugins/welcomepage/welcomepage.qrc similarity index 100% rename from kdevplatform/plugins/welcomepage/welcomepage.qrc rename to plugins/welcomepage/welcomepage.qrc diff --git a/kdevplatform/plugins/welcomepage/welcomepageplugin.cpp b/plugins/welcomepage/welcomepageplugin.cpp similarity index 100% rename from kdevplatform/plugins/welcomepage/welcomepageplugin.cpp rename to plugins/welcomepage/welcomepageplugin.cpp diff --git a/kdevplatform/plugins/welcomepage/welcomepageplugin.h b/plugins/welcomepage/welcomepageplugin.h similarity index 100% rename from kdevplatform/plugins/welcomepage/welcomepageplugin.h rename to plugins/welcomepage/welcomepageplugin.h diff --git a/kdevplatform/plugins/welcomepage/welcomepageview.cpp b/plugins/welcomepage/welcomepageview.cpp similarity index 100% rename from kdevplatform/plugins/welcomepage/welcomepageview.cpp rename to plugins/welcomepage/welcomepageview.cpp diff --git a/kdevplatform/plugins/welcomepage/welcomepageview.h b/plugins/welcomepage/welcomepageview.h similarity index 100% rename from kdevplatform/plugins/welcomepage/welcomepageview.h rename to plugins/welcomepage/welcomepageview.h diff --git a/projectbuilders/CMakeLists.txt b/projectbuilders/CMakeLists.txt deleted file mode 100644 index 80d7866dd4..0000000000 --- a/projectbuilders/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -add_subdirectory(makebuilder) -add_subdirectory(ninjabuilder) -ecm_optional_add_subdirectory(cmakebuilder) -if (KDevelop-PG-Qt_FOUND) - ecm_optional_add_subdirectory(qmakebuilder) -endif() diff --git a/projectmanagers/CMakeLists.txt b/projectmanagers/CMakeLists.txt deleted file mode 100644 index bd671cedb6..0000000000 --- a/projectmanagers/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -ecm_optional_add_subdirectory(cmake) -ecm_optional_add_subdirectory(custommake) -ecm_optional_add_subdirectory(custom-buildsystem) -if (KDevelop-PG-Qt_FOUND) - ecm_optional_add_subdirectory(qmake) -endif() diff --git a/qtcompat_p.h b/qtcompat_p.h index 05f173dc99..12024b2249 100644 --- a/qtcompat_p.h +++ b/qtcompat_p.h @@ -1,64 +1,64 @@ /* Copyright (c) 2017 Kevin Funk -// COMPAT: qAsConst (from qglobal.h) #if QT_VERSION < QT_VERSION_CHECK(5,7,0) namespace QtPrivate { template struct QAddConst { typedef const T Type; }; } // this adds const to non-const objects (like std::as_const) template Q_DECL_CONSTEXPR typename QtPrivate::QAddConst::Type &qAsConst(T &t) Q_DECL_NOTHROW { return t; } // prevent rvalue arguments: template void qAsConst(const T &&) Q_DECL_EQ_DELETE; #endif #endif -// COMPAT: Q_FALLTHROUGH (from qcompilerdetection.h) +// compat for Q_FALLTHROUGH #if QT_VERSION < QT_VERSION_CHECK(5,8,0) -#if defined(__cplusplus) -#if QT_HAS_CPP_ATTRIBUTE(fallthrough) -# define Q_FALLTHROUGH() [[fallthrough]] -#elif QT_HAS_CPP_ATTRIBUTE(clang::fallthrough) -# define Q_FALLTHROUGH() [[clang::fallthrough]] -#elif QT_HAS_CPP_ATTRIBUTE(gnu::fallthrough) -# define Q_FALLTHROUGH() [[gnu::fallthrough]] -#endif +#if defined(__has_cpp_attribute) +# if __has_cpp_attribute(fallthrough) +# define Q_FALLTHROUGH() [[fallthrough]] +# elif __has_cpp_attribute(clang::fallthrough) +# define Q_FALLTHROUGH() [[clang::fallthrough]] +# elif __has_cpp_attribute(gnu::fallthrough) +# define Q_FALLTHROUGH() [[gnu::fallthrough]] +# endif #endif + #ifndef Q_FALLTHROUGH -# if (defined(Q_CC_GNU) && Q_CC_GNU >= 700) && !defined(Q_CC_INTEL) -# define Q_FALLTHROUGH() __attribute__((fallthrough)) -# else -# define Q_FALLTHROUGH() (void)0 -#endif +# if defined(__GNUC__) && !defined(__INTEL_COMPILER) && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 700) +# define Q_FALLTHROUGH() __attribute__((fallthrough)) +# else +# define Q_FALLTHROUGH() (void)0 +# endif #endif #endif diff --git a/runtimes/CMakeLists.txt b/runtimes/CMakeLists.txt deleted file mode 100644 index 37f4019300..0000000000 --- a/runtimes/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -add_subdirectory(android) diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt deleted file mode 100644 index 0cd06b76a4..0000000000 --- a/utils/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -find_package(OktetaKastenControllers 0.3.1) -set_package_properties(OktetaKastenControllers PROPERTIES - PURPOSE "Required for building Okteta KDevelop plugin." - URL "http://kde.org/" - TYPE OPTIONAL) - -if (OktetaKastenControllers_FOUND) - find_package( KastenControllers ) - - set_package_properties(KastenControllers PROPERTIES - PURPOSE "Required for building Okteta KDevelop plugin." - URL "http://kde.org/" - TYPE OPTIONAL) -endif() - -if (OktetaKastenControllers_FOUND AND KastenControllers_FOUND) - add_subdirectory(okteta) -endif()