boss
boss copied to clipboard
Em Linux o programa não pode somente olhar para a variavel PATH qd corre um script
Boas,
Nos meus testes pra Lazarus em Linux (sinto que devo fazer esta distinção), eis o meu boss.json:
{
"name": "TestBoss",
"description": "",
"version": "0.1.0",
"homepage": "",
"mainsrc": "./src",
"projects": [
"testboss.lpr"
],
"dependencies": {
"github.com/gcarreno/nosodata": "^v0.1.0"
},
"scripts": {
"build": "lazbuild -B --bm=Release src/testboss.lpi",
"run": "bin/testboss"
}
}
Qd executo isto:
$ boss run build
[WARN ] getDelphiVersionFromRegistry not implemented on this platform
[WARN ] Please restart your console after complete.
[ERROR] Error starting Cmd
%!(EXTRA *exec.Error=exec: "lazbuild": executable file not found in $PATH)
Nota: O programa está num ambiente não Windows, logo Error starting Cmd não faz sentido pq em Linux temos shells
Em Linux existe o conceito de alias:
$ alias
alias fpc='/home/gcarreno/FreePascal-Stable/fpc/bin/x86_64-linux/fpc.sh'
alias lazarus='/home/gcarreno/FreePascal-Stable/lazarus/lazarus --pcp="/home/gcarreno/FreePascal-Stable/config_lazarus"'
alias lazbuild='/home/gcarreno/FreePascal-Stable/lazarus/lazbuild --pcp="/home/gcarreno/FreePascal-Stable/config_lazarus"'
Eu prefiro usar a funcionalidade do alias em vez de ter uma entrada no $PATH que aponta para um symlink para o verdadeiro binário.
Acho que o go consegue lidar com isto qd se encontra em Linux. Só é preciso que de alguma forma não se limite a coisas existentes no $PATH.
Não vou ser casmurro, mas acho que os outros gerentes de pacotes não têm este problema.
Grande abraço, Gus