8000 refacto: extract WSL check fron symfony-cli/console package · symfony-cli/symfony-cli@716eb38 · GitHub
[go: up one dir, main page]

Skip to content

Commit 716eb38

Browse files
committed
refacto: extract WSL check fron symfony-cli/console package
I believe this check should not be part of the symfony-cli/console package as it is not generic and display a warning about the Symfony CLI binary
1 parent 2918eac commit 716eb38

File tree

3 files changed

+69
-0
lines changed

3 files changed

+69
-0
lines changed

commands/root.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ func init() {
100100
}
101101

102102
func InitAppFunc(c *console.Context) error {
103+
checkWSL()
104+
103105
envs.ComputeDockerUserAgent(c.App.Name, c.App.Version)
104106

105107
psh, err := platformsh.Get()

commands/wsl_others.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//go:build !windows
2+
// +build !windows
3+
4+
/*
5+
* Copyright (c) 2021-present Fabien Potencier <fabien@symfony.com>
6+
*
7+
* This file is part of Symfony CLI project
8+
*
9+
* This program is free software: you can redistribute it and/or modify
10+
* it under the terms of the GNU Affero General Public License as
11+
* published by the Free Software Foundation, either version 3 of the
12+
* License, or (at your option) any later version.
13+
*
14+
* This program is distributed in the hope that it will be useful,
15+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17+
* GNU Affero General Public License for more details.
18+
*
19+
* You should have received a copy of the GNU Affero General Public License
20+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
21+
*/
22+
23+
package commands
24+
25+
func checkWSL() {
26+
}

commands/wsl_windows.go

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/*
2+
* Copyright (c) 2021-present Fabien Potencier <fabien@symfony.com>
3+
*
4+
* This file is part of Symfony CLI project
5+
*
6+
* This program is free software: you can redistribute it and/or modify
7+
* it under the terms of the GNU Affero General Public License as
8+
* published by the Free Software Foundation, either version 3 of the
9+
* License, or (at your option) any later version.
10+
*
11+
* This program is distributed in the hope that it will be useful,
12+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
* GNU Affero General Public License for more details.
15+
*
16+
* You should have received a copy of the GNU Affero General Public License
17+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18+
*/
19+
20+
package commands
21+
22+
import (
23+
"os"
24+
25+
"github.com/symfony-cli/terminal"
26+
)
27+
28+
func checkWSL() {
29+
if fi, err := os.Stat("/proc/version"); fi == nil || err != nil {
30+
return
31+
}
32+
33+
ui := terminal.SymfonyStyle(terminal.Stdout, terminal.Stdin)
34+
ui.Error("Wrong binary for WSL")
35+
terminal.Println(`You are trying to run the Windows version of the Symfony CLI on WSL (Linux).
36+
You must use the Linux version to use the Symfony CLI on WSL.
37+
38+
Download it at <href=https://symfony.com/download>https://symfony.com/download</>
39+
`)
40+
os.Exit(1)
41+
}

0 commit comments

Comments
 (0)
0