diff --git a/CQtDeployer/CQtDeployer.pro b/CQtDeployer/CQtDeployer.pro
index d6a4e0d4..6e5e15aa 100644
--- a/CQtDeployer/CQtDeployer.pro
+++ b/CQtDeployer/CQtDeployer.pro
@@ -41,3 +41,6 @@ SOURCES += \
win32: RC_ICONS = $$PWD/../res/icon.ico
+
+DISTFILES += \
+ Concept/concept.qmodel
diff --git a/CQtDeployer/Concept/Packages structure.png b/CQtDeployer/Concept/Packages structure.png
new file mode 100644
index 00000000..f387e48b
Binary files /dev/null and b/CQtDeployer/Concept/Packages structure.png differ
diff --git a/CQtDeployer/Concept/concept.qmodel b/CQtDeployer/Concept/concept.qmodel
new file mode 100644
index 00000000..1b4abaea
--- /dev/null
+++ b/CQtDeployer/Concept/concept.qmodel
@@ -0,0 +1,1209 @@
+
+
+
+ {936129d0-bdb3-424a-8cb1-5b7b292a626f}
+
+
+
+
+
+
+
+ {054ef648-067f-46a3-adcd-fe1c46f4adbf}
+
+
+ Concept
+
+
+
+
+ -
+
+ {792a67e7-74d9-4fcf-b0c1-2fcec97376bc}
+
+
+
+
+
+
+
+
+
+ {792a67e7-74d9-4fcf-b0c1-2fcec97376bc}
+
+
+ Concept
+
+
+
+
+
-
+
+
+
+
+ {a84bd0d6-4560-435d-b5fa-2352961b33fe}
+
+
+ External dependencies
+ x:845;y:-275
+ x:-90;y:-110;w:180;h:220
+
+
+
+ -
+
+
+
+
+
+
+ {563394a0-8fe5-477f-b87f-35445bec8601}
+
+
+
+ Debian packages
+ x:830;y:-300
+ x:-60;y:-35;w:120;h:70
+ 5
+
+
+
+
+
+ -
+
+
+
+
+
+
+ {8fae8893-f9da-490e-82bf-a551f0fff289}
+
+
+
+ Snap packages
+ x:830;y:-215
+ x:-60;y:-35;w:120;h:70
+ false
+ 8
+
+
+
+
+
+ -
+
+
+
+
+
+
+ {39cce46c-2040-46da-afe3-f547fee463ad}
+
+
+
+ Shared companent
+ x:330;y:-115
+ x:-305;y:-265;w:610;h:530
+ false
+ 0
+
+
+
+
+
+ -
+
+
+
+
+
+
+ {17497b2c-b04b-4c96-8fe7-3d982d44e9d8}
+
+
+
+ {39cce46c-2040-46da-afe3-f547fee463ad}
+ {563394a0-8fe5-477f-b87f-35445bec8601}
+
+
+
+
+
+ -
+
+
+
+
+
+
+ {d6724aa4-7d87-4bf2-9ef0-244ac4165f9e}
+
+
+
+ {39cce46c-2040-46da-afe3-f547fee463ad}
+ {8fae8893-f9da-490e-82bf-a551f0fff289}
+
+
+
+
+
+ -
+
+
+
+
+
+
+ {1b3dbb95-4633-49a4-9397-fb4d7f0bf1f5}
+
+
+
+ Package1
+ x:360;y:420
+ x:-50;y:-35;w:100;h:70
+ 0
+
+
+
+
+
+ -
+
+
+
+
+
+
+ {e10b12e3-03dc-417f-a3fa-c4f062fac676}
+
+
+
+ Pachage2
+ x:360;y:520
+ x:-50;y:-35;w:100;h:70
+ 0
+
+
+
+
+
+ -
+
+
+
+
+
+
+ {569ef2fa-de38-4237-978e-9046e6ede501}
+
+
+
+ Pacakge3
+ x:360;y:625
+ x:-50;y:-35;w:100;h:70
+ 0
+
+
+
+
+
+ -
+
+
+
+
+ {14a38297-1901-4412-8094-91d997a6d9cb}
+
+
+ Abstract packages with own files. Dependency map.
+
+Step 1: CQtDeployer create a one distributionKit for all targets
+Step 2: CQtDeployer splits files into packages
+Step 3: CQtDeployer create packages with dependencies.
+ x:265;y:470
+ x:-220;y:-210;w:440;h:420
+
+
+
+ -
+
+
+
+
+
+
+ {df5b3b79-f260-4166-9794-e66b406105ae}
+
+
+
+ {1b3dbb95-4633-49a4-9397-fb4d7f0bf1f5}
+ {39cce46c-2040-46da-afe3-f547fee463ad}
+
+
+
+
+
+ -
+
+
+
+
+
+
+ {c1bb56cc-c978-4681-8ccf-46e46f95723b}
+
+
+
+ {e10b12e3-03dc-417f-a3fa-c4f062fac676}
+ {39cce46c-2040-46da-afe3-f547fee463ad}
+
+
+
+
+
+ -
+
+
+
+
+
+
+ {43addc56-dc68-4006-98f8-fb2ffb805a19}
+
+
+
+ {569ef2fa-de38-4237-978e-9046e6ede501}
+ {39cce46c-2040-46da-afe3-f547fee463ad}
+
+
+
+
+
+ -
+
+
+
+
+ {5d199147-ae39-4a10-9b36-ca70134b0032}
+
+
+ This is main DistributionKit comapnent
+This is physical structure of the distribution Kit
+
+ x:60;y:-310
+ x:0;y:0;w:248.141;h:58
+
+
+
+ -
+
+
+
+
+
+
+ {dc4ee7eb-a345-4543-aa1a-897f7669511f}
+
+
+
+ BasePackage
+ x:125;y:505
+ x:-50;y:-35;w:100;h:70
+ 0
+
+
+
+
+
+ -
+
+
+
+
+
+
+ {97e0af69-510b-4a55-bc88-f696418c0c01}
+
+
+
+ {dc4ee7eb-a345-4543-aa1a-897f7669511f}
+ {1b3dbb95-4633-49a4-9397-fb4d7f0bf1f5}
+
+
+ 1
+
+
+
+ -
+
+
+
+
+
+
+ {8b3cbce3-cfb8-4e9b-87a1-cd0c3f2f6085}
+
+
+
+ {e10b12e3-03dc-417f-a3fa-c4f062fac676}
+ {dc4ee7eb-a345-4543-aa1a-897f7669511f}
+
+
+
+
+
+ -
+
+
+
+
+
+
+ {835928b6-9af6-4f85-aab4-b91689244f99}
+
+
+
+ {569ef2fa-de38-4237-978e-9046e6ede501}
+ {dc4ee7eb-a345-4543-aa1a-897f7669511f}
+
+
+
+
+
+ -
+
+
+
+
+
+
+ {4de2989d-c408-4a37-ae25-1c3cfb75624b}
+
+
+
+ {dc4ee7eb-a345-4543-aa1a-897f7669511f}
+ {39cce46c-2040-46da-afe3-f547fee463ad}
+
+
+
+
+
+ -
+
+
+
+
+
+
+ {8f277cf0-d65a-430e-b3dc-eac2ee9897bd}
+
+
+
+ bin
+contains executable files and its resurces
+ x:465;y:-210
+ x:-110;y:-25;w:220;h:50
+ 0
+
+
+ instance
+ false
+
+
+
+ -
+
+
+
+
+
+
+ {8e053784-9034-4325-a781-02bf2ae44942}
+
+
+
+ lib
+Contains all distribution libraryes
+ x:465;y:-130
+ x:-110;y:-25;w:220;h:50
+ false
+ 0
+
+
+ instance
+ false
+
+
+
+ -
+
+
+
+
+
+
+ {2dd01cba-8e29-4d63-add1-9a34b727130c}
+
+
+
+ translations
+This is qt translation
+ x:465;y:-45
+ x:-110;y:-25;w:220;h:50
+ false
+ 0
+
+
+ instance
+ false
+
+
+
+ -
+
+
+
+
+
+
+ {d2bbcfaa-f48d-4f37-a770-06724a6d06aa}
+
+
+
+ qml
+qml files
+ x:465;y:30
+ x:-110;y:-25;w:220;h:50
+ false
+ 0
+
+
+ instance
+ false
+
+
+
+ -
+
+
+
+
+
+
+ {74be4f20-5981-493d-8894-c185f46d17ad}
+
+
+
+ plugins
+Contains qml and qt, or another plugins
+ x:465;y:110
+ x:-110;y:-25;w:220;h:50
+ 0
+
+
+ instance
+ false
+
+
+
+ -
+
+
+
+
+
+
+ {ac82c8b9-cfea-4502-b4b4-17bc93e70870}
+
+
+
+ Root dirictory
+Windows: C:/Programm Files
+Linux: /opt/ or /home/user/
+
+This diretory cintains qt.conf file and another wraper files
+ x:195;y:-50
+ x:-155;y:-185;w:310;h:370
+ false
+ 0
+
+
+ instance
+ false
+
+
+
+ -
+
+
+
+
+ {950cdf43-0c86-4409-a946-89478c03c1a7}
+
+
+ Supported packages
+ x:600;y:435
+ x:-105;y:-130;w:210;h:260
+
+
+
+ -
+
+
+
+
+
+
+ {f11bb4a5-d5d3-4cb3-ad17-adb166d7e117}
+
+
+
+ Debian packages
+ x:580;y:395
+ x:-60;y:-35;w:120;h:70
+ 5
+
+
+
+
+
+ -
+
+
+
+
+
+
+ {fe9f3285-a1ca-498e-93d6-be1b1b39075c}
+
+
+
+ Qt installer framework
+ x:595;y:490
+ x:-75;y:-35;w:150;h:70
+ 6
+
+
+
+
+
+
+
+ 1613059570733
+ General
+
+
+
+
+
+
+
+ -
+
+ {3665eb24-0bfe-4fcf-b865-4cb423820dff}
+
+
+
+
+
+
+
+ {3665eb24-0bfe-4fcf-b865-4cb423820dff}
+
+
+ Debian packages
+
+
+
+
+
+
+
+ -
+
+ {29935464-16ce-4272-a4a6-1e322e6ccb7f}
+
+
+
+
+
+
+
+ {29935464-16ce-4272-a4a6-1e322e6ccb7f}
+
+
+ Snap packages
+
+
+
+
+
+
+
+ -
+
+ {0158b89e-abdb-4169-bd85-72b294893fcd}
+
+
+
+
+
+
+
+ {0158b89e-abdb-4169-bd85-72b294893fcd}
+
+
+ Shared companent
+
+
+
+
+
-
+
+ {000fe150-07fa-4441-8986-9f27569a8320}
+
+
+
+
+
+
+
+ {000fe150-07fa-4441-8986-9f27569a8320}
+
+
+ {0158b89e-abdb-4169-bd85-72b294893fcd}
+ {3665eb24-0bfe-4fcf-b865-4cb423820dff}
+
+
+
+
+
+
+
+ -
+
+ {24b1658c-8f31-4c6e-9d52-6b91b9911f8a}
+
+
+
+
+
+
+
+ {24b1658c-8f31-4c6e-9d52-6b91b9911f8a}
+
+
+ {0158b89e-abdb-4169-bd85-72b294893fcd}
+ {29935464-16ce-4272-a4a6-1e322e6ccb7f}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+ {21a13a3e-c8e8-4694-9502-6e22d904b32f}
+
+
+
+
+
+
+
+ {21a13a3e-c8e8-4694-9502-6e22d904b32f}
+
+
+ Package1
+
+
+
+
+
-
+
+ {8b8eaa29-5c00-485d-ac2b-29933a861533}
+
+
+
+
+
+
+
+ {8b8eaa29-5c00-485d-ac2b-29933a861533}
+
+
+ {21a13a3e-c8e8-4694-9502-6e22d904b32f}
+ {0158b89e-abdb-4169-bd85-72b294893fcd}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+ {c0d070d7-e338-4d7a-9fb3-8cd43ff31121}
+
+
+
+
+
+
+
+ {c0d070d7-e338-4d7a-9fb3-8cd43ff31121}
+
+
+ Pachage2
+
+
+
+
+
-
+
+ {37dfb744-1c42-477b-bece-f0d7b3e4904f}
+
+
+
+
+
+
+
+ {37dfb744-1c42-477b-bece-f0d7b3e4904f}
+
+
+ {c0d070d7-e338-4d7a-9fb3-8cd43ff31121}
+ {0158b89e-abdb-4169-bd85-72b294893fcd}
+
+
+
+
+
+
+
+ -
+
+ {3907d65f-1ba5-4582-a8ac-bbbf8574c639}
+
+
+
+
+
+
+
+ {3907d65f-1ba5-4582-a8ac-bbbf8574c639}
+
+
+ {c0d070d7-e338-4d7a-9fb3-8cd43ff31121}
+ {351260ee-53e7-4d89-8728-6006b3cef341}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+ {25d95acc-6f88-4f3a-8270-884ba603782c}
+
+
+
+
+
+
+
+ {25d95acc-6f88-4f3a-8270-884ba603782c}
+
+
+ Pacakge3
+
+
+
+
+
-
+
+ {5a12e0c5-e66c-41af-8ec0-112ef90f1deb}
+
+
+
+
+
+
+
+ {5a12e0c5-e66c-41af-8ec0-112ef90f1deb}
+
+
+ {25d95acc-6f88-4f3a-8270-884ba603782c}
+ {0158b89e-abdb-4169-bd85-72b294893fcd}
+
+
+
+
+
+
+
+ -
+
+ {604ad478-39ad-4d66-a7a6-36dad9b9515b}
+
+
+
+
+
+
+
+ {604ad478-39ad-4d66-a7a6-36dad9b9515b}
+
+
+ {25d95acc-6f88-4f3a-8270-884ba603782c}
+ {351260ee-53e7-4d89-8728-6006b3cef341}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+ {30dd86ec-5b14-4a72-b013-fe2147396d7c}
+
+
+
+
+
+
+
+ {30dd86ec-5b14-4a72-b013-fe2147396d7c}
+
+
+ Создать пакет
+
+
+
+
+
+
+
+ -
+
+ {351260ee-53e7-4d89-8728-6006b3cef341}
+
+
+
+
+
+
+
+ {351260ee-53e7-4d89-8728-6006b3cef341}
+
+
+ BasePackage
+
+
+
+
+
-
+
+ {32e9fb98-4684-47d1-a45f-00167d11aa41}
+
+
+
+
+
+
+
+ {32e9fb98-4684-47d1-a45f-00167d11aa41}
+
+
+ {351260ee-53e7-4d89-8728-6006b3cef341}
+ {21a13a3e-c8e8-4694-9502-6e22d904b32f}
+
+
+ 1
+
+
+
+
+
+ -
+
+ {9d85d331-7608-43bd-bdd5-fea5bc1e7959}
+
+
+
+
+
+
+
+ {9d85d331-7608-43bd-bdd5-fea5bc1e7959}
+
+
+ {351260ee-53e7-4d89-8728-6006b3cef341}
+ {0158b89e-abdb-4169-bd85-72b294893fcd}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+ {e103db70-6ae3-4360-929e-20112e4ff119}
+
+
+
+
+
+
+
+ {e103db70-6ae3-4360-929e-20112e4ff119}
+
+
+ bin
+contains executable files and its resurces
+
+
+ false
+ instance
+
+
+
+
+
+ -
+
+ {285f54cf-74c7-4ab0-ae45-913cf17c3143}
+
+
+
+
+
+
+
+ {285f54cf-74c7-4ab0-ae45-913cf17c3143}
+
+
+ lib
+Contains all distribution libraryes
+
+
+ false
+ instance
+
+
+
+
+
+ -
+
+ {6e4505fc-44ee-4a2f-b71b-e8939be696a5}
+
+
+
+
+
+
+
+ {6e4505fc-44ee-4a2f-b71b-e8939be696a5}
+
+
+ translations
+This is qt translation
+
+
+ false
+ instance
+
+
+
+
+
+ -
+
+ {7deb0c60-8d69-4410-befc-a865d2bdc9a9}
+
+
+
+
+
+
+
+ {7deb0c60-8d69-4410-befc-a865d2bdc9a9}
+
+
+ qml
+qml files
+
+
+ false
+ instance
+
+
+
+
+
+ -
+
+ {d7698128-72ea-44be-9f88-596269ea4047}
+
+
+
+
+
+
+
+ {d7698128-72ea-44be-9f88-596269ea4047}
+
+
+ plugins
+Contains qml and qt, or another plugins
+
+
+ false
+ instance
+
+
+
+
+
+ -
+
+ {b4aea9cd-c17c-425d-b7f6-e15ad54a3b9c}
+
+
+
+
+
+
+
+ {b4aea9cd-c17c-425d-b7f6-e15ad54a3b9c}
+
+
+ Root dirictory
+Windows: C:/Programm Files
+Linux: /opt/ or /home/user/
+
+This diretory cintains qt.conf file and another wraper files
+
+
+ false
+ instance
+
+
+
+
+
+ -
+
+ {ef2a16aa-b199-4e50-8906-9d6abbc3799d}
+
+
+
+
+
+
+
+ {ef2a16aa-b199-4e50-8906-9d6abbc3799d}
+
+
+ Debian packages
+
+
+
+
+
+
+
+ -
+
+ {bac8d238-63fe-4c48-9f71-c317face6d14}
+
+
+
+
+
+
+
+ {bac8d238-63fe-4c48-9f71-c317face6d14}
+
+
+ Qt installer framework
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Deploy/dependencymap.cpp b/Deploy/dependencymap.cpp
index 1561fdce..691da67c 100644
--- a/Deploy/dependencymap.cpp
+++ b/Deploy/dependencymap.cpp
@@ -18,6 +18,8 @@ DependencyMap &DependencyMap::operator +=(const DependencyMap &other) {
this->_neadedLibs = this->_neadedLibs + other._neadedLibs;
this->_systemLibs = this->_systemLibs + other._systemLibs;
this->_extraData = this->_extraData + other._extraData;
+ this->_plugins = this->_plugins + other._plugins;
+ this->_qml = this->_qml + other._qml;
return *this;
}
@@ -27,6 +29,8 @@ DependencyMap &DependencyMap::operator -=(const DependencyMap &other) {
this->_neadedLibs = this->_neadedLibs - other._neadedLibs;
this->_systemLibs = this->_systemLibs - other._systemLibs;
this->_extraData = this->_extraData - other._extraData;
+ this->_plugins = this->_plugins - other._plugins;
+ this->_qml = this->_qml - other._qml;
return *this;
}
@@ -61,6 +65,15 @@ void DependencyMap::addExtraData(const QString &data) {
_extraData += data;
}
+void DependencyMap::addQml(const QString &data) {
+ _qml += data;
+
+}
+
+void DependencyMap::addPlugin(const QString &data) {
+ _plugins += data;
+}
+
void DependencyMap::removeModule(DeployCore::QtModule module) {
_qtModules = _qtModules & (~module);
}
@@ -77,6 +90,14 @@ void DependencyMap::removeExtraData(const QString &data) {
_extraData -= data;
}
+void DependencyMap::removeQml(const QString &data) {
+ _qml -= data;
+}
+
+void DependencyMap::removePlugin(const QString &data) {
+ _plugins -= data;
+}
+
bool DependencyMap::containsSysLib(const QString &lib) const {
return _systemLibs.contains(lib);
}
@@ -97,6 +118,14 @@ const QSet DependencyMap::targets() const {
return _targets;
}
+const QSet DependencyMap::plugins() const {
+ return _plugins;
+}
+
+const QSet DependencyMap::qml() const {
+ return _qml;
+}
+
const QSet DependencyMap::extraData() const {
return _extraData;
diff --git a/Deploy/dependencymap.h b/Deploy/dependencymap.h
index ecbfcb52..159d4ad8 100644
--- a/Deploy/dependencymap.h
+++ b/Deploy/dependencymap.h
@@ -14,7 +14,8 @@
/**
* @brief The DependenciesMap class
- * this class contains all dependencies information about target
+ * this class contains all dependencies information about target.
+ * The DependenciesMap class have a Set structure and support set operators.
*/
class DEPLOYSHARED_EXPORT DependencyMap
{
@@ -29,27 +30,39 @@ class DEPLOYSHARED_EXPORT DependencyMap
const QSet& systemLibs() const;
const QSet extraData() const;
const QSet targets() const;
+ const QSet plugins() const;
+ const QSet qml() const;
void addModule(DeployCore::QtModule module);
void addSystemLib(const QString& lib);
void addNeadedLib(const QString& lib);
void addExtraData(const QString& data);
+ void addQml(const QString& data);
+ void addPlugin(const QString& data);
void removeModule(DeployCore::QtModule module);
void removeSystemLib(const QString& lib);
void removeNeadedLib(const QString& lib);
void removeExtraData(const QString& data);
+ void removeQml(const QString& data);
+ void removePlugin(const QString& data);
bool containsSysLib(const QString& lib) const;
bool containsModule(DeployCore::QtModule module) const;
bool containsNeadedLib(const QString& lib) const;
bool containsExtraData(const QString& data) const;
+ void containsQml(const QString& data);
+ void containsPlugin(const QString& data);
private:
DeployCore::QtModule _qtModules = DeployCore::NONE;
QSet _neadedLibs;
QSet _systemLibs;
+
+ QSet _plugins;
+ QSet _qml;
+
QSet _targets;
QSet _extraData;