@@ -116,11 +116,14 @@ protected function setProperty(string $property, string $value, Project $project
116116 $ isMap = str_contains ($ property , '. ' );
117117 if ($ isMap ) {
118118 [$ mapName , $ mapKey ] = explode ('. ' , $ property , 2 );
119- }
120- if ($ isMap ) {
121119 $ type = $ this ->getType ($ mapName . '.* ' );
120+ $ currentMap = $ project ->getProperty ($ mapName ) ?? [];
121+ $ currentValue = $ currentMap [$ mapKey ] ?? null ;
122+ $ update = [$ mapName => [$ mapKey => $ value ]];
122123 } else {
123124 $ type = $ this ->getType ($ property );
125+ $ currentValue = $ project ->getProperty ($ property );
126+ $ update = [$ property => $ value ];
124127 }
125128
126129 if (!$ type ) {
@@ -132,12 +135,6 @@ protected function setProperty(string $property, string $value, Project $project
132135 }
133136 settype ($ value , $ type );
134137
135- if ($ isMap ) {
136- $ currentMap = $ project ->getProperty ($ mapName ) ?? [];
137- $ currentValue = $ currentMap [$ mapKey ] ?? null ;
138- } else {
139- $ currentValue = $ project ->getProperty ($ property );
140- }
141138 if ($ currentValue === $ value ) {
142139 $ this ->stdErr ->writeln (
143140 "Property <info> $ property</info> already set as: " . $ this ->propertyFormatter ->format ($ value , $ property ),
@@ -147,10 +144,6 @@ protected function setProperty(string $property, string $value, Project $project
147144
148145 }
149146
150- $ update = [$ property => $ value ];
151- if ($ isMap ) {
152- $ update = [$ mapName => [$ mapKey => $ value ]];
153- }
154147 $ project ->ensureFull ();
155148 $ result = $ project ->update ($ update );
156149 $ this ->stdErr ->writeln (sprintf (
0 commit comments