Blame Build-add-qmltypes-file-to-repository.patch

Bernhard M. Wiedemann f06ce7
From 678c493a083a92d1fda2375f5d2e37c00c7b9a7e Mon Sep 17 00:00:00 2001
Bernhard M. Wiedemann f06ce7
From: Alberto Mardegan <mardy@users.sourceforge.net>
Bernhard M. Wiedemann f06ce7
Date: Tue, 9 Jan 2018 18:23:57 +0300
Bernhard M. Wiedemann f06ce7
Subject: [PATCH] Build: add qmltypes file to repository
Bernhard M. Wiedemann f06ce7
Bernhard M. Wiedemann f06ce7
Generating the file at build time is troublesome when cross-compiling.
Bernhard M. Wiedemann f06ce7
It's better to add the generated file to the repository and add a make
Bernhard M. Wiedemann f06ce7
target to rebuild it.
Bernhard M. Wiedemann f06ce7
---
Bernhard M. Wiedemann f06ce7
 src/plugin.qmltypes | 187 ++++++++++++++++++++++++++++++++++++++++++++
Bernhard M. Wiedemann f06ce7
 src/src.pro         |  19 +----
Bernhard M. Wiedemann f06ce7
 2 files changed, 191 insertions(+), 15 deletions(-)
Bernhard M. Wiedemann f06ce7
 create mode 100644 src/plugin.qmltypes
