Skip to content

Commit 9702d93

Browse files
Marc McKenzieMarc McKenzie
authored andcommitted
Fixes to broken update package command
1 parent f421259 commit 9702d93

File tree

5 files changed

+26
-7
lines changed

5 files changed

+26
-7
lines changed

src/Commands/EnableService.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ public function handle(Composer $composer, PhpunitXML $phpUnitXML){
3636
throw new \Exception('Service is already enabled');
3737
$this->info('Enabling '.$service.'...');
3838
$composer->enableService($service);
39-
$phpUnitXML->enableService($service);
39+
$url = $composer->getUrl($service);
40+
$phpUnitXML->enableService($service, $url);
4041
$this->info($service.' is now enabled and ready to be used');
4142
}
4243
catch(\Exception $e)

src/Commands/ListService.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public function handle(Composer $composer){
3030
{
3131
$services = $composer->listServices();
3232
if(empty($services)) {
33-
$this->error('You have no services created. Run php artisan service:make');
33+
$this->error('You have no services created. Run php artisan laravel-service:make');
3434
}
3535
else {
3636
foreach($services as $key => $value) {

src/Commands/UpdatePackage.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
use Illuminate\Console\Command;
44
use Jake142\Service\Composer;
5+
use Jake142\Service\PhpunitXML;
56

67
class UpdatePackage extends Command
78
{
@@ -25,14 +26,14 @@ class UpdatePackage extends Command
2526
* @see fire()
2627
* @return void
2728
*/
28-
public function handle(Composer $composer){
29+
public function handle(Composer $composer, PhpunitXML $phpUnitXML){
2930
try
3031
{
3132
//Create optional stuff
3233
$createController = $this->choice('The upgrade to version ^0.2.2 will disable all services. Should we proceed?', ['Yes','No'], 0);
3334

3435
if($createController=='Yes') {
35-
$this->version022($composer);
36+
$this->version022($composer, $phpUnitXML);
3637
} else {
3738
$this->info('Ok, no upgrade done');
3839
}
@@ -44,7 +45,7 @@ public function handle(Composer $composer){
4445
}
4546

4647
}
47-
private function version022(Composer $composer) {
48+
private function version022(Composer $composer, PhpunitXML $phpUnitXML) {
4849
try {
4950

5051
$this->info('Begins upgrade to version ^0.2.2');
@@ -64,6 +65,8 @@ private function version022(Composer $composer) {
6465
if(isset($composerFile['require'][$repository['url']])) {
6566
$this->info('Disabling '.$repository['url']. '. You need to enable it using '.$serviceName);
6667
$composer->disableService($repository['url']);
68+
$phpUnitXML->disableService(str_replace('Services/','',$repository['url']));
69+
unset($composerFile['require'][$repository['url']]);
6770
}
6871

6972
$serviceComposerFile = json_decode(file_get_contents(base_path($repository['url'].'/composer.json')), true);

src/Composer.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,21 @@ public function serviceEnabled($service)
100100

101101
return false;
102102
}
103+
/**
104+
* Get URL of a service
105+
*
106+
* @return string
107+
*/
108+
public function getUrl($service)
109+
{
110+
$composerData = $this->readComposer();
111+
foreach($composerData['repositories'] as $key => $repository)
112+
{
113+
if(isset($repository['name']) && isset($repository['url']) && $repository['name'] == $service)
114+
return $repository['url'];
115+
}
116+
return null;
117+
}
103118
/**
104119
* Write composer file
105120
*

src/PhpunitXML.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public function writePhpunitXml($domPhpunitXML)
2828
* Add a service
2929
*
3030
*/
31-
public function enableService($service)
31+
public function enableService($service, $url)
3232
{
3333

3434
$domPhpunitXML = $this->readPhpunitXml();
@@ -39,7 +39,7 @@ public function enableService($service)
3939
$testsuiteNode->setAttribute ( 'name' , $service );
4040
$directoryNode = $domPhpunitXML->createElement ('directory');
4141
$directoryNode->setAttribute ( 'suffix' , 'Test.php');
42-
$directoryNodeData = $domPhpunitXML->createTextNode('./Services/'.$service.'/tests');
42+
$directoryNodeData = $domPhpunitXML->createTextNode('./'.$url.'/tests');
4343
$directoryNode->appendChild($directoryNodeData);
4444
$testsuiteNode->appendChild($directoryNode);
4545
$testsuitesNode->appendChild($testsuiteNode);

0 commit comments

Comments
 (0)