5
5
*/
6
6
namespace Magento \Deploy \Collector ;
7
7
8
- use Magento \Deploy \Source \SourcePool ;
9
8
use Magento \Deploy \Package \Package ;
10
9
use Magento \Deploy \Package \PackageFactory ;
10
+ use Magento \Deploy \Source \SourcePool ;
11
+ use Magento \Deploy \Package \PackageFile ;
12
+ use Magento \Framework \Module \Manager ;
11
13
use Magento \Framework \View \Asset \PreProcessor \FileNameResolver ;
12
14
13
15
/**
@@ -44,6 +46,9 @@ class Collector implements CollectorInterface
44
46
*/
45
47
private $ packageFactory ;
46
48
49
+ /** @var \Magento\Framework\Module\Manager */
50
+ private $ moduleManager ;
51
+
47
52
/**
48
53
* Default values for package primary identifiers
49
54
*
@@ -61,15 +66,19 @@ class Collector implements CollectorInterface
61
66
* @param SourcePool $sourcePool
62
67
* @param FileNameResolver $fileNameResolver
63
68
* @param PackageFactory $packageFactory
69
+ * @param Manager $moduleManager
64
70
*/
65
71
public function __construct (
66
72
SourcePool $ sourcePool ,
67
73
FileNameResolver $ fileNameResolver ,
68
- PackageFactory $ packageFactory
74
+ PackageFactory $ packageFactory ,
75
+ Manager $ moduleManager = null
69
76
) {
70
77
$ this ->sourcePool = $ sourcePool ;
71
78
$ this ->fileNameResolver = $ fileNameResolver ;
72
79
$ this ->packageFactory = $ packageFactory ;
80
+ $ this ->moduleManager = $ moduleManager ?: \Magento \Framework \App \ObjectManager::getInstance ()
81
+ ->get (Manager::class);
73
82
}
74
83
75
84
/**
@@ -81,19 +90,11 @@ public function collect()
81
90
foreach ($ this ->sourcePool ->getAll () as $ source ) {
82
91
$ files = $ source ->get ();
83
92
foreach ($ files as $ file ) {
84
- $ file ->setDeployedFileName ($ this ->fileNameResolver ->resolve ($ file ->getFileName ()));
85
- $ params = [
86
- 'area ' => $ file ->getArea (),
87
- 'theme ' => $ file ->getTheme (),
88
- 'locale ' => $ file ->getLocale (),
89
- 'module ' => $ file ->getModule (),
90
- 'isVirtual ' => (!$ file ->getLocale () || !$ file ->getTheme () || !$ file ->getArea ())
91
- ];
92
- foreach ($ this ->packageDefaultValues as $ name => $ value ) {
93
- if (!isset ($ params [$ name ])) {
94
- $ params [$ name ] = $ value ;
95
- }
93
+ if ($ file ->getModule () && !$ this ->moduleManager ->isEnabled ($ file ->getModule ())) {
94
+ continue ;
96
95
}
96
+ $ file ->setDeployedFileName ($ this ->fileNameResolver ->resolve ($ file ->getFileName ()));
97
+ $ params = $ this ->getParams ($ file );
97
98
$ packagePath = "{$ params ['area ' ]}/ {$ params ['theme ' ]}/ {$ params ['locale ' ]}" ;
98
99
if (!isset ($ packages [$ packagePath ])) {
99
100
$ packages [$ packagePath ] = $ this ->packageFactory ->create ($ params );
@@ -105,4 +106,28 @@ public function collect()
105
106
}
106
107
return $ packages ;
107
108
}
109
+
110
+ /**
111
+ * Retrieve package params.
112
+ *
113
+ * @param PackageFile $file
114
+ * @return array
115
+ */
116
+ private function getParams (PackageFile $ file )
117
+ {
118
+ $ params = [
119
+ 'area ' => $ file ->getArea (),
120
+ 'theme ' => $ file ->getTheme (),
121
+ 'locale ' => $ file ->getLocale (),
122
+ 'module ' => $ file ->getModule (),
123
+ 'isVirtual ' => (!$ file ->getLocale () || !$ file ->getTheme () || !$ file ->getArea ())
124
+ ];
125
+ foreach ($ this ->packageDefaultValues as $ name => $ value ) {
126
+ if (!isset ($ params [$ name ])) {
127
+ $ params [$ name ] = $ value ;
128
+ }
129
+ }
130
+
131
+ return $ params ;
132
+ }
108
133
}
0 commit comments