99designs / 99designs/gqlgen

Fails when built with -trimpath

Aberta
#910 7 comentários 0 reações 0 responsáveis Ver no GitHub
accepted bug
Linguagem predominante
Go
Estrelas
10.8k
Forks
1.3k
Merge médio
2d 36min
PRs com merge (30d)
26

Descrição

### What happened?

```
$ GOFLAGS='-trimpath' go build github.com/99designs/gqlgen && ./gqlgen
modelgen: locating templates: lstat github.com/99designs/gqlgen@v0.10.1/plugin/modelgen: no such file or directory
[EXIT:3] $
```

### What did you expect?

Success, like without `-trimpath`:

```
$ GOFLAGS=' ' go build github.com/99designs/gqlgen && ./gqlgen
$
```

### Minimal graphql.schema and models to reproduce

Just about anything, really.

### versions
- `gqlgen version`?
- `go version`?
- dep or go modules?

```
$ go list -m github.com/99designs/gqlgen
github.com/99designs/gqlgen v0.10.1
$ go version
go version go1.13.3 linux/amd64
```

And obviously modules.

It seems gqlgen is using build-time paths to try to locate its template files, and trimpath confuses that. Perhaps the templates should be bundled into the executable.

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

O problema é que o gqlgen usa caminhos de build para localizar arquivos de template, e a flag -trimpath remove esses caminhos. Analise o pacote plugin/modelgen e como ele carrega os templates. Verifique se há algum uso de runtime.Caller ou algo semelhante para obter os caminhos dos arquivos. A correção provavelmente envolve incorporar os templates ou usar outro método para localizá-los. Teste compilando com GOFLAGS='-trimpath' e executando o gqlgen para ver o erro.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
go
Domínio
build-system
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Claramente especificada
Facilidade para iniciantes
55/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.