
Formally define these types and document their meaning. We will auto-generate the dlv-dap documentation from these Go type doc. mapToStruct is a helper that sets the given struct's fields with the info in map[string]interface{} (launch/attach's Arguments). We achieve this by reencoding map[string]interface{} to json and decoding back to the target struct. If go-dap left the implementation-specific arguments as json.RawMessage and let the implementation decode as needed, this reencoding could've been avoided. encoding/json itself does not have mean to enforce required fields. There was a test case that checks substitutePath elements must set both from/to fields. Path.UnmarshalJSON implements the check. I am not yet sure about the need for distinction between missing 'from/to' and empty strings yet. (empty value is useful when dealing with a binary built with trimpath, right?) A minor behavior change - previously, if noDebug is not a boolean type, we ignored the attribute silently. Since we use json decoding, any mismatched types will cause an error and this non-boolean type noDebug attribute will result in launch failure.
18 lines
345 B
YAML
18 lines
345 B
YAML
# For Travis to run this for pending PRs and pushes to the master branch, make
|
|
# sure to add a Webhook in the Github repository Settings to send all events to
|
|
# https://notify.travis-ci.org
|
|
language: go
|
|
|
|
go:
|
|
- 1.14.x
|
|
- 1.15.x
|
|
- 1.16.x
|
|
|
|
env:
|
|
global:
|
|
- GOPROXY=https://proxy.golang.org
|
|
- GO111MODULE=on
|
|
|
|
script:
|
|
- 'internal/test.sh'
|