Route Guide, an example gRPC API based on Protojure, Pedestal & Duct (ported from https://github.com/grpc/grpc/tree/v1.34.0/examples/python/route_guide).
- Java (JDK)
java --version
>= 11
- Leiningen
When you first clone this repository, run:
lein duct setup
This will create files for local configuration, and prep your system for the project.
To begin developing, start with a REPL.
lein repl
With rebel-readline:
$ lein rebel
Then load the development environment.
user=> (dev)
:loaded
Run go
to prep and initiate the system.
dev=> (go)
:initiated
By default this creates a web server at http://localhost:8080.
When you make changes to your source files, use reset
to reload any
modified files and reset the server.
dev=> (reset)
:reloading (...)
:resumed
$ lein uberjar
$ java -jar target/route-guide.jar
Testing is fastest through the REPL, as you avoid environment startup time.
dev=> (test)
...
But you can also run tests through Leiningen.
lein test
with cloverage:
$ lein test-coverage
# Open the coverage report
$ open target/coverage/index.html
$ lein lint
$ make lint
- fixing formatting
$ make cljstyle-fix
API Documentation (Codox)
$ lein codox
$ open target/codox/index.html