Bernhard M. Wiedemann f06ce7
Bernhard M. Wiedemann f06ce7
diff --git a/src/plugin.qmltypes b/src/plugin.qmltypes
Bernhard M. Wiedemann f06ce7
new file mode 100644
Bernhard M. Wiedemann f06ce7
index 0000000..8481efe
Bernhard M. Wiedemann f06ce7
--- /dev/null
Bernhard M. Wiedemann f06ce7
+++ b/src/plugin.qmltypes
Bernhard M. Wiedemann f06ce7
@@ -0,0 +1,187 @@
Bernhard M. Wiedemann f06ce7
+import QtQuick.tooling 1.2
Bernhard M. Wiedemann f06ce7
+
Bernhard M. Wiedemann f06ce7
+// This file describes the plugin-supplied types contained in the library.
Bernhard M. Wiedemann f06ce7
+// It is used for QML tooling purposes only.
Bernhard M. Wiedemann f06ce7
+//
Bernhard M. Wiedemann f06ce7
+// This file was auto-generated by:
Bernhard M. Wiedemann f06ce7
+// 'qmlplugindump -notrelocatable Ubuntu.OnlineAccounts 0.1 .'
Bernhard M. Wiedemann f06ce7
+
Bernhard M. Wiedemann f06ce7
+Module {
Bernhard M. Wiedemann f06ce7
+    dependencies: ["QtQuick 2.8"]
Bernhard M. Wiedemann f06ce7
+    Component {
Bernhard M. Wiedemann f06ce7
+        name: "OnlineAccounts::Account"
Bernhard M. Wiedemann f06ce7
+        prototype: "QObject"
Bernhard M. Wiedemann f06ce7
+        exports: ["Ubuntu.OnlineAccounts/Account 0.1"]
Bernhard M. Wiedemann f06ce7
+        exportMetaObjectRevisions: [0]
Bernhard M. Wiedemann f06ce7
+        Enum {
Bernhard M. Wiedemann f06ce7
+            name: "RemovalOption"
Bernhard M. Wiedemann f06ce7
+            values: {
Bernhard M. Wiedemann f06ce7
+                "RemoveAccountOnly": 0,
Bernhard M. Wiedemann f06ce7
+                "RemoveCredentials": 1
Bernhard M. Wiedemann f06ce7
+            }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+        Enum {
Bernhard M. Wiedemann f06ce7
+            name: "RemovalOptions"
Bernhard M. Wiedemann f06ce7
+            values: {
Bernhard M. Wiedemann f06ce7
+                "RemoveAccountOnly": 0,
Bernhard M. Wiedemann f06ce7
+                "RemoveCredentials": 1
Bernhard M. Wiedemann f06ce7
+            }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+        Property { name: "objectHandle"; type: "QObject"; isPointer: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "enabled"; type: "bool"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "provider"; type: "QVariantMap"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "displayName"; type: "string"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "accountId"; type: "uint"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "accountServiceHandle"; type: "QObject"; isReadonly: true; isPointer: true }
Bernhard M. Wiedemann f06ce7
+        Signal { name: "synced" }
Bernhard M. Wiedemann f06ce7
+        Signal { name: "removed" }
Bernhard M. Wiedemann f06ce7
+        Method {
Bernhard M. Wiedemann f06ce7
+            name: "updateDisplayName"
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "displayName"; type: "string" }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+        Method {
Bernhard M. Wiedemann f06ce7
+            name: "updateEnabled"
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "enabled"; type: "bool" }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+        Method { name: "sync" }
Bernhard M. Wiedemann f06ce7
+        Method {
Bernhard M. Wiedemann f06ce7
+            name: "remove"
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "options"; type: "RemovalOptions" }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+        Method { name: "remove" }
Bernhard M. Wiedemann f06ce7
+    }
Bernhard M. Wiedemann f06ce7
+    Component {
Bernhard M. Wiedemann f06ce7
+        name: "OnlineAccounts::AccountService"
Bernhard M. Wiedemann f06ce7
+        prototype: "QObject"
Bernhard M. Wiedemann f06ce7
+        exports: ["Ubuntu.OnlineAccounts/AccountService 0.1"]
Bernhard M. Wiedemann f06ce7
+        exportMetaObjectRevisions: [0]
Bernhard M. Wiedemann f06ce7
+        Enum {
Bernhard M. Wiedemann f06ce7
+            name: "ErrorCode"
Bernhard M. Wiedemann f06ce7
+            values: {
Bernhard M. Wiedemann f06ce7
+                "NoError": 0,
Bernhard M. Wiedemann f06ce7
+                "NoAccountError": 1,
Bernhard M. Wiedemann f06ce7
+                "UserCanceledError": 2,
Bernhard M. Wiedemann f06ce7
+                "PermissionDeniedError": 3,
Bernhard M. Wiedemann f06ce7
+                "NetworkError": 4,
Bernhard M. Wiedemann f06ce7
+                "SslError": 5,
Bernhard M. Wiedemann f06ce7
+                "InteractionRequiredError": 6
Bernhard M. Wiedemann f06ce7
+            }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+        Property { name: "objectHandle"; type: "QObject"; isPointer: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "enabled"; type: "bool"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "serviceEnabled"; type: "bool"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "provider"; type: "QVariantMap"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "service"; type: "QVariantMap"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "displayName"; type: "string"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "accountId"; type: "uint"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "settings"; type: "QVariantMap"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "authData"; type: "QVariantMap"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "autoSync"; type: "bool" }
Bernhard M. Wiedemann f06ce7
+        Property { name: "credentials"; type: "QObject"; isPointer: true }
Bernhard M. Wiedemann f06ce7
+        Signal {
Bernhard M. Wiedemann f06ce7
+            name: "authenticated"
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "reply"; type: "QVariantMap" }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+        Signal {
Bernhard M. Wiedemann f06ce7
+            name: "authenticationError"
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "error"; type: "QVariantMap" }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+        Method {
Bernhard M. Wiedemann f06ce7
+            name: "authenticate"
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "sessionData"; type: "QVariantMap" }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+        Method { name: "authenticate" }
Bernhard M. Wiedemann f06ce7
+        Method { name: "cancelAuthentication" }
Bernhard M. Wiedemann f06ce7
+        Method {
Bernhard M. Wiedemann f06ce7
+            name: "updateServiceEnabled"
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "enabled"; type: "bool" }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+        Method {
Bernhard M. Wiedemann f06ce7
+            name: "updateSettings"
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "settings"; type: "QVariantMap" }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+    }
Bernhard M. Wiedemann f06ce7
+    Component {
Bernhard M. Wiedemann f06ce7
+        name: "OnlineAccounts::AccountServiceModel"
Bernhard M. Wiedemann f06ce7
+        prototype: "QAbstractListModel"
Bernhard M. Wiedemann f06ce7
+        exports: ["Ubuntu.OnlineAccounts/AccountServiceModel 0.1"]
Bernhard M. Wiedemann f06ce7
+        exportMetaObjectRevisions: [0]
Bernhard M. Wiedemann f06ce7
+        Property { name: "count"; type: "int"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "includeDisabled"; type: "bool" }
Bernhard M. Wiedemann f06ce7
+        Property { name: "accountId"; type: "uint" }
Bernhard M. Wiedemann f06ce7
+        Property { name: "account"; type: "QObject"; isPointer: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "applicationId"; type: "string" }
Bernhard M. Wiedemann f06ce7
+        Property { name: "provider"; type: "string" }
Bernhard M. Wiedemann f06ce7
+        Property { name: "serviceType"; type: "string" }
Bernhard M. Wiedemann f06ce7
+        Property { name: "service"; type: "string" }
Bernhard M. Wiedemann f06ce7
+        Method {
Bernhard M. Wiedemann f06ce7
+            name: "get"
Bernhard M. Wiedemann f06ce7
+            type: "QVariant"
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "row"; type: "int" }
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "roleName"; type: "string" }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+    }
Bernhard M. Wiedemann f06ce7
+    Component {
Bernhard M. Wiedemann f06ce7
+        name: "OnlineAccounts::ApplicationModel"
Bernhard M. Wiedemann f06ce7
+        prototype: "QAbstractListModel"
Bernhard M. Wiedemann f06ce7
+        exports: ["Ubuntu.OnlineAccounts/ApplicationModel 0.1"]
Bernhard M. Wiedemann f06ce7
+        exportMetaObjectRevisions: [0]
Bernhard M. Wiedemann f06ce7
+        Property { name: "count"; type: "int"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Property { name: "service"; type: "string" }
Bernhard M. Wiedemann f06ce7
+        Method {
Bernhard M. Wiedemann f06ce7
+            name: "get"
Bernhard M. Wiedemann f06ce7
+            type: "QVariant"
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "row"; type: "int" }
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "roleName"; type: "string" }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+    }
Bernhard M. Wiedemann f06ce7
+    Component {
Bernhard M. Wiedemann f06ce7
+        name: "OnlineAccounts::Credentials"
Bernhard M. Wiedemann f06ce7
+        prototype: "QObject"
Bernhard M. Wiedemann f06ce7
+        exports: ["Ubuntu.OnlineAccounts/Credentials 0.1"]
Bernhard M. Wiedemann f06ce7
+        exportMetaObjectRevisions: [0]
Bernhard M. Wiedemann f06ce7
+        Property { name: "credentialsId"; type: "uint" }
Bernhard M. Wiedemann f06ce7
+        Property { name: "caption"; type: "string" }
Bernhard M. Wiedemann f06ce7
+        Property { name: "userName"; type: "string" }
Bernhard M. Wiedemann f06ce7
+        Property { name: "secret"; type: "string" }
Bernhard M. Wiedemann f06ce7
+        Property { name: "storeSecret"; type: "bool" }
Bernhard M. Wiedemann f06ce7
+        Property { name: "acl"; type: "QStringList" }
Bernhard M. Wiedemann f06ce7
+        Property { name: "methods"; type: "QVariantMap" }
Bernhard M. Wiedemann f06ce7
+        Signal { name: "synced" }
Bernhard M. Wiedemann f06ce7
+        Signal { name: "removed" }
Bernhard M. Wiedemann f06ce7
+        Method { name: "sync" }
Bernhard M. Wiedemann f06ce7
+        Method { name: "remove" }
Bernhard M. Wiedemann f06ce7
+    }
Bernhard M. Wiedemann f06ce7
+    Component {
Bernhard M. Wiedemann f06ce7
+        name: "OnlineAccounts::Manager"
Bernhard M. Wiedemann f06ce7
+        prototype: "QObject"
Bernhard M. Wiedemann f06ce7
+        exports: ["Ubuntu.OnlineAccounts/Manager 0.1"]
Bernhard M. Wiedemann f06ce7
+        isCreatable: false
Bernhard M. Wiedemann f06ce7
+        isSingleton: true
Bernhard M. Wiedemann f06ce7
+        exportMetaObjectRevisions: [0]
Bernhard M. Wiedemann f06ce7
+        Method {
Bernhard M. Wiedemann f06ce7
+            name: "loadAccount"
Bernhard M. Wiedemann f06ce7
+            type: "QObject*"
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "accountId"; type: "uint" }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+        Method {
Bernhard M. Wiedemann f06ce7
+            name: "createAccount"
Bernhard M. Wiedemann f06ce7
+            type: "QObject*"
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "providerName"; type: "string" }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+    }
Bernhard M. Wiedemann f06ce7
+    Component {
Bernhard M. Wiedemann f06ce7
+        name: "OnlineAccounts::ProviderModel"
Bernhard M. Wiedemann f06ce7
+        prototype: "QAbstractListModel"
Bernhard M. Wiedemann f06ce7
+        exports: ["Ubuntu.OnlineAccounts/ProviderModel 0.1"]
Bernhard M. Wiedemann f06ce7
+        exportMetaObjectRevisions: [0]
Bernhard M. Wiedemann f06ce7
+        Property { name: "applicationId"; type: "string" }
Bernhard M. Wiedemann f06ce7
+        Property { name: "count"; type: "int"; isReadonly: true }
Bernhard M. Wiedemann f06ce7
+        Method {
Bernhard M. Wiedemann f06ce7
+            name: "get"
Bernhard M. Wiedemann f06ce7
+            type: "QVariant"
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "row"; type: "int" }
Bernhard M. Wiedemann f06ce7
+            Parameter { name: "roleName"; type: "string" }
Bernhard M. Wiedemann f06ce7
+        }
Bernhard M. Wiedemann f06ce7
+    }
Bernhard M. Wiedemann f06ce7
+}
Bernhard M. Wiedemann f06ce7
diff --git a/src/src.pro b/src/src.pro
Bernhard M. Wiedemann f06ce7
index 8b26639..abfc851 100644
Bernhard M. Wiedemann f06ce7
--- a/src/src.pro
Bernhard M. Wiedemann f06ce7
+++ b/src/src.pro
Bernhard M. Wiedemann f06ce7
@@ -61,22 +61,11 @@ PLUGIN_INSTALL_BASE = $$[QT_INSTALL_QML]/$$replace(API_URI, \\., /)
Bernhard M. Wiedemann f06ce7
 target.path = $${PLUGIN_INSTALL_BASE}
Bernhard M. Wiedemann f06ce7
 INSTALLS += target
Bernhard M. Wiedemann f06ce7
 
Bernhard M. Wiedemann f06ce7
-qmldir.files = $${DESTDIR}/qmldir
Bernhard M. Wiedemann f06ce7
+qmldir.files = $${DESTDIR}/qmldir plugin.qmltypes
Bernhard M. Wiedemann f06ce7
 qmldir.path = $${PLUGIN_INSTALL_BASE}
Bernhard M. Wiedemann f06ce7
 INSTALLS += qmldir
Bernhard M. Wiedemann f06ce7
 
Bernhard M. Wiedemann f06ce7
-generateQmlTypes.output = $${DESTDIR}/plugin.qmltypes
Bernhard M. Wiedemann f06ce7
-generateQmlTypes.input = QML_PLUGINS
Bernhard M. Wiedemann f06ce7
-generateQmlTypes.commands = export LD_PRELOAD=${QMAKE_FILE_IN}; $$[QT_INSTALL_BINS]/qmlplugindump -notrelocatable $${API_URI} 0.1 . > ${QMAKE_FILE_OUT}
Bernhard M. Wiedemann f06ce7
-generateQmlTypes.name = Generate ${QMAKE_FILE_OUT}
Bernhard M. Wiedemann f06ce7
-generateQmlTypes.CONFIG += no_link
Bernhard M. Wiedemann f06ce7
-generateQmlTypes.variable_out = QML_TYPES
Bernhard M. Wiedemann f06ce7
-QMAKE_EXTRA_COMPILERS += generateQmlTypes
Bernhard M. Wiedemann f06ce7
-
Bernhard M. Wiedemann f06ce7
 QML_PLUGINS += $${DESTDIR}/lib$${TARGET}.so
Bernhard M. Wiedemann f06ce7
-
Bernhard M. Wiedemann f06ce7
-qmltypes.path = $${PLUGIN_INSTALL_BASE}
Bernhard M. Wiedemann f06ce7
-qmltypes.files = $${DESTDIR}/plugin.qmltypes
Bernhard M. Wiedemann f06ce7
-qmltypes.depends = $${DESTDIR}/plugin.qmltypes
Bernhard M. Wiedemann f06ce7
-qmltypes.CONFIG += no_check_exist
Bernhard M. Wiedemann f06ce7
-INSTALLS += qmltypes
Bernhard M. Wiedemann f06ce7
+qmltypes.commands = export LD_PRELOAD=$${QML_PLUGINS}; $$[QT_INSTALL_BINS]/qmlplugindump -notrelocatable $${API_URI} 0.1 . > $$PWD/plugin.qmltypes
Bernhard M. Wiedemann f06ce7
+qmltypes.depends = $${QML_PLUGINS}
Bernhard M. Wiedemann f06ce7
+QMAKE_EXTRA_TARGETS += qmltypes
Bernhard M. Wiedemann f06ce7
-- 
Bernhard M. Wiedemann f06ce7
2.22.2
Bernhard M. Wiedemann f06ce7