mirror of
https://github.com/google/go-jsonnet.git
synced 2025-09-30 01:41:04 +02:00
This commit refactors travisBuild.sh to support building pushed branched on top of PRs and tags. This was prompted by enabling travis on a forked repository. The devlopment flow then becomes: - Fork google/go-jsonnet - Enable travis on fork repository - Push branch to forked repository - Travis runs on the pushed branch - Submit pull request once happy and tests pass in the forked repository I tested 3 scenarii and they seem behave nicely: - Running CI for pushed branch - Running CI for tag - Running CI for a Pull Request As a side note, the previous error path didn't work as intented: - The TRAVIS_PULL variable didn't exist - We weren't exiting with a non 0 value in the else branch, so the build succeeded instead of failing when travisBuild.sh didn't know what to do with the pushed branch
go-jsonnet
This an implementation of Jsonnet in pure Go. It is feature complete but is not as heavily exercised as the Jsonnet C++ implementation. Please try it out and give feedback.
This code is known to work on Go 1.8 and above. We recommend always using the newest stable release of Go.
Build instructions
export GOPATH=$HOME/go-workspace
mkdir -pv $GOPATH
go get github.com/google/go-jsonnet
cd $GOPATH/src/github.com/google/go-jsonnet
cd jsonnet
go build
./jsonnet /dev/stdin <<< '{x: 1, y: self.x} + {x: 10}'
{
"x": 10,
"y": 10
}
Running tests
./tests.sh # Also runs `go test ./...`
Implementation Notes
We are generating some helper classes on types by using http://clipperhouse.github.io/gen/. Do the following to regenerate these if necessary:
go get github.com/clipperhouse/gen
go get github.com/clipperhouse/set
export PATH=$PATH:$GOPATH/bin # If you haven't already
go generate
Generated Stdlib
To regenerate the standard library, do:
./reset_stdast_go.sh && go run cmd/dumpstdlibast.go
Description
Languages
Go
98.4%
Jsonnet
0.7%
Python
0.3%
C
0.3%
Starlark
0.2%