PublishCommand.php
1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
namespace Laravel\Sail\Console;
use Illuminate\Console\Command;
class PublishCommand extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'sail:publish';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Publish the Laravel Sail Docker files';
/**
* Execute the console command.
*
* @return void
*/
public function handle()
{
$this->call('vendor:publish', ['--tag' => 'sail-docker']);
file_put_contents(
$this->laravel->basePath('docker-compose.yml'),
str_replace(
[
'./vendor/laravel/sail/runtimes/8.2',
'./vendor/laravel/sail/runtimes/8.1',
'./vendor/laravel/sail/runtimes/8.0',
'./vendor/laravel/sail/runtimes/7.4',
],
[
'./docker/8.2',
'./docker/8.1',
'./docker/8.0',
'./docker/7.4',
],
file_get_contents($this->laravel->basePath('docker-compose.yml'))
)
);
}
}