RX0111

Domínio: Análise sintática

Mensagem de erro

não é um arquivo RushScript: %s (%s)

Na mensagem, %s marca um valor que o motor preenche quando levanta o erro.

A história

Este arquivo não se identificou como RushScript, e o motor recusou antes de ler qualquer instrução. Vamos entender. O que identifica um arquivo RushScript é a primeira linha, o shebang, e ele é obrigatório. O motor confere pelo nome do programa, não pelo caminho. Por isso são aceitas três grafias: barra bin barra rush, usr barra bin barra env rush, e usr barra local barra bin barra rush. O parser extrai o nome final. Um arquivo é recusado quando a linha um não nomeia nenhum programa rush: não tem shebang, tem o de outro programa, como o do sh, ou usa uma forma antiga e malformada, como hashbang declare. A mensagem traz o arquivo e a linha um. A regra também decide o que o projeto carrega: um arquivo dentro de src sem o shebang nem conta como código-fonte. A correção: escreva na primeira linha do arquivo hashbang barra bin barra rush. Se você usava a forma antiga com declare ou call, troque por essa linha e use a diretiva domain na linha dois.

Texto do catálogo de erros do motor do Rush.