5
5
*/
6
6
namespace Magento \Setup \Console \Command ;
7
7
8
- use Magento \Framework \App \Filesystem \DirectoryList ;
9
- use Magento \Backend \Console \Command \AbstractCacheManageCommand ;
10
- use Magento \Framework \ObjectManagerInterface ;
11
8
use Magento \Framework \Setup \ConsoleLogger ;
12
9
use Magento \Setup \Model \InstallerFactory ;
13
10
use Magento \Setup \Model \ObjectManagerProvider ;
14
11
use Symfony \Component \Console \Input \ArrayInput ;
15
12
use Symfony \Component \Console \Input \InputInterface ;
16
13
use Symfony \Component \Console \Input \InputOption ;
17
14
use Symfony \Component \Console \Output \OutputInterface ;
15
+ use Magento \Framework \Code \GeneratedFiles ;
18
16
19
17
/**
20
18
* Command for updating installed application after the code base has changed
@@ -34,11 +32,14 @@ class UpgradeCommand extends AbstractSetupCommand
34
32
private $ installerFactory ;
35
33
36
34
/**
37
- * Object Manager
38
- *
39
- * @var ObjectManagerProvider
35
+ * @var \Magento\Framework\ObjectManagerInterface
40
36
*/
41
- private $ objectManagerProvider ;
37
+ private $ objectManager ;
38
+
39
+ /**
40
+ * @var GeneratedFiles
41
+ */
42
+ private $ generatedFiles ;
42
43
43
44
/**
44
45
* Constructor
@@ -49,7 +50,8 @@ class UpgradeCommand extends AbstractSetupCommand
49
50
public function __construct (InstallerFactory $ installerFactory , ObjectManagerProvider $ objectManagerProvider )
50
51
{
51
52
$ this ->installerFactory = $ installerFactory ;
52
- $ this ->objectManagerProvider = $ objectManagerProvider ;
53
+ /** @var \Magento\Framework\ObjectManagerInterface objectManager */
54
+ $ this ->objectManager = $ objectManagerProvider ->get ();
53
55
parent ::__construct ();
54
56
}
55
57
@@ -79,15 +81,14 @@ protected function configure()
79
81
*/
80
82
protected function execute (InputInterface $ input , OutputInterface $ output )
81
83
{
82
- /** @var \Magento\Framework\ObjectManagerInterface $objectManager */
83
- $ objectManager = $ this ->objectManagerProvider ->get ();
84
+ $ this ->getGeneratedFiles ()->requestRegeneration ();
84
85
$ areaCode = 'setup ' ;
85
86
/** @var \Magento\Framework\App\State $appState */
86
- $ appState = $ objectManager ->get ('Magento\Framework\App\State ' );
87
+ $ appState = $ this -> objectManager ->get ('Magento\Framework\App\State ' );
87
88
$ appState ->setAreaCode ($ areaCode );
88
89
/** @var \Magento\Framework\ObjectManager\ConfigLoaderInterface $configLoader */
89
- $ configLoader = $ objectManager ->get ('Magento\Framework\ObjectManager\ConfigLoaderInterface ' );
90
- $ objectManager ->configure ($ configLoader ->load ($ areaCode ));
90
+ $ configLoader = $ this -> objectManager ->get ('Magento\Framework\ObjectManager\ConfigLoaderInterface ' );
91
+ $ this -> objectManager ->configure ($ configLoader ->load ($ areaCode ));
91
92
92
93
$ keepGenerated = $ input ->getOption (self ::INPUT_KEY_KEEP_GENERATED );
93
94
$ installer = $ this ->installerFactory ->create (new ConsoleLogger ($ output ));
@@ -98,41 +99,20 @@ protected function execute(InputInterface $input, OutputInterface $output)
98
99
$ output ->writeln ('<info>Please re-run Magento compile command</info> ' );
99
100
}
100
101
101
- return $ this -> enableCaches ( $ objectManager , $ output ) ;
102
+ return \ Magento \ Framework \ Console \Cli:: RETURN_SUCCESS ;
102
103
}
103
104
104
105
/**
105
- * Enables cache if cachestates exists
106
- * TODO: to be removed in scope of MAGETWO-53476
106
+ * Get deployment config
107
107
*
108
- * @param \Magento\Framework\ObjectManagerInterface $objectManager
109
- * @param \Symfony\Component\Console\Output\OutputInterface $output
110
- * @return int
108
+ * @return GeneratedFiles
109
+ * @deprecated
111
110
*/
112
- private function enableCaches ( $ objectManager , $ output )
111
+ private function getGeneratedFiles ( )
113
112
{
114
- $ writeFactory = $ objectManager ->get ('Magento\Framework\Filesystem\Directory\WriteFactory ' );
115
- /** @var \Magento\Framework\Filesystem\Directory\Write $write */
116
- $ write = $ writeFactory ->create (BP );
117
- /** @var \Magento\Framework\App\Filesystem\DirectoryList $dirList */
118
- $ dirList = $ objectManager ->get ('Magento\Framework\App\Filesystem\DirectoryList ' );
119
-
120
- $ pathToCacheStatus = $ write ->getRelativePath ($ dirList ->getPath (DirectoryList::VAR_DIR ) . '/.cachestates.json ' );
121
-
122
- if ($ write ->isExist ($ pathToCacheStatus )) {
123
- $ params = array_keys (json_decode ($ write ->readFile ($ pathToCacheStatus ), true ));
124
- $ command = $ this ->getApplication ()->find ('cache:enable ' );
125
-
126
- $ arguments = ['command ' => 'cache:enable ' , AbstractCacheManageCommand::INPUT_KEY_TYPES => $ params ];
127
- $ returnCode = $ command ->run (new ArrayInput ($ arguments ), $ output );
128
-
129
- $ write ->delete ($ pathToCacheStatus );
130
- if (isset ($ returnCode ) && $ returnCode > 0 ) {
131
- $ message = '<error> Error occured during upgrade. Error code: ' . $ returnCode . '</error> ' ;
132
- $ output ->writeln ($ message );
133
- return \Magento \Framework \Console \Cli::RETURN_FAILURE ;
134
- }
113
+ if (!($ this ->generatedFiles instanceof GeneratedFiles)) {
114
+ return $ this ->objectManager ->get (GeneratedFiles::class);
135
115
}
136
- return \ Magento \ Framework \ Console \Cli:: RETURN_SUCCESS ;
116
+ return $ this -> generatedFiles ;
137
117
}
138
118
}
0 commit comments