This repository was archived by the owner on Feb 13, 2025. It is now read-only.
forked from EasyCorp/easy-deploy-bundle
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathTask.php
More file actions
67 lines (55 loc) · 1.42 KB
/
Copy pathTask.php
File metadata and controls
67 lines (55 loc) · 1.42 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
/*
* This file is part of the EasyDeploy project.
*
* (c) Javier Eguiluz <javier.eguiluz@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace EasyCorp\Bundle\EasyDeployBundle\Task;
use EasyCorp\Bundle\EasyDeployBundle\Server\Server;
class Task
{
/** @var Server[] */
private $servers;
private $shellCommand;
private $envVars;
public function __construct(array $servers, string $shellCommand, array $envVars = [])
{
if (empty($servers)) {
throw new \InvalidArgumentException('The "servers" argument of a Task cannot be an empty array. Add at least one server.');
}
$this->servers = $servers;
$this->shellCommand = $shellCommand;
$this->envVars = $envVars;
}
/**
* @return Server[]
*/
public function getServers(): array
{
return $this->servers;
}
public function isLocal(): bool
{
foreach ($this->servers as $server) {
if (!$server->isLocalHost()) {
return false;
}
}
return true;
}
public function isRemote(): bool
{
return !$this->isLocal();
}
public function getShellCommand(): string
{
return $this->shellCommand;
}
public function getEnvVars(): array
{
return $this->envVars;
}
